aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2020-03-13 12:29:33 -0600
committerMartin Sebor <msebor@redhat.com>2020-03-13 12:29:33 -0600
commit45ee7a35f347e59f003d65bce0d43d5123d827cf (patch)
treee175a2d274a1559a70010c255b8dae3ed7e673bb
parent3b515f748412bbfc10c46cfa467ece89a25c04c5 (diff)
downloadgcc-45ee7a35f347e59f003d65bce0d43d5123d827cf.zip
gcc-45ee7a35f347e59f003d65bce0d43d5123d827cf.tar.gz
gcc-45ee7a35f347e59f003d65bce0d43d5123d827cf.tar.bz2
PR c/94040 - ICE on a call to an invalid redeclaration of strftime
gcc/testsuite/ChangeLog: * gcc.dg/torture/pr54261-1.c: Correct built-in declartion.
-rw-r--r--gcc/testsuite/ChangeLog1
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr54261-1.c14
2 files changed, 8 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a379b40..e3d1fc3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -7,6 +7,7 @@
* gcc.dg/Wbuiltin-declaration-mismatch-15.c: New test.
* gcc.dg/pr62090.c: Prune expected warning.
* gcc.dg/pr89314.c: Look for warning name rather than text.
+ * gcc.dg/torture/pr54261-1.c: Correct built-in declartion.
2020-03-13 Uroš Bizjak <ubizjak@gmail.com>
diff --git a/gcc/testsuite/gcc.dg/torture/pr54261-1.c b/gcc/testsuite/gcc.dg/torture/pr54261-1.c
index 071b323..7286124 100644
--- a/gcc/testsuite/gcc.dg/torture/pr54261-1.c
+++ b/gcc/testsuite/gcc.dg/torture/pr54261-1.c
@@ -8,23 +8,23 @@
a PASS. Where the bug trigs (at the time this test-case was added),
cas_int is also false but the fallback isn't used. */
__attribute__((__noinline__, __noclone__))
-int
+unsigned
# if __INT_MAX__ == 0x7fff
__sync_fetch_and_add_2
# else
__sync_fetch_and_add_4
# endif
- (int *at, int val)
+ (volatile void *at, unsigned val)
{
- int tmp = *at;
+ unsigned tmp = *(volatile unsigned*)at;
asm ("");
- *at = tmp + val;
+ *(volatile unsigned*)at = tmp + val;
return tmp;
}
#endif
__attribute__((__noinline__, __noclone__))
-void g (int *at, int val)
+void g (unsigned *at, unsigned val)
{
asm ("");
__sync_fetch_and_add (at, val);
@@ -35,8 +35,8 @@ int main(void)
/* On PTX it is not valid to perform atomic operations on auto
variables, which end up in .local. Making this static places it
in .global. */
- static int x = 41;
- int a = 1;
+ static unsigned x = 41;
+ unsigned a = 1;
g (&x, a);
if (x != 42)