Backport fix for __riscv_compressed regression
More details: f15d2aa02d
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
This commit is contained in:
parent
33af6fc222
commit
33102e5295
|
@ -0,0 +1,591 @@
|
||||||
|
diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c
|
||||||
|
index 72c43c69b..9452bd3a0 100644
|
||||||
|
--- a/gcc/common/config/riscv/riscv-common.c
|
||||||
|
+++ b/gcc/common/config/riscv/riscv-common.c
|
||||||
|
@@ -564,6 +564,10 @@ riscv_parse_arch_string (const char *isa, int *flags, location_t loc)
|
||||||
|
if (subset_list->lookup ("d"))
|
||||||
|
*flags |= MASK_DOUBLE_FLOAT;
|
||||||
|
|
||||||
|
+ *flags &= ~MASK_RVC;
|
||||||
|
+ if (subset_list->lookup ("c"))
|
||||||
|
+ *flags |= MASK_RVC;
|
||||||
|
+
|
||||||
|
if (current_subset_list)
|
||||||
|
delete current_subset_list;
|
||||||
|
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-1.c b/gcc/testsuite/gcc.target/riscv/predef-1.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..70f121f15
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-1.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv32i -mabi=ilp32 -mcmodel=medlow" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 32
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-2.c b/gcc/testsuite/gcc.target/riscv/predef-2.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..6f3c8c386
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-2.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv32imaf -mabi=ilp32f -mcmodel=medany" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 32
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-3.c b/gcc/testsuite/gcc.target/riscv/predef-3.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..6f4f2e219
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-3.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv32imafdc -mabi=ilp32d -fpic" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 32
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-4.c b/gcc/testsuite/gcc.target/riscv/predef-4.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..822f61782
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-4.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv64ia -mabi=lp64 -mcmodel=medlow" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 64
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-5.c b/gcc/testsuite/gcc.target/riscv/predef-5.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..664904909
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-5.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv64imf -mabi=lp64f -mcmodel=medany" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 64
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-6.c b/gcc/testsuite/gcc.target/riscv/predef-6.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..ee4e02bcb
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-6.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv64gc -mabi=lp64d -fpic" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 64
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-7.c b/gcc/testsuite/gcc.target/riscv/predef-7.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..0358f325c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-7.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv32em -mabi=ilp32e -mno-div -mcmodel=medlow" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 32
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if !defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/gcc/testsuite/gcc.target/riscv/predef-8.c b/gcc/testsuite/gcc.target/riscv/predef-8.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..41cd9feab
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gcc.target/riscv/predef-8.c
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+/* { dg-do compile } */
|
||||||
|
+/* { dg-options "-O2 -march=rv32if -mabi=ilp32f -mno-fdiv -mcmodel=medany" } */
|
||||||
|
+
|
||||||
|
+int main () {
|
||||||
|
+#if !defined(__riscv)
|
||||||
|
+#error "__riscv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_compressed)
|
||||||
|
+#error "__riscv_compressed"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_32e)
|
||||||
|
+#error "__riscv_32e"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_atomic)
|
||||||
|
+#error "__riscv_atomic"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_mul)
|
||||||
|
+#error "__riscv_mul"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_div)
|
||||||
|
+#error "__riscv_div"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_muldiv)
|
||||||
|
+#error "__riscv_muldiv"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if __riscv_xlen != 32
|
||||||
|
+#error "__riscv_xlen"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_fdiv)
|
||||||
|
+#error "__riscv_fdiv"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_fsqrt)
|
||||||
|
+#error "__riscv_fsqrt"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_abi_rve)
|
||||||
|
+#error "__riscv_abi_rve"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_soft)
|
||||||
|
+#error "__riscv_float_abi_soft"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_float_abi_single)
|
||||||
|
+#error "__riscv_float_abi_single"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_float_abi_double)
|
||||||
|
+#error "__riscv_float_abi_double"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(__riscv_cmodel_medlow)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if !defined(__riscv_cmodel_medany)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+#if defined(__riscv_cmodel_pic)
|
||||||
|
+#error "__riscv_cmodel_medlow"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
3
gcc.spec
3
gcc.spec
|
@ -257,6 +257,9 @@ Patch11: gcc9-d-shared-libphobos.patch
|
||||||
Patch12: gcc9-pr89093.patch
|
Patch12: gcc9-pr89093.patch
|
||||||
|
|
||||||
Patch30: libphobos-enable-riscv-v3.patch
|
Patch30: libphobos-enable-riscv-v3.patch
|
||||||
|
# Backport
|
||||||
|
# See: https://github.com/gcc-mirror/gcc/commit/f15d2aa02df3b06d07704584832ca023921e9ad2
|
||||||
|
Patch31: gcc-9.0.1-20190328-fix-riscv-compressed.patch
|
||||||
|
|
||||||
Patch1000: nvptx-tools-no-ptxas.patch
|
Patch1000: nvptx-tools-no-ptxas.patch
|
||||||
Patch1001: nvptx-tools-build.patch
|
Patch1001: nvptx-tools-build.patch
|
||||||
|
|
Loading…
Reference in New Issue