diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2023-01-20 16:08:21 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2023-02-01 15:09:02 +0100 |
commit | 14dde0a20c52d7bb35bbdab2bd017be9cdd75522 (patch) | |
tree | a7a10438f1f4ef4496ede86a8c5f2824afff5c77 /driver/Frontend.ml | |
parent | c678903054da11c0b34d9ceb35664d264f840361 (diff) | |
download | compcert-14dde0a20c52d7bb35bbdab2bd017be9cdd75522.tar.gz compcert-14dde0a20c52d7bb35bbdab2bd017be9cdd75522.zip |
Use define for wchar_t type
Since the wchar_t type depends on the architecture and the system we are
compiling for we replace the typedef to a fixed type by a typedef to a
define which is predefined by the compiler itself.
Diffstat (limited to 'driver/Frontend.ml')
-rw-r--r-- | driver/Frontend.ml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/driver/Frontend.ml b/driver/Frontend.ml index c8131662..0e2c392f 100644 --- a/driver/Frontend.ml +++ b/driver/Frontend.ml @@ -51,6 +51,14 @@ let predefined_macros = (* From C to preprocessed C *) +(* We define the type wchar_t since it is dependent on the system and + we want to avoid more ifdefs in the stddef header file. *) +let abi_macros () = + let wchar_typ = Cprint.name_of_ikind (Cutil.wchar_ikind()) in + [ + sprintf "-D__COMPCERT_WCHAR_TYPE__=%s" wchar_typ + ] + let preprocess ifile ofile = Diagnostics.raise_on_errors (); let output = @@ -61,6 +69,7 @@ let preprocess ifile ofile = then ["-std=" ^ !option_std] else []); predefined_macros; + abi_macros (); (if !Clflags.use_standard_headers then ["-I" ^ Filename.concat !Clflags.stdlib_path "include" ] else []); |