aboutsummaryrefslogtreecommitdiff
path: root/gcc/common
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2020-12-11 16:51:40 +0800
committerKito Cheng <kito.cheng@sifive.com>2021-01-08 11:14:02 +0800
commite3354b6de7a348386425879847c4f18ef1e82791 (patch)
tree684a084e45f07dad44b2eccefdf7e654a6033fea /gcc/common
parent0b7b4710111e0ac42d14ffdd1d71ff9c6751414e (diff)
downloadgcc-e3354b6de7a348386425879847c4f18ef1e82791.zip
gcc-e3354b6de7a348386425879847c4f18ef1e82791.tar.gz
gcc-e3354b6de7a348386425879847c4f18ef1e82791.tar.bz2
RISC-V: Implement new style of architecture extension test macros.
- This patch introduce new set of architecture extension test macros which is accept on riscv-c-api-doc recently. - https://github.com/riscv/riscv-c-api-doc/blob/master/riscv-c-api.md#architecture-extension-test-macro - We will also mark deprecated for legacy architecture extension test macros in GCC 11, but still support that for 1 or 2 release cycles. gcc/ChangeLog: * common/config/riscv/riscv-common.c (riscv_current_subset_list): New. * config/riscv/riscv-c.c (riscv-subset.h): New. (INCLUDE_STRING): Define. (riscv_cpu_cpp_builtins): Add new style architecture extension test macros. * config/riscv/riscv-subset.h (riscv_subset_list::begin): New. (riscv_subset_list::end): New. (riscv_current_subset_list): New. gcc/testsuite/ChangeLog: * gcc.target/riscv/predef-10.c: New. * gcc.target/riscv/predef-11.c: New. * gcc.target/riscv/predef-12.c: New. * gcc.target/riscv/predef-13.c: New.
Diffstat (limited to 'gcc/common')
-rw-r--r--gcc/common/config/riscv/riscv-common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c
index 934c716..b3f5c07 100644
--- a/gcc/common/config/riscv/riscv-common.c
+++ b/gcc/common/config/riscv/riscv-common.c
@@ -112,6 +112,11 @@ static const char *riscv_supported_std_ext (void);
static riscv_subset_list *current_subset_list = NULL;
+const riscv_subset_list *riscv_current_subset_list ()
+{
+ return current_subset_list;
+}
+
riscv_subset_t::riscv_subset_t ()
: name (), major_version (0), minor_version (0), next (NULL),
explicit_version_p (false), implied_p (false)