From: Chris Lattner Date: Sat, 12 Jan 2008 07:08:43 +0000 (+0000) Subject: Fix a fixme, by only parsing extern "C" in C++ mode. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3c6f6a7a1bb9969112617a26d2333bab2f6efd65;p=clang Fix a fixme, by only parsing extern "C" in C++ mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45905 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Parse/Parser.cpp b/Parse/Parser.cpp index eeced570bb..6f2a71257a 100644 --- a/Parse/Parser.cpp +++ b/Parse/Parser.cpp @@ -389,8 +389,7 @@ Parser::DeclTy *Parser::ParseDeclarationOrFunctionDefinition() { // If the declspec consisted only of 'extern' and we have a string // literal following it, this must be a C++ linkage specifier like // 'extern "C"'. - // FIXME: This should be limited to just C++/ObjectiveC++ - if (Tok.is(tok::string_literal) && + if (Tok.is(tok::string_literal) && getLang().CPlusPlus && DS.getStorageClassSpec() == DeclSpec::SCS_extern && DS.getParsedSpecifiers() == DeclSpec::PQ_StorageClassSpecifier) return ParseLinkage(Declarator::FileContext);