From 4ad70477801548db4d37e8d540a3fd6ebbbcfd48 Mon Sep 17 00:00:00 2001 From: Kito Cheng Date: Thu, 20 Aug 2020 17:19:41 +0800 Subject: 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. --- gcc/common/config/riscv/riscv-common.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/common') diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c index b84503a..84695a6 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; -- cgit v1.1