aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema')
-rw-r--r--lib/Sema/SemaDecl.cpp48
-rw-r--r--lib/Sema/SemaDeclCXX.cpp16
-rw-r--r--lib/Sema/SemaDeclObjC.cpp30
-rw-r--r--lib/Sema/SemaStmt.cpp8
4 files changed, 51 insertions, 51 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index c3b130255b..8ffafadd3e 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -326,7 +326,7 @@ TypedefDecl *Sema::MergeTypeDefDecl(TypedefDecl *New, Decl *OldD) {
if (!Old) {
Diag(New->getLocation(), diag::err_redefinition_different_kind)
<< New->getDeclName();
- Diag(OldD->getLocation(), diag::err_previous_definition);
+ Diag(OldD->getLocation(), diag::note_previous_definition);
return New;
}
@@ -338,7 +338,7 @@ TypedefDecl *Sema::MergeTypeDefDecl(TypedefDecl *New, Decl *OldD) {
Diag(New->getLocation(), diag::err_redefinition_different_typedef)
<< New->getUnderlyingType().getAsString()
<< Old->getUnderlyingType().getAsString();
- Diag(Old->getLocation(), diag::err_previous_definition);
+ Diag(Old->getLocation(), diag::note_previous_definition);
return Old;
}
@@ -365,7 +365,7 @@ TypedefDecl *Sema::MergeTypeDefDecl(TypedefDecl *New, Decl *OldD) {
}
Diag(New->getLocation(), diag::err_redefinition) << New->getDeclName();
- Diag(Old->getLocation(), diag::err_previous_definition);
+ Diag(Old->getLocation(), diag::note_previous_definition);
return New;
}
@@ -419,7 +419,7 @@ Sema::MergeFunctionDecl(FunctionDecl *New, Decl *OldD, bool &Redeclaration) {
if (!Old) {
Diag(New->getLocation(), diag::err_redefinition_different_kind)
<< New->getDeclName();
- Diag(OldD->getLocation(), diag::err_previous_definition);
+ Diag(OldD->getLocation(), diag::note_previous_definition);
return New;
}
@@ -427,11 +427,11 @@ Sema::MergeFunctionDecl(FunctionDecl *New, Decl *OldD, bool &Redeclaration) {
// implicit declaration, or a declaration.
diag::kind PrevDiag;
if (Old->isThisDeclarationADefinition())
- PrevDiag = diag::err_previous_definition;
+ PrevDiag = diag::note_previous_definition;
else if (Old->isImplicit())
- PrevDiag = diag::err_previous_implicit_declaration;
+ PrevDiag = diag::note_previous_implicit_declaration;
else
- PrevDiag = diag::err_previous_declaration;
+ PrevDiag = diag::note_previous_declaration;
QualType OldQType = Context.getCanonicalType(Old->getType());
QualType NewQType = Context.getCanonicalType(New->getType());
@@ -538,7 +538,7 @@ void Sema::CheckForFileScopedRedefinitions(Scope *S, VarDecl *VD) {
VD->getStorageClass() != VarDecl::Extern &&
VD->getStorageClass() != VarDecl::PrivateExtern) {
Diag(VD->getLocation(), diag::err_redefinition) << VD->getDeclName();
- Diag(OldDecl->getLocation(), diag::err_previous_definition);
+ Diag(OldDecl->getLocation(), diag::note_previous_definition);
}
}
}
@@ -558,7 +558,7 @@ VarDecl *Sema::MergeVarDecl(VarDecl *New, Decl *OldD) {
if (!Old) {
Diag(New->getLocation(), diag::err_redefinition_different_kind)
<< New->getDeclName();
- Diag(OldD->getLocation(), diag::err_previous_definition);
+ Diag(OldD->getLocation(), diag::note_previous_definition);
return New;
}
@@ -569,7 +569,7 @@ VarDecl *Sema::MergeVarDecl(VarDecl *New, Decl *OldD) {
QualType NewCType = Context.getCanonicalType(New->getType());
if (OldCType != NewCType && !Context.typesAreCompatible(OldCType, NewCType)) {
Diag(New->getLocation(), diag::err_redefinition) << New->getDeclName();
- Diag(Old->getLocation(), diag::err_previous_definition);
+ Diag(Old->getLocation(), diag::note_previous_definition);
return New;
}
// C99 6.2.2p4: Check if we have a static decl followed by a non-static.
@@ -577,20 +577,20 @@ VarDecl *Sema::MergeVarDecl(VarDecl *New, Decl *OldD) {
(Old->getStorageClass() == VarDecl::None ||
Old->getStorageClass() == VarDecl::Extern)) {
Diag(New->getLocation(), diag::err_static_non_static) << New->getName();
- Diag(Old->getLocation(), diag::err_previous_definition);
+ Diag(Old->getLocation(), diag::note_previous_definition);
return New;
}
// C99 6.2.2p4: Check if we have a non-static decl followed by a static.
if (New->getStorageClass() != VarDecl::Static &&
Old->getStorageClass() == VarDecl::Static) {
Diag(New->getLocation(), diag::err_non_static_static) << New->getName();
- Diag(Old->getLocation(), diag::err_previous_definition);
+ Diag(Old->getLocation(), diag::note_previous_definition);
return New;
}
// Variables with external linkage are analyzed in FinalizeDeclaratorGroup.
if (New->getStorageClass() != VarDecl::Extern && !New->isFileVarDecl()) {
Diag(New->getLocation(), diag::err_redefinition) << New->getDeclName();
- Diag(Old->getLocation(), diag::err_previous_definition);
+ Diag(Old->getLocation(), diag::note_previous_definition);
}
return New;
}
@@ -2076,7 +2076,7 @@ Sema::DeclTy *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, DeclTy *D) {
const FunctionDecl *Definition;
if (FD->getBody(Definition)) {
Diag(FD->getLocation(), diag::err_redefinition) << FD->getDeclName();
- Diag(Definition->getLocation(), diag::err_previous_definition);
+ Diag(Definition->getLocation(), diag::note_previous_definition);
}
PushDeclContext(FD);
@@ -2257,7 +2257,7 @@ Sema::DeclTy *Sema::ActOnTag(Scope *S, unsigned TagType, TagKind TK,
// struct or something similar.
if (PrevTagDecl->getTagKind() != Kind) {
Diag(KWLoc, diag::err_use_with_wrong_tag) << Name;
- Diag(PrevDecl->getLocation(), diag::err_previous_use);
+ Diag(PrevDecl->getLocation(), diag::note_previous_use);
// Recover by making this an anonymous redefinition.
Name = 0;
PrevDecl = 0;
@@ -2269,7 +2269,7 @@ Sema::DeclTy *Sema::ActOnTag(Scope *S, unsigned TagType, TagKind TK,
// Diagnose attempts to redefine a tag.
if (PrevTagDecl->isDefinition()) {
Diag(NameLoc, diag::err_redefinition) << Name;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
// If this is a redefinition, recover by making this struct be
// anonymous, which will make any later references get the previous
// definition.
@@ -2291,7 +2291,7 @@ Sema::DeclTy *Sema::ActOnTag(Scope *S, unsigned TagType, TagKind TK,
// The tag name clashes with a namespace name, issue an error and
// recover by making this tag be anonymous.
Diag(NameLoc, diag::err_redefinition_different_kind) << Name;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
Name = 0;
}
}
@@ -2394,7 +2394,7 @@ Sema::DeclTy *Sema::ActOnTagStruct(Scope *S, TagDecl::TagKind Kind, TagKind TK,
// struct or something similar.
if (PrevTagDecl->getTagKind() != Kind) {
Diag(KWLoc, diag::err_use_with_wrong_tag) << Name;
- Diag(PrevDecl->getLocation(), diag::err_previous_use);
+ Diag(PrevDecl->getLocation(), diag::note_previous_use);
// Recover by making this an anonymous redefinition.
Name = 0;
PrevDecl = 0;
@@ -2414,7 +2414,7 @@ Sema::DeclTy *Sema::ActOnTagStruct(Scope *S, TagDecl::TagKind Kind, TagKind TK,
if (RecordDecl* DefRecord =
cast<RecordDecl>(PrevTagDecl)->getDefinition(Context)) {
Diag(NameLoc, diag::err_redefinition) << Name;
- Diag(DefRecord->getLocation(), diag::err_previous_definition);
+ Diag(DefRecord->getLocation(), diag::note_previous_definition);
// If this is a redefinition, recover by making this struct be
// anonymous, which will make any later references get the previous
// definition.
@@ -2441,7 +2441,7 @@ Sema::DeclTy *Sema::ActOnTagStruct(Scope *S, TagDecl::TagKind Kind, TagKind TK,
// The tag name clashes with a namespace name, issue an error and
// recover by making this tag be anonymous.
Diag(NameLoc, diag::err_redefinition_different_kind) << Name;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
Name = 0;
}
}
@@ -2717,7 +2717,7 @@ void Sema::ActOnFields(Scope* S,
// outer S.
Diag(DefRecord->getLocation(), diag::err_nested_redefinition)
<< DefRecord->getKindName();
- Diag(RecLoc, diag::err_previous_definition);
+ Diag(RecLoc, diag::note_previous_definition);
Record->setInvalidDecl();
return;
}
@@ -2822,7 +2822,7 @@ void Sema::ActOnFields(Scope* S,
break;
}
}
- Diag(PrevLoc, diag::err_previous_definition);
+ Diag(PrevLoc, diag::note_previous_definition);
FD->setInvalidDecl();
EnclosingDecl->setInvalidDecl();
continue;
@@ -2880,7 +2880,7 @@ Sema::DeclTy *Sema::ActOnEnumConstant(Scope *S, DeclTy *theEnumDecl,
Diag(IdLoc, diag::err_redefinition_of_enumerator) << Id;
else
Diag(IdLoc, diag::err_redefinition) << Id;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
delete Val;
return 0;
}
@@ -2943,7 +2943,7 @@ void Sema::ActOnEnumBody(SourceLocation EnumLoc, DeclTy *EnumDeclX,
// E0 = sizeof(enum e0 { E1 })
// };
Diag(Enum->getLocation(), diag::err_nested_redefinition) << Enum->getName();
- Diag(EnumLoc, diag::err_previous_definition);
+ Diag(EnumLoc, diag::note_previous_definition);
Enum->setInvalidDecl();
return;
}
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index a92ad9582e..d9f3bc652e 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -197,7 +197,7 @@ Sema::MergeCXXFunctionDecl(FunctionDecl *New, FunctionDecl *Old) {
Diag(NewParam->getLocation(),
diag::err_param_default_argument_redefinition)
<< NewParam->getDefaultArg()->getSourceRange();
- Diag(OldParam->getLocation(), diag::err_previous_definition);
+ Diag(OldParam->getLocation(), diag::note_previous_definition);
} else if (OldParam->getDefaultArg()) {
// Merge the old default argument into the new parameter
NewParam->setDefaultArg(OldParam->getDefaultArg());
@@ -1112,7 +1112,7 @@ Sema::DeclTy *Sema::ActOnConstructorDeclarator(CXXConstructorDecl *ConDecl) {
if (!IsOverload(ConDecl, ClassDecl->getConstructors(), MatchedDecl)) {
Diag(ConDecl->getLocation(), diag::err_constructor_redeclared)
<< SourceRange(ConDecl->getLocation());
- Diag((*MatchedDecl)->getLocation(), diag::err_previous_declaration)
+ Diag((*MatchedDecl)->getLocation(), diag::note_previous_declaration)
<< SourceRange((*MatchedDecl)->getLocation());
ConDecl->setInvalidDecl();
return ConDecl;
@@ -1157,9 +1157,9 @@ Sema::DeclTy *Sema::ActOnDestructorDeclarator(CXXDestructorDecl *Destructor) {
if (CXXDestructorDecl *PrevDestructor = ClassDecl->getDestructor()) {
Diag(Destructor->getLocation(), diag::err_destructor_redeclared);
Diag(PrevDestructor->getLocation(),
- PrevDestructor->isThisDeclarationADefinition()?
- diag::err_previous_definition
- : diag::err_previous_declaration);
+ PrevDestructor->isThisDeclarationADefinition() ?
+ diag::note_previous_definition
+ : diag::note_previous_declaration);
Destructor->setInvalidDecl();
return Destructor;
}
@@ -1188,8 +1188,8 @@ Sema::DeclTy *Sema::ActOnConversionDeclarator(CXXConversionDecl *Conversion) {
Diag(Conversion->getLocation(), diag::err_conv_function_redeclared);
Diag(OtherConv->getLocation(),
OtherConv->isThisDeclarationADefinition()?
- diag::err_previous_definition
- : diag::err_previous_declaration);
+ diag::note_previous_definition
+ : diag::note_previous_declaration);
Conversion->setInvalidDecl();
return (DeclTy *)Conversion;
}
@@ -1272,7 +1272,7 @@ Sema::DeclTy *Sema::ActOnStartNamespaceDef(Scope *NamespcScope,
// This is an invalid name redefinition.
Diag(Namespc->getLocation(), diag::err_redefinition_different_kind)
<< Namespc->getDeclName();
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
Namespc->setInvalidDecl();
// Continue on to push Namespc as current DeclContext and return it.
}
diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp
index c030a370e4..7a7b3767b8 100644
--- a/lib/Sema/SemaDeclObjC.cpp
+++ b/lib/Sema/SemaDeclObjC.cpp
@@ -68,7 +68,7 @@ ActOnStartClassInterface(SourceLocation AtInterfaceLoc,
Decl *PrevDecl = LookupDecl(ClassName, Decl::IDNS_Ordinary, TUScope);
if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
Diag(ClassLoc, diag::err_redefinition_different_kind) << ClassName;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
}
ObjCInterfaceDecl* IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
@@ -102,7 +102,7 @@ ActOnStartClassInterface(SourceLocation AtInterfaceLoc,
PrevDecl = LookupDecl(SuperName, Decl::IDNS_Ordinary, TUScope);
if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
Diag(SuperLoc, diag::err_redefinition_different_kind) << SuperName;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
}
else {
// Check that super class is previously defined
@@ -149,7 +149,7 @@ Sema::DeclTy *Sema::ActOnCompatiblityAlias(SourceLocation AtLoc,
}
else {
Diag(AliasLocation, diag::err_conflicting_aliasing_type) << AliasName;
- Diag(ADecl->getLocation(), diag::err_previous_declaration);
+ Diag(ADecl->getLocation(), diag::note_previous_declaration);
}
return 0;
}
@@ -458,7 +458,7 @@ Sema::DeclTy *Sema::ActOnStartClassImplementation(
Decl *PrevDecl = LookupDecl(ClassName, Decl::IDNS_Ordinary, TUScope);
if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
Diag(ClassLoc, diag::err_redefinition_different_kind) << ClassName;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
}
else {
// Is there an interface declaration of this class; if not, warn!
@@ -475,7 +475,7 @@ Sema::DeclTy *Sema::ActOnStartClassImplementation(
if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
Diag(SuperClassLoc, diag::err_redefinition_different_kind)
<< SuperClassname;
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
} else {
SDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
if (!SDecl)
@@ -486,7 +486,7 @@ Sema::DeclTy *Sema::ActOnStartClassImplementation(
// super class.
Diag(SuperClassLoc, diag::err_conflicting_super_class)
<< SDecl->getDeclName();
- Diag(SDecl->getLocation(), diag::err_previous_definition);
+ Diag(SDecl->getLocation(), diag::note_previous_definition);
}
}
}
@@ -559,14 +559,14 @@ void Sema::CheckImplementationIvars(ObjCImplementationDecl *ImpDecl,
Diag(ImplIvar->getLocation(), diag::err_conflicting_ivar_type)
<< ImplIvar->getIdentifier()
<< ImplIvar->getType() << ClsIvar->getType();
- Diag(ClsIvar->getLocation(), diag::err_previous_definition);
+ Diag(ClsIvar->getLocation(), diag::note_previous_definition);
}
// TODO: Two mismatched (unequal width) Ivar bitfields should be diagnosed
// as error.
else if (ImplIvar->getIdentifier() != ClsIvar->getIdentifier()) {
Diag(ImplIvar->getLocation(), diag::err_conflicting_ivar_name)
<< ImplIvar->getIdentifier() << ClsIvar->getIdentifier();
- Diag(ClsIvar->getLocation(), diag::err_previous_definition);
+ Diag(ClsIvar->getLocation(), diag::note_previous_definition);
return;
}
--numIvars;
@@ -728,7 +728,7 @@ Sema::ActOnForwardClassDeclaration(SourceLocation AtClassLoc,
TypedefDecl *TDD = dyn_cast<TypedefDecl>(PrevDecl);
if (!TDD || !isa<ObjCInterfaceType>(TDD->getUnderlyingType())) {
Diag(AtClassLoc, diag::err_redefinition_different_kind) << IdentList[i];
- Diag(PrevDecl->getLocation(), diag::err_previous_definition);
+ Diag(PrevDecl->getLocation(), diag::note_previous_definition);
}
}
ObjCInterfaceDecl *IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
@@ -907,9 +907,9 @@ void Sema::ActOnAtEnd(SourceLocation AtEndLoc, DeclTy *classDecl,
: false;
if (isInterfaceDeclKind && PrevMethod && !match
|| checkIdenticalMethods && match) {
- Diag(Method->getLocation(), diag::error_duplicate_method_decl)
+ Diag(Method->getLocation(), diag::err_duplicate_method_decl)
<< Method->getSelector().getName();
- Diag(PrevMethod->getLocation(), diag::err_previous_declaration);
+ Diag(PrevMethod->getLocation(), diag::note_previous_declaration);
} else {
insMethods.push_back(Method);
InsMap[Method->getSelector()] = Method;
@@ -924,9 +924,9 @@ void Sema::ActOnAtEnd(SourceLocation AtEndLoc, DeclTy *classDecl,
: false;
if (isInterfaceDeclKind && PrevMethod && !match
|| checkIdenticalMethods && match) {
- Diag(Method->getLocation(), diag::error_duplicate_method_decl)
+ Diag(Method->getLocation(), diag::err_duplicate_method_decl)
<< Method->getSelector().getName();
- Diag(PrevMethod->getLocation(), diag::err_previous_declaration);
+ Diag(PrevMethod->getLocation(), diag::note_previous_declaration);
} else {
clsMethods.push_back(Method);
ClsMap[Method->getSelector()] = Method;
@@ -1117,9 +1117,9 @@ Sema::DeclTy *Sema::ActOnMethodDeclaration(
}
if (PrevMethod) {
// You can never have two method definitions with the same name.
- Diag(ObjCMethod->getLocation(), diag::error_duplicate_method_decl)
+ Diag(ObjCMethod->getLocation(), diag::err_duplicate_method_decl)
<< ObjCMethod->getSelector().getName();
- Diag(PrevMethod->getLocation(), diag::err_previous_declaration);
+ Diag(PrevMethod->getLocation(), diag::note_previous_declaration);
}
return ObjCMethod;
}
diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp
index 204d161f56..8cd223fc39 100644
--- a/lib/Sema/SemaStmt.cpp
+++ b/lib/Sema/SemaStmt.cpp
@@ -195,7 +195,7 @@ Sema::ActOnLabelStmt(SourceLocation IdentLoc, IdentifierInfo *II,
// multiply defined, reject it now.
if (LabelDecl->getSubStmt()) {
Diag(IdentLoc, diag::err_redefinition_of_label) << LabelDecl->getID();
- Diag(LabelDecl->getIdentLoc(), diag::err_previous_definition);
+ Diag(LabelDecl->getIdentLoc(), diag::note_previous_definition);
return SubStmt;
}
@@ -390,7 +390,7 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, StmtTy *Switch,
if (DefaultStmt *DS = dyn_cast<DefaultStmt>(SC)) {
if (TheDefaultStmt) {
Diag(DS->getDefaultLoc(), diag::err_multiple_default_labels_defined);
- Diag(TheDefaultStmt->getDefaultLoc(), diag::err_first_label);
+ Diag(TheDefaultStmt->getDefaultLoc(), diag::note_duplicate_case_prev);
// FIXME: Remove the default statement from the switch block so that
// we'll return a valid AST. This requires recursing down the
@@ -436,7 +436,7 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, StmtTy *Switch,
Diag(CaseVals[i+1].second->getLHS()->getLocStart(),
diag::err_duplicate_case) << CaseVals[i].first.toString(10);
Diag(CaseVals[i].second->getLHS()->getLocStart(),
- diag::err_duplicate_case_prev);
+ diag::note_duplicate_case_prev);
// FIXME: We really want to remove the bogus case stmt from the substmt,
// but we have no way to do this right now.
CaseListIsErroneous = true;
@@ -520,7 +520,7 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, StmtTy *Switch,
Diag(CR->getLHS()->getLocStart(), diag::err_duplicate_case)
<< OverlapVal.toString(10);
Diag(OverlapStmt->getLHS()->getLocStart(),
- diag::err_duplicate_case_prev);
+ diag::note_duplicate_case_prev);
// FIXME: We really want to remove the bogus case stmt from the substmt,
// but we have no way to do this right now.
CaseListIsErroneous = true;