diff options
author | Bill Schmidt <wschmidt@linux.ibm.com> | 2021-03-04 19:54:00 -0600 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.ibm.com> | 2021-08-30 14:58:25 -0500 |
commit | b5bc39317bf4da1d51cb6eccf8afcacc90514602 (patch) | |
tree | 1aebc7d40350da6153fad93722ae1f9cc1c3cd47 | |
parent | a6fe949d570f1957aa1caba572e20f2c0760f89a (diff) | |
download | gcc-b5bc39317bf4da1d51cb6eccf8afcacc90514602.zip gcc-b5bc39317bf4da1d51cb6eccf8afcacc90514602.tar.gz gcc-b5bc39317bf4da1d51cb6eccf8afcacc90514602.tar.bz2 |
rs6000: Darwin builtin support
2021-03-04 Bill Schmidt <wschmidt@linux.ibm.com>
gcc/
* config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Use the new
decl when new_builtins_are_live.
* config/rs6000/rs6000-builtin-new.def (__builtin_cfstring): New
built-in.
-rw-r--r-- | gcc/config/rs6000/darwin.h | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-builtin-new.def | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index 42f39e6..6abf8e8 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -504,8 +504,12 @@ #define SUBTARGET_INIT_BUILTINS \ do { \ darwin_patch_builtins (); \ - rs6000_builtin_decls[(unsigned) (RS6000_BUILTIN_CFSTRING)] \ - = darwin_init_cfstring_builtins ((unsigned) (RS6000_BUILTIN_CFSTRING)); \ + if (new_builtins_are_live) \ + rs6000_builtin_decls_x[(unsigned) (RS6000_BIF_CFSTRING)] \ + = darwin_init_cfstring_builtins ((unsigned) (RS6000_BIF_CFSTRING)); \ + else \ + rs6000_builtin_decls[(unsigned) (RS6000_BUILTIN_CFSTRING)] \ + = darwin_init_cfstring_builtins ((unsigned) (RS6000_BUILTIN_CFSTRING)); \ } while(0) /* So far, there is no rs6000_fold_builtin, if one is introduced, then diff --git a/gcc/config/rs6000/rs6000-builtin-new.def b/gcc/config/rs6000/rs6000-builtin-new.def index 3e732ce..6a28d51 100644 --- a/gcc/config/rs6000/rs6000-builtin-new.def +++ b/gcc/config/rs6000/rs6000-builtin-new.def @@ -187,6 +187,12 @@ ; Builtins that have been around since time immemorial or are just ; considered available everywhere. [always] +; __builtin_cfstring is for Darwin, which will replace the decl we +; create here with another one during subtarget processing. We just +; need to ensure it has a slot in the builtin enumeration. + void __builtin_cfstring (); + CFSTRING nothing {} + void __builtin_cpu_init (); CPU_INIT nothing {cpu} |