diff options
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 2 | ||||
-rw-r--r-- | clang/test/Sema/private-extern.c | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 6456ee8d9a1..8b7e26de225 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -2488,7 +2488,7 @@ void Sema::AddInitializerToDecl(DeclPtrTy dcl, ExprArg init, bool DirectInit) { } } } else if (VDecl->isFileVarDecl()) { - if (VDecl->hasExternalStorage()) + if (VDecl->getStorageClass() == VarDecl::Extern) Diag(VDecl->getLocation(), diag::warn_extern_init); if (!VDecl->isInvalidDecl()) if (CheckInitializerTypes(Init, DclT, VDecl->getLocation(), diff --git a/clang/test/Sema/private-extern.c b/clang/test/Sema/private-extern.c index f787b7d4884..5dd37f430ef 100644 --- a/clang/test/Sema/private-extern.c +++ b/clang/test/Sema/private-extern.c @@ -85,5 +85,4 @@ extern int g18 = 0; // expected-warning{{'extern' variable has an initializer}} __private_extern__ int g19; int g19 = 0; -// FIXME: linkage specifier in warning. -__private_extern__ int g20 = 0; // expected-warning{{'extern' variable has an initializer}} +__private_extern__ int g20 = 0; |