summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/MicrosoftCXXABI.cpp
diff options
context:
space:
mode:
authorNick Desaulniers <ndesaulniers@google.com>2019-09-12 19:53:35 +0000
committerNick Desaulniers <ndesaulniers@google.com>2019-09-12 19:53:35 +0000
commit5806022904bc447525a02cff796c9bbbd02b0444 (patch)
tree4131990ad2bf1893ec4d8e501a83c8103189c7dc /clang/lib/CodeGen/MicrosoftCXXABI.cpp
parentf174670efaa3cc20faf5ba8e40ceab7cee8f0f24 (diff)
downloadbcm5719-llvm-5806022904bc447525a02cff796c9bbbd02b0444.tar.gz
bcm5719-llvm-5806022904bc447525a02cff796c9bbbd02b0444.zip
[Clang][CodeGen] support alias attribute w/ gnu_inline
Summary: r369705 did not consider the addition of gnu_inline on function declarations of alias attributed functions. This resulted in a reported regression in the clang-9-rc4 release from the Zig developers building glibc, which was observable as a failed assertion: llvm-project/clang/lib/AST/Decl.cpp:3336: bool clang::FunctionDecl::isInlineDefinitionExternallyVisible() const: Assertion `(doesThisDeclarationHaveABody() || willHaveBody()) && "Must be a function definition"' failed. Alias function declarations do not have bodies, so allow us to proceed if we have the alias function attribute but no body/definition, and add a test case. The emitted symbols and their linkage matches GCC for the added test case. Link: https://bugs.llvm.org/show_bug.cgi?id=43268 Reviewers: aaron.ballman, rsmith, erichkeane, andrewrk Reviewed By: andrewrk Subscribers: cfe-commits, andrewrk, hans, srhines Tags: #clang Differential Revision: https://reviews.llvm.org/D67455 llvm-svn: 371766
Diffstat (limited to 'clang/lib/CodeGen/MicrosoftCXXABI.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud