diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2020-08-20 17:19:41 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2020-11-02 17:09:00 +0800 |
commit | 4ad70477801548db4d37e8d540a3fd6ebbbcfd48 (patch) | |
tree | 333b27605142095eaab0256a58b49a97a0d5d310 /gcc/common | |
parent | c1e6691245ca2f1f329549f323f67afe32bcb97a (diff) | |
download | gcc-4ad70477801548db4d37e8d540a3fd6ebbbcfd48.tar.gz |
RISC-V: Check multiletter extension has more than 1 letter
gcc/ChangeLog:
* common/config/riscv/riscv-common.c
(riscv_subset_list::parse_multiletter_ext): Checking multiletter
extension has more than 1 letter.
gcc/testsuite/ChangeLog
* gcc.target/riscv/arch-7.c: New.
* gcc.target/riscv/attribute-10.c: Update test arch string.
Diffstat (limited to 'gcc/common')
-rw-r--r-- | gcc/common/config/riscv/riscv-common.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c index b84503a7742..84695a6ed1b 100644 --- a/gcc/common/config/riscv/riscv-common.c +++ b/gcc/common/config/riscv/riscv-common.c @@ -524,6 +524,14 @@ riscv_subset_list::parse_multiletter_ext (const char *p, *q = '\0'; + if (strlen (subset) == 1) + { + error_at (m_loc, "%<-march=%s%>: name of %s must be more than 1 letter", + m_arch, ext_type_str); + free (subset); + return NULL; + } + add (subset, major_version, minor_version, explicit_version_p); free (subset); p += end_of_version - subset; |