diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2018-03-09 11:07:39 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2018-03-09 11:07:39 +0100 |
commit | 31caa091ba19b8216dc7d26cfc47530c860514fa (patch) | |
tree | 5564794d76d86b3c5dfc355821a31f97e70c6be2 /cparser/Cprint.mli | |
parent | d50509fb3a74cae6c5851eeff2b54fba5cfd425c (diff) | |
download | compcert-31caa091ba19b8216dc7d26cfc47530c860514fa.tar.gz compcert-31caa091ba19b8216dc7d26cfc47530c860514fa.zip |
StructPassing: do not transform arguments to annotation built-ins
Make sure struct/union arguments to __builtin_annot and related
builtins are always passed by reference using the default passing mode,
regardless of the ABI for passing struct/unions to "real" functions.
This ensures portability of annotations across ABIs, and avoids mismatches
between the annotation text and the actual number of arguments
(when a struct/union argument is passed as N integer arguments).
A similar special case already existed for __builtin_va_arg.
Diffstat (limited to 'cparser/Cprint.mli')
0 files changed, 0 insertions, 0 deletions