diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-23 15:13:50 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-23 15:13:50 -0800 |
commit | 958ec8caa21fd16e40fbb365cc77afac7db17739 (patch) | |
tree | 94cf89c387c80353f5589071e9b13bc1d8d6f10b /gcc | |
parent | 7d429c41c5953f4481145c3eb4fe3914d805fd84 (diff) | |
download | gcc-958ec8caa21fd16e40fbb365cc77afac7db17739.zip gcc-958ec8caa21fd16e40fbb365cc77afac7db17739.tar.gz gcc-958ec8caa21fd16e40fbb365cc77afac7db17739.tar.bz2 |
(DEFAULT_PCC_STRUCT_RETURN): Add default definition of 1.
(flag_pcc_struct_return): Default to DEFAULT_PCC_STRUCT_RETURN.
(f_options): Add -freg-struct-return flag.
From-SVN: r3860
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/toplev.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index d75673c..3ac6132 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -271,9 +271,18 @@ int flag_caller_saves = 1; int flag_caller_saves = 0; #endif +/* Nonzero if structures and unions should be returned in memory. + + This should only be defined if compatibility with another compiler or + with an ABI is needed, because it results in slower code. */ + +#ifndef DEFAULT_PCC_STRUCT_RETURN +#define DEFAULT_PCC_STRUCT_RETURN 1 +#endif + /* Nonzero for -fpcc-struct-return: return values the same way PCC does. */ -int flag_pcc_struct_return = 0; +int flag_pcc_struct_return = DEFAULT_PCC_STRUCT_RETURN; /* Nonzero for -fforce-mem: load memory value into a register before arithmetic on it. This makes better cse but slower compilation. */ @@ -492,6 +501,7 @@ struct { char *string; int *variable; int on_value;} f_options[] = {"shared-data", &flag_shared_data, 1}, {"caller-saves", &flag_caller_saves, 1}, {"pcc-struct-return", &flag_pcc_struct_return, 1}, + {"reg-struct-return", &flag_pcc_struct_return, 0}, {"delayed-branch", &flag_delayed_branch, 1}, {"rerun-cse-after-loop", &flag_rerun_cse_after_loop, 1}, {"pretend-float", &flag_pretend_float, 1}, |