aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/NaCl/PNaClABIVerifyModule.cpp
diff options
context:
space:
mode:
authorMark Seaborn <mseaborn@chromium.org>2013-03-27 13:28:15 -0700
committerMark Seaborn <mseaborn@chromium.org>2013-03-27 13:28:15 -0700
commit66afec2f1d3ebc1909f4acfea836cc4e0332dbce (patch)
treedf9b4ab110a4d1921c58800d0a656194f2241f1a /lib/Analysis/NaCl/PNaClABIVerifyModule.cpp
parent9c7984ea3134c4f7f425bb2e01a5ee8540829fd9 (diff)
PNaCl: Fix ExpandVarArgs to handle "byval" struct arguments properly
* Ensure that the "byval" attribute is preserved for the fixed arguments. Before, it was stripped off from function calls but left in for function definitions, which broke passing struct arguments (which PNaCl Clang generates as "byval"). * Ensure that function and return attributes are preserved too. * Handle "byval" variable arguments in calls too by dereferencing the pointer. These are not yet usable with PNaCl Clang, which does not allow va_arg on structs (see https://code.google.com/p/nativeclient/issues/detail?id=2381), but we might as well make this pass ready to handle this. BUG=https://code.google.com/p/nativeclient/issues/detail?id=3338 TEST=test/Transforms/NaCl/expand-varargs*.ll Review URL: https://codereview.chromium.org/13100002
Diffstat (limited to 'lib/Analysis/NaCl/PNaClABIVerifyModule.cpp')
0 files changed, 0 insertions, 0 deletions