]> granicus.if.org Git - clang/commit
When an "inline" declaration was followed by a definition not marked
authorDouglas Gregor <dgregor@apple.com>
Thu, 9 Dec 2010 16:59:22 +0000 (16:59 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 9 Dec 2010 16:59:22 +0000 (16:59 +0000)
commit8f1509446fc51db0473ea1241910c06353a153b8
tree297bb805e1d5121d24c9ce607310768b4e14ad66
parent40e17752086c2c497951d64f5ac6ab5039466113
When an "inline" declaration was followed by a definition not marked
"inline", we weren't giving the definition weak linkage because the
"inline" bit wasn't propagated. This was a longstanding FIXME that,
somehow, hadn't triggered a bug in the wild. Fix this problem by
tracking whether any declaration was marked "inline", and clean up the
semantics of GNU's "extern inline" semantics calculation based on this
change.

Fixes <rdar://problem/8740363>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121373 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Decl.h
lib/AST/Decl.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp
test/CodeGenCXX/inline-functions.cpp