diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-05-17 11:37:39 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-05-17 11:37:39 +0000 |
commit | a3f1744823d6dbeaf400812de86263fb615bbbba (patch) | |
tree | ff1ed0a68fe2dceb19bb768cec89912344ea1ef6 /driver/Driver.ml | |
parent | 61f6aed04b846b174126d4b1cec28f6f1da20e52 (diff) | |
download | compcert-a3f1744823d6dbeaf400812de86263fb615bbbba.tar.gz compcert-a3f1744823d6dbeaf400812de86263fb615bbbba.zip |
Add option -fno-tailcalls to turn off tailcall elimination (causes problem with some static analysis tools).
*/PrintAsm.ml: don't cfa_adjust at Pfreeframe, as more code from the function can appear after (in case of tailcalls).
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2256 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'driver/Driver.ml')
-rw-r--r-- | driver/Driver.ml | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/driver/Driver.ml b/driver/Driver.ml index 3d981f04..0e54ad9a 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -392,6 +392,7 @@ Code generation options: (use -fno-<opt> to turn off -f<opt>) : -fsmall-const <n> Set maximal size <n> for allocation in small constant area -ffloat-const-prop <n> Control constant propagation of floats (<n>=0: none, <n>=1: limited, <n>=2: full; default is full) + -ftailcalls Optimize function calls in tail position [on] -falign-functions <n> Set alignment (in bytes) of function entry points -falign-branch-targets <n> Set alignment (in bytes) of branch targets -falign-cond-branches <n> Set alignment (in bytes) of conditional branches @@ -500,6 +501,7 @@ let cmdline_actions = "-fnone$", Self (fun _ -> List.iter (fun r -> r := false) language_support_options); ] + @ f_opt "tailcalls" option_ftailcalls @ f_opt "longdouble" option_flongdouble @ f_opt "struct-return" option_fstruct_return @ f_opt "bitfields" option_fbitfields |