summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-03-17 16:03:44 +0000
committerDouglas Gregor <dgregor@apple.com>2010-03-17 16:03:44 +0000
commit319aa6c4b5a2142da7310ed1b4ccd6e02d3f88ea (patch)
tree5807c6e5ffa7019b0cd602117b1a9a67f0cd89d5 /clang
parent4ad3da2843da1e8c8da6a87548ae8ec393512c23 (diff)
downloadbcm5719-llvm-319aa6c4b5a2142da7310ed1b4ccd6e02d3f88ea.tar.gz
bcm5719-llvm-319aa6c4b5a2142da7310ed1b4ccd6e02d3f88ea.zip
Remove warning about shadowing a built-in; built-ins aren't actually
considered to be a part of the translation unit unless they're named in a way that brings them into existence. llvm-svn: 98729
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Basic/DiagnosticSemaKinds.td3
-rw-r--r--clang/lib/Sema/SemaDecl.cpp10
-rw-r--r--clang/test/Sema/warn-shadow.c2
3 files changed, 3 insertions, 12 deletions
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index b2b4306bfa8..6e19051ce38 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -113,8 +113,7 @@ def warn_decl_shadow :
"local variable|"
"variable in %2|"
"static data member of %2|"
- "field of %2|"
- "global built-in function}1">,
+ "field of %2}1">,
InGroup<Shadow>, DefaultIgnore;
// C++ using declarations
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index f4b9cf4cdeb..d562a52694e 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -2482,16 +2482,8 @@ void Sema::DiagnoseShadow(NamedDecl* D, const LookupResult& R) {
DeclarationName Name = D->getDeclName();
// Return if lookup has no result.
- if (R.getResultKind() != LookupResult::Found) {
- // Emit warning for built-in shadowing.
- if (Name.getAsIdentifierInfo() &&
- Name.getAsIdentifierInfo()->getBuiltinID())
- Diag(D->getLocation(), diag::warn_decl_shadow)
- << Name
- << 4 // global builtin
- << Context.getTranslationUnitDecl();
+ if (R.getResultKind() != LookupResult::Found)
return;
- }
// Return if not variable decl.
NamedDecl* ShadowedDecl = R.getFoundDecl();
diff --git a/clang/test/Sema/warn-shadow.c b/clang/test/Sema/warn-shadow.c
index f75c140be16..dacf66d5920 100644
--- a/clang/test/Sema/warn-shadow.c
+++ b/clang/test/Sema/warn-shadow.c
@@ -16,5 +16,5 @@ void foo() {
}
}
- int __sync_fetch_and_add; // expected-warning {{declaration shadows a global built-in function}}
+ int sin; // okay; 'sin' has not been declared, even though it's a builtin.
}
OpenPOWER on IntegriCloud