summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-12-28 10:20:50 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-12-28 10:20:50 +0000
commitc167c00901b85bd4e66447958a10df612d17ea00 (patch)
tree2533c4f8dcee125537f149a0c6a2d885ef35c24b /driver
parentde0ae111b043a473d78b510364d9447cf54fed27 (diff)
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.ml1
-rw-r--r--driver/Driver.ml8
2 files changed, 6 insertions, 3 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml
index 4f41bf6..4d6e3f6 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 44037b2..d5b99d4 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