diff options
author | Mark Seaborn <mseaborn@chromium.org> | 2013-06-14 17:02:39 -0700 |
---|---|---|
committer | Mark Seaborn <mseaborn@chromium.org> | 2013-06-14 17:02:39 -0700 |
commit | 8dd5d093f3f298dd140256c56248bb18e4ac8295 (patch) | |
tree | d1db369774fcdfa50fd6bee892f12e1314ae482b /lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp | |
parent | 263d9c76d6975df0a864396919c326063380f75e (diff) |
PNaCl ABI: Disallow the "available_externally" linkage type
"define available_externally void @foo()" would mean that the
definition of foo() can be dropped from the pexe, because a definition
of foo() can be found in an external native library. This is not
something we support for a PNaCl pexe.
Clang generates "available_externally" for non-static inline function
definitions at -O1, but not at -O0, and generally not at -O2 either
because inlining removes the "available_externally" definition.
"available_externally" gets removed at bitcode link time, so we can
disallow it in the ABI checker without any further work required.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3495
TEST=*.ll tests + PNaCl toolchain trybots
Review URL: https://codereview.chromium.org/17035015
Diffstat (limited to 'lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions