From: Hans-Peter Nilsson Date: Wed, 1 Mar 2023 16:30:07 +0000 (+0100) Subject: testsuite: Fix gcc.dg/attr-copy-6.c for user-label-prefixed targets X-Git-Tag: upstream/13.1.0~840 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b838a9f65f68f9ebe87d4cbd10ae18911a05b6ea;p=platform%2Fupstream%2Fgcc.git testsuite: Fix gcc.dg/attr-copy-6.c for user-label-prefixed targets This fixes: Running /x/gcc/testsuite/gcc.dg/dg.exp ... ... FAIL: gcc.dg/attr-copy-6.c (test for excess errors) for cris-elf, where gcc.log has: Excess errors: /x/gcc/testsuite/gcc.dg/attr-copy-6.c:91:3: error: 'fnoreturn_alias' aliased to undefined symbol 'fnoreturn_name' Asm-declared identifiers need to prepend __USER_LABEL_PREFIX__ to the asm-name, something which is often overlooked because it's empty for most targets. N.B: attribute-alias does not need the same treatment. The identical construct added here, is in several tests. * gcc.dg/attr-copy-6.c: Prefix asm-declared name with __USER_LABEL_PREFIX__. --- diff --git a/gcc/testsuite/gcc.dg/attr-copy-6.c b/gcc/testsuite/gcc.dg/attr-copy-6.c index cf578bddb1b..30a1317bf92 100644 --- a/gcc/testsuite/gcc.dg/attr-copy-6.c +++ b/gcc/testsuite/gcc.dg/attr-copy-6.c @@ -9,6 +9,10 @@ #define ATTR(...) __attribute__ ((__VA_ARGS__)) #define ASRT(expr) _Static_assert (expr, #expr) +#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname) +#define ASMNAME2(prefix, cname) STRING (prefix) cname +#define STRING(x) #x + /* Variable that is local to this translation unit but that can be modified from other units by calling reset_unit_local(). */ static int unit_local; @@ -79,7 +83,7 @@ extern _Noreturn void fnoreturn (void); extern __typeof (fnoreturn) ATTR (visibility ("hidden")) - fnoreturn __asm__ ("fnoreturn_name"); + fnoreturn __asm__ (ASMNAME ("fnoreturn_name")); void fnoreturn (void) {