aboutsummaryrefslogtreecommitdiff
path: root/lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp
diff options
context:
space:
mode:
authorMark Seaborn <mseaborn@chromium.org>2013-06-14 17:02:39 -0700
committerMark Seaborn <mseaborn@chromium.org>2013-06-14 17:02:39 -0700
commit8dd5d093f3f298dd140256c56248bb18e4ac8295 (patch)
treed1db369774fcdfa50fd6bee892f12e1314ae482b /lib/Bitcode/NaCl/Writer/NaClBitcodeWriter.cpp
parent263d9c76d6975df0a864396919c326063380f75e (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