RISC-V: Define __riscv_cmodel_medany for PIC mode.
authorKito Cheng <kito.cheng@sifive.com>
Fri, 25 Sep 2020 02:57:16 +0000 (10:57 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Tue, 29 Sep 2020 08:59:14 +0000 (16:59 +0800)
 - According the conclusion in RISC-V C API document, we decide to deprecat
   the __riscv_cmodel_pic marco

 - __riscv_cmodel_pic is deprecated and will removed in next GCC
   release.

[1] https://github.com/riscv/riscv-c-api-doc/pull/11

gcc/ChangeLog:

* config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): Define
__riscv_cmodel_medany when PIC mode.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/predef-3.c: Update testcase.
* gcc.target/riscv/predef-6.c: Ditto.

gcc/config/riscv/riscv-c.c
gcc/testsuite/gcc.target/riscv/predef-3.c
gcc/testsuite/gcc.target/riscv/predef-6.c

index 735f2f2f513fc4681ef2328b364c356928900804..c600badb313b73bc6a08c026c0f10016138f4a8e 100644 (file)
@@ -90,12 +90,15 @@ riscv_cpu_cpp_builtins (cpp_reader *pfile)
       builtin_define ("__riscv_cmodel_medlow");
       break;
 
+    case CM_PIC:
+      /* __riscv_cmodel_pic is deprecated, and will removed in next GCC release.
+        see https://github.com/riscv/riscv-c-api-doc/pull/11  */
+      builtin_define ("__riscv_cmodel_pic");
+      /* FALLTHROUGH. */
+
     case CM_MEDANY:
       builtin_define ("__riscv_cmodel_medany");
       break;
 
-    case CM_PIC:
-      builtin_define ("__riscv_cmodel_pic");
-      break;
     }
 }
index 6f4f2e219941d42fc096df746b943dfc057bcfe7..d7c9793b3d7ccc2945a1158fcc789b2d4b4325c9 100644 (file)
@@ -55,11 +55,11 @@ int main () {
 #if defined(__riscv_cmodel_medlow)
 #error "__riscv_cmodel_medlow"
 #endif
-#if defined(__riscv_cmodel_medany)
-#error "__riscv_cmodel_medlow"
+#if !defined(__riscv_cmodel_medany)
+#error "__riscv_cmodel_medany"
 #endif
 #if !defined(__riscv_cmodel_pic)
-#error "__riscv_cmodel_medlow"
+#error "__riscv_cmodel_pic"
 #endif
 
   return 0;
index ee4e02bcb63ea82caf6986a5c57c9bb5918c2137..7530f9598aeb9054a20e6405bfa7e71def4e2ec3 100644 (file)
@@ -55,11 +55,11 @@ int main () {
 #if defined(__riscv_cmodel_medlow)
 #error "__riscv_cmodel_medlow"
 #endif
-#if defined(__riscv_cmodel_medany)
-#error "__riscv_cmodel_medlow"
+#if !defined(__riscv_cmodel_medany)
+#error "__riscv_cmodel_medany"
 #endif
 #if !defined(__riscv_cmodel_pic)
-#error "__riscv_cmodel_medlow"
+#error "__riscv_cmodel_medpic"
 #endif
 
   return 0;