https://gcc.gnu.org/g:267d62e93e1be7ee62ab674090547a1585ceecf6
commit r17-2426-g267d62e93e1be7ee62ab674090547a1585ceecf6 Author: Jim Lin <[email protected]> Date: Wed Jul 15 13:58:47 2026 -0600 [PATCH] RISC-V: Fix NULL location pointer check in target attribute parser parse_arch tested "if (*m_loc)", dereferencing the location_t pointer, while every other diagnostic site guards with "if (m_loc)". Since m_loc can be NULL, test the pointer instead of dereferencing it. gcc/ChangeLog: * config/riscv/riscv-target-attr.cc (riscv_target_attr_parser::parse_arch): Check m_loc instead of *m_loc before emitting the diagnostic. Signed-off-by: Jim Lin <[email protected]> Diff: --- gcc/config/riscv/riscv-target-attr.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv-target-attr.cc b/gcc/config/riscv/riscv-target-attr.cc index 5f265d0b242d..652e8d4a550d 100644 --- a/gcc/config/riscv/riscv-target-attr.cc +++ b/gcc/config/riscv/riscv-target-attr.cc @@ -148,7 +148,7 @@ riscv_target_attr_parser::parse_arch (const char *str) { if (token[0] != '+') { - if (*m_loc) + if (m_loc) error_at (*m_loc, "unexpected arch for %<target()%> " "attribute: must start with + or rv"); goto fail;
