Failure of g++.dg/tls/init-2.C on 3.3 branch

Eric Botcazou ebotcazou@libertysurf.fr
Tue Jun 10 17:01:00 GMT 2003


Hi,

For some reason, g++.dg/tls/init-2.C suddendly started to fail on x86-linux 
between 04/21 and 04/22 on the 3.3 branch (but not on mainline):

	http://gcc.gnu.org/ml/gcc-testresults/2003-05/msg01258.html
	http://gcc.gnu.org/ml/gcc-testresults/2003-05/msg01287.html


/* Invalid initializations.  */

extern __thread int i;
__thread int *p = &i;	/* { dg-error "dynamically initialized" } */

extern int f();
__thread int j = f();	/* { dg-error "dynamically initialized" } */

struct S
{
  S();
};
__thread S s;		/* { dg-error "non-POD" } */


/home/eric/cvs/gcc-3_3-branch/gcc/testsuite/g++.dg/tls/init-2.C:4: error: `p' 
is thread-local and so cannot be dynamically initialized
/home/eric/cvs/gcc-3_3-branch/gcc/testsuite/g++.dg/tls/init-2.C:7: error: `j' 
is thread-local and so cannot be dynamically initialized
/home/eric/cvs/gcc-3_3-branch/gcc/testsuite/g++.dg/tls/init-2.C:13: error: 
`s' cannot be thread-local because it has non-POD type `S'
/home/eric/cvs/gcc-3_3-branch/gcc/testsuite/g++.dg/tls/init-2.C:13: error: 
`s' is thread-local and so cannot be dynamically initialized

PASS: g++.dg/tls/init-2.C  (test for errors, line 4)
PASS: g++.dg/tls/init-2.C  (test for errors, line 7)
PASS: g++.dg/tls/init-2.C  (test for errors, line 13)
FAIL: g++.dg/tls/init-2.C (test for excess errors)
Excess errors:
/home/eric/cvs/gcc-3_3-branch/gcc/testsuite/g++.dg/tls/init-2.C:13: error: 
`s' is thread-local and so cannot be dynamically initialized


Is this begnin or does it reveal a real problem?

-- 
Eric Botcazou



More information about the Gcc mailing list