aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2023-03-01 17:30:07 +0100
committerHans-Peter Nilsson <hp@bitrange.com>2023-03-02 02:15:00 +0100
commitb838a9f65f68f9ebe87d4cbd10ae18911a05b6ea (patch)
treeb56b352166cf46637b4bd8c20ccb7f7d116fc3ea
parent8590e4d096e4636c9384f7f885b979026861c29f (diff)
downloadgcc-b838a9f65f68f9ebe87d4cbd10ae18911a05b6ea.zip
gcc-b838a9f65f68f9ebe87d4cbd10ae18911a05b6ea.tar.gz
gcc-b838a9f65f68f9ebe87d4cbd10ae18911a05b6ea.tar.bz2
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__.
-rw-r--r--gcc/testsuite/gcc.dg/attr-copy-6.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.dg/attr-copy-6.c b/gcc/testsuite/gcc.dg/attr-copy-6.c
index cf578bd..30a1317 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)
{