diff options
Diffstat (limited to 'gcc/config/i370')
-rw-r--r-- | gcc/config/i370/i370-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/i370/i370.c | 12 | ||||
-rw-r--r-- | gcc/config/i370/i370.h | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/i370/i370-protos.h b/gcc/config/i370/i370-protos.h index 8ca7ca6..a3f4acd 100644 --- a/gcc/config/i370/i370-protos.h +++ b/gcc/config/i370/i370-protos.h @@ -24,6 +24,8 @@ Boston, MA 02111-1307, USA. */ #ifndef GCC_I370_PROTOS_H #define GCC_I370_PROTOS_H +extern void override_options PARAMS ((void)); + #ifdef RTX_CODE extern int i370_branch_dest PARAMS ((rtx)); extern int i370_branch_length PARAMS ((rtx)); diff --git a/gcc/config/i370/i370.c b/gcc/config/i370/i370.c index 92d2795..b4474db 100644 --- a/gcc/config/i370/i370.c +++ b/gcc/config/i370/i370.c @@ -315,6 +315,18 @@ static const unsigned char ebcasc[256] = struct gcc_target targetm = TARGET_INITIALIZER; +/* Set global variables as needed for the options enabled. */ + +void +override_options () +{ + /* We're 370 floating point, not IEEE floating point. */ + memset (real_format_for_mode, 0, sizeof real_format_for_mode); + real_format_for_mode[SFmode - QFmode] = &i370_single_format; + real_format_for_mode[DFmode - QFmode] = &i370_double_format; +} + + /* Map characters from one character set to another. C is the character to be translated. */ diff --git a/gcc/config/i370/i370.h b/gcc/config/i370/i370.h index d4c2939..a2aff67 100644 --- a/gcc/config/i370/i370.h +++ b/gcc/config/i370/i370.h @@ -76,6 +76,8 @@ extern int mvs_function_name_length; { "no-char-instructions", -1, N_("Do not generate char instructions")}, \ { "", TARGET_DEFAULT, 0} } +#define OVERRIDE_OPTIONS override_options () + /* To use IBM supplied macro function prologue and epilogue, define the following to 1. Should only be needed if IBM changes the definition of their prologue and epilogue. */ |