diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-12-28 10:20:50 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-12-28 10:20:50 +0000 |
commit | c167c00901b85bd4e66447958a10df612d17ea00 (patch) | |
tree | 2533c4f8dcee125537f149a0c6a2d885ef35c24b /driver | |
parent | de0ae111b043a473d78b510364d9447cf54fed27 (diff) | |
download | compcert-c167c00901b85bd4e66447958a10df612d17ea00.tar.gz compcert-c167c00901b85bd4e66447958a10df612d17ea00.zip |
More tolerance for functions declared without a prototype
(option -funprototyped, on by default).
Error if call to vararg function and -fvararg-calls is off.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2389 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'driver')
-rw-r--r-- | driver/Clflags.ml | 1 | ||||
-rw-r--r-- | driver/Driver.ml | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 4f41bf67..4d6e3f63 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -19,6 +19,7 @@ let option_flongdouble = ref false let option_fstruct_return = ref false let option_fbitfields = ref false let option_fvararg_calls = ref true +let option_funprototyped = ref true let option_fpacked_structs = ref false let option_ffpu = ref true let option_ffloatconstprop = ref 2 diff --git a/driver/Driver.ml b/driver/Driver.ml index 44037b23..d5b99d4d 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -399,7 +399,8 @@ Language support options (use -fno-<opt> to turn off -f<opt>) : -fbitfields Emulate bit fields in structs [off] -flongdouble Treat 'long double' as 'double' [off] -fstruct-return Emulate returning structs and unions by value [off] - -fvararg-calls Emulate calls to variable-argument functions [on] + -fvararg-calls Support calls to variable-argument functions [on] + -funprototyped Support calls to old-style functions without prototypes [on] -fpacked-structs Emulate packed structs [off] -finline-asm Support inline 'asm' statements [off] -fall Activate all language support options above @@ -448,8 +449,8 @@ Interpreter mode: let language_support_options = [ option_fbitfields; option_flongdouble; - option_fstruct_return; option_fvararg_calls; option_fpacked_structs; - option_finline_asm + option_fstruct_return; option_fvararg_calls; option_funprototyped; + option_fpacked_structs; option_finline_asm ] let num_source_files = ref 0 @@ -526,6 +527,7 @@ let cmdline_actions = @ f_opt "struct-return" option_fstruct_return @ f_opt "bitfields" option_fbitfields @ f_opt "vararg-calls" option_fvararg_calls + @ f_opt "unprototyped" option_funprototyped @ f_opt "packed-structs" option_fpacked_structs @ f_opt "inline-asm" option_finline_asm @ f_opt "fpu" option_ffpu |