Hi Jakub,
> On Thu, Nov 21, 2019 at 01:41:47AM +0100, Rainer Orth wrote:
>> Same on sparc-sun-solaris2.11 and i386-pc-solaris2.11.
>>
>> There where quite a number of non-Go regressions all over the place.
>> Many are like this:
>>
>> FAIL: gcc.c-torture/execute/complex-6.c -O0 (test for excess errors)
>>
>> ld: warning: symbol 'err' has differing types:
>> (file /var/tmp//ccWQCyMc.o type=OBJT; file /lib/libc.so type=FUNC);
>> /var/tmp//ccWQCyMc.o definition taken
>
> On i686-linux, I see just:
> +FAIL: gcc.target/i386/memcpy-strategy-1.c scan-assembler-times movdqa 4
> +FAIL: gcc.target/i386/memcpy-strategy-2.c scan-assembler-times movdqa 4
> +FAIL: gcc.target/i386/memcpy-vector_loop-1.c scan-assembler-times movdqa 4
> +FAIL: gcc.target/i386/pr69052.c scan-assembler-not leal[
> \\t]ind@GOTOFF\\\\(%[^,]*\\\\), %
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -O0 (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O0 compilation failed to
> produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -O1 (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O1 compilation failed to
> produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -O2 (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O2 compilation failed to
> produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
> errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions compilation failed
> to produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -O3 -g (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O3 -g compilation failed
> to produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -Os (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -Os compilation failed to
> produce executable
I'm seeing those, too, plus the following that are apparently only
diagnosed by Solaris ld:
+FAIL: gcc.c-torture/execute/20030913-1.c -O0 (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c -O1 (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c -O2 (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c -O2 -flto (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c -O2 -flto -flto-partition=none
(test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c -O3 -g (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c -Os (test for excess errors)
Excess errors:
ld: warning: symbol 'glob' has differing types:
(file /var/tmp//ccdl_86b.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//ccdl_86b.o definition taken
+FAIL: gcc.c-torture/execute/960218-1.c -O0 (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c -O1 (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c -O2 (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c -O2 -flto (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c -O2 -flto -flto-partition=none (test
for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
errors)
+FAIL: gcc.c-torture/execute/960218-1.c -O3 -g (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c -Os (test for excess errors)
Excess errors:
ld: warning: symbol 'glob' has differing types:
(file /var/tmp//cc0ib2Zb.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//cc0ib2Zb.o definition taken
+FAIL: gcc.c-torture/execute/complex-6.c -O0 (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c -O1 (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c -O2 (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c -O2 -flto (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c -O2 -flto -flto-partition=none
(test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c -O3 -g (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c -Os (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//ccz5Kj5d.o type=OBJT; file /lib/sparcv9/libc.so
type=FUNC);
/var/tmp//ccz5Kj5d.o definition taken
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c -O1 (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c -O2 (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c -O2 -flto (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c -O2 -flto -flto-partition=none (test
for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c -O3 -g (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c -Os (test for excess errors)
Excess errors:
ld: warning: symbol 'glob' has differing types:
(file /var/tmp//ccn1WXac.o type=OBJT; file /lib/sparcv9/libc.so
type=FUNC);
/var/tmp//ccn1WXac.o definition taken
+FAIL: libgomp.c/pr39591-1.c (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//cc_ExIUc.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//cc_ExIUc.o definition taken
+FAIL: libgomp.c/pr39591-2.c (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//cc4vqObc.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//cc4vqObc.o definition taken
+FAIL: libgomp.c/pr39591-3.c (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//ccivrjXd.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//ccivrjXd.o definition taken
+FAIL: libgomp.c/private-1.c (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//cch58Hvd.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//cch58Hvd.o definition taken
+FAIL: libgomp.c/task-1.c (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//ccBb4fsb.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//ccBb4fsb.o definition taken
+FAIL: libgomp.c/task-5.c (test for excess errors)
Excess errors:
ld: warning: symbol 'err' has differing types:
(file /var/tmp//ccvQhrHd.o type=OBJT; file /lib/libc.so type=FUNC);
/var/tmp//ccvQhrHd.o definition taken
Fixed as follows, tested on i386-pc-solaris2.11 and
sparc-sun-solaris2.11. Ok for mainline?
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2019-11-21 Rainer Orth <[email protected]>
gcc/testsuite:
* gcc.c-torture/execute/20030913-1.c: Rename glob to g.
* gcc.c-torture/execute/960218-1.c: Rename glob to gl.
* gcc.c-torture/execute/complex-6.c: Rename err to e.
* gcc.dg/torture/ssa-pta-fn-1.c: Rename glob to g.
libgomp:
* testsuite/libgomp.c/pr39591-1.c: Rename err to e.
* testsuite/libgomp.c/pr39591-2.c: Likewise.
* testsuite/libgomp.c/pr39591-3.c: Likewise.
* testsuite/libgomp.c/private-1.c: Likewise.
* testsuite/libgomp.c/task-1.c: Likewise.
* testsuite/libgomp.c/task-5.c: Renamed err to serr.
# HG changeset patch
# Parent 4f046c682e63b85a4e432f7f7cd0d7210bca06e4
Fix failures on Solaris with -fno-common default
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030913-1.c b/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
--- a/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
@@ -1,12 +1,12 @@
/* Assignments via pointers pointing to global variables were being killed
by SSA-DCE. Test contributed by Paul Brook <[email protected]> */
-int glob;
+int g;
void
fn2(int ** q)
{
- *q = &glob;
+ *q = &g;
}
void test()
@@ -21,6 +21,6 @@ void test()
int main()
{
test();
- if (glob != 42) abort();
+ if (g != 42) abort();
exit (0);
}
diff --git a/gcc/testsuite/gcc.c-torture/execute/960218-1.c b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
--- a/gcc/testsuite/gcc.c-torture/execute/960218-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
@@ -1,8 +1,8 @@
-int glob;
+int gl;
g (x)
{
- glob = x;
+ gl = x;
return 0;
}
@@ -16,7 +16,7 @@ f (x)
main ()
{
f (3);
- if (glob != -4)
+ if (gl != -4)
abort ();
exit (0);
}
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-6.c b/gcc/testsuite/gcc.c-torture/execute/complex-6.c
--- a/gcc/testsuite/gcc.c-torture/execute/complex-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-6.c
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <stdio.h>
-int err;
+int e;
#define TEST(TYPE, FUNC) \
__complex__ TYPE \
@@ -31,7 +31,7 @@ test_ ## FUNC (void) \
if (res != 1.0 - 2.0i) \
{ \
printf ("test_" #FUNC " failed\n"); \
- ++err; \
+ ++e; \
} \
}
@@ -46,7 +46,7 @@ int
main (void)
{
- err = 0;
+ e = 0;
test_float ();
test_double ();
@@ -54,7 +54,7 @@ main (void)
test_int ();
test_long_int ();
- if (err != 0)
+ if (e != 0)
abort ();
return 0;
diff --git a/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c b/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c
--- a/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c
+++ b/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c
@@ -3,7 +3,7 @@
/* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */
extern void abort (void);
-int *glob;
+int *g;
int dummy;
int * __attribute__((noinline,const))
@@ -13,7 +13,7 @@ int * __attribute__((noinline,pure))
foo_pure(int *p) { return p + dummy; }
int * __attribute__((noinline))
-foo_normal(int *p) { glob = p; return p; }
+foo_normal(int *p) { g = p; return p; }
void test_const(void)
{
diff --git a/libgomp/testsuite/libgomp.c/pr39591-1.c b/libgomp/testsuite/libgomp.c/pr39591-1.c
--- a/libgomp/testsuite/libgomp.c/pr39591-1.c
+++ b/libgomp/testsuite/libgomp.c/pr39591-1.c
@@ -3,7 +3,7 @@
extern void abort (void);
-int err;
+int e;
int
main (void)
@@ -23,10 +23,10 @@ main (void)
for (j = 0; j < sizeof array / sizeof array[0]; j++)
if (array[j] != 0x55555555)
#pragma omp atomic
- err++;
+ e++;
}
}
- if (err)
+ if (e)
abort ();
return 0;
}
diff --git a/libgomp/testsuite/libgomp.c/pr39591-2.c b/libgomp/testsuite/libgomp.c/pr39591-2.c
--- a/libgomp/testsuite/libgomp.c/pr39591-2.c
+++ b/libgomp/testsuite/libgomp.c/pr39591-2.c
@@ -3,7 +3,7 @@
extern void abort (void);
-int err;
+int e;
void __attribute__((noinline))
foo (int *array)
@@ -14,7 +14,7 @@ foo (int *array)
for (j = 0; j < 40; j++)
if (array[j] != 0x55555555)
#pragma omp atomic
- err++;
+ e++;
}
}
@@ -32,7 +32,7 @@ main (void)
for (i = 0; i < 50; i++)
foo (array);
}
- if (err)
+ if (e)
abort ();
return 0;
}
diff --git a/libgomp/testsuite/libgomp.c/pr39591-3.c b/libgomp/testsuite/libgomp.c/pr39591-3.c
--- a/libgomp/testsuite/libgomp.c/pr39591-3.c
+++ b/libgomp/testsuite/libgomp.c/pr39591-3.c
@@ -3,7 +3,7 @@
extern void abort (void);
-int err, a[40];
+int e, a[40];
void __attribute__((noinline))
foo (int *array)
@@ -14,7 +14,7 @@ foo (int *array)
for (j = 0; j < 40; j++)
if (array[j] != 0x55555555)
#pragma omp atomic
- err++;
+ e++;
}
}
@@ -33,7 +33,7 @@ main (void)
for (i = 0; i < 50; i++)
foo (a);
}
- if (err)
+ if (e)
abort ();
return 0;
}
diff --git a/libgomp/testsuite/libgomp.c/private-1.c b/libgomp/testsuite/libgomp.c/private-1.c
--- a/libgomp/testsuite/libgomp.c/private-1.c
+++ b/libgomp/testsuite/libgomp.c/private-1.c
@@ -20,7 +20,7 @@ f1 (int i, int j, int k)
}
int v1 = 1, v2 = 2, v5 = 5;
-int err;
+int e;
void
f2 (void)
@@ -35,11 +35,11 @@ f2 (void)
#pragma omp parallel num_threads(1) firstprivate(v1, v2, v3, v4)
{
if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
- err = 1;
+ e = 1;
}
if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
abort ();
- if (err)
+ if (e)
abort ();
}
}
diff --git a/libgomp/testsuite/libgomp.c/task-1.c b/libgomp/testsuite/libgomp.c/task-1.c
--- a/libgomp/testsuite/libgomp.c/task-1.c
+++ b/libgomp/testsuite/libgomp.c/task-1.c
@@ -20,7 +20,7 @@ f1 (int i, int j, int k)
}
int v1 = 1, v2 = 2, v5 = 5;
-int err;
+int e;
void
f2 (void)
@@ -35,12 +35,12 @@ f2 (void)
#pragma omp task
{
if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
- err = 1;
+ e = 1;
}
#pragma omp taskwait
if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
abort ();
- if (err)
+ if (e)
abort ();
}
}
diff --git a/libgomp/testsuite/libgomp.c/task-5.c b/libgomp/testsuite/libgomp.c/task-5.c
--- a/libgomp/testsuite/libgomp.c/task-5.c
+++ b/libgomp/testsuite/libgomp.c/task-5.c
@@ -3,42 +3,42 @@
#include <omp.h>
#include <stdlib.h>
-int err;
+int serr;
int
main ()
{
int e;
-#pragma omp parallel shared(err)
+#pragma omp parallel shared(serr)
{
if (omp_in_final ())
#pragma omp atomic write
- err = 1;
- #pragma omp task if (0) shared(err)
+ serr = 1;
+ #pragma omp task if (0) shared(serr)
{
if (omp_in_final ())
#pragma omp atomic write
- err = 1;
- #pragma omp task if (0) shared(err)
+ serr = 1;
+ #pragma omp task if (0) shared(serr)
if (omp_in_final ())
#pragma omp atomic write
- err = 1;
+ serr = 1;
}
- #pragma omp task final (1) shared(err)
+ #pragma omp task final (1) shared(serr)
{
if (!omp_in_final ())
#pragma omp atomic write
- err = 1;
+ serr = 1;
#pragma omp taskyield
#pragma omp taskwait
- #pragma omp task shared(err)
+ #pragma omp task shared(serr)
if (!omp_in_final ())
#pragma omp atomic write
- err = 1;
+ serr = 1;
}
}
#pragma omp atomic read
- e = err;
+ e = serr;
if (e)
abort ();
return 0;