Bug 41429 - gomp tests timeout with -fpic
Summary: gomp tests timeout with -fpic
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: ---
Assignee: Jakub Jelinek
URL:
Keywords: openmp
Depends on:
Blocks:
 
Reported: 2009-09-21 14:50 UTC by Kaveh Ghazi
Modified: 2009-09-22 06:47 UTC (History)
2 users (show)

See Also:
Host:
Target: x86_64-unknown-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
gcc45-pr41429.patch (538 bytes, patch)
2009-09-21 18:06 UTC, Jakub Jelinek
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kaveh Ghazi 2009-09-21 14:50:23 UTC
Somewhere between mainline revision 151676 and 151704 I started getting several gomp failures which manifest as timeouts in the testsuite when using -fpic/-fPIC.

Here are the differing testsuite results:
Clean: http://gcc.gnu.org/ml/gcc-testresults/2009-09/msg01244.html
FAIL: http://gcc.gnu.org/ml/gcc-testresults/2009-09/msg01344.html

The new gomp failures with -fpic/-fPIC are:

FAIL: g++.dg/gomp/pr37189.C (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O0  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O1  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O2  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O3 -fomit-frame-pointer  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O3 -fomit-frame-pointer -funroll-loops  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -O3 -g  (test for excess errors)
FAIL: libgomp.c++/task-3.C  -Os  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O0  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O1  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O2  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O3 -fomit-frame-pointer  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O3 -fomit-frame-pointer -funroll-loops  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -O3 -g  (test for excess errors)
FAIL: libgomp.c++/task-5.C  -Os  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O0  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O1  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O2  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O3 -fomit-frame-pointer  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O3 -fomit-frame-pointer -funroll-loops  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -O3 -g  (test for excess errors)
FAIL: libgomp.c++/task-7.C  -Os  (test for excess errors)
Comment 1 Kaveh Ghazi 2009-09-21 15:04:00 UTC
To reproduce, target x86_64-unknown-linux-gnu and compile g++.dg/gomp/pr37189.C with:

cc1plus -quiet -v pr37189.C -dumpbase pr37189.C -mtune=generic -auxbase pr37189 -version -fopenmp -fpic -o pr37189.s
------------------------------------------------
// PR c++/37189
// { dg-do compile }
// { dg-options "-fopenmp" }

struct S
{
  S () {}
  S (S const &) {}
};

struct T
{
  S s;
};

void
bar (T &)
{
}

int
foo ()
{
  T t;
  #pragma omp task
    bar (t);
}
Comment 2 Jakub Jelinek 2009-09-21 18:06:35 UTC
Created attachment 18628 [details]
gcc45-pr41429.patch

Patch I'm going to bootstrap/regtest.
Comment 3 Jakub Jelinek 2009-09-22 06:42:42 UTC
Subject: Bug 41429

Author: jakub
Date: Tue Sep 22 06:42:26 2009
New Revision: 151966

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151966
Log:
	PR middle-end/41429
	* tree-cfg.c (remove_useless_stmts_tc): Call gsi_next (gsi) even for
	GIMPLE_EH_MUST_NOT_THROW cleanup.
	(verify_types_in_gimple_stmt): Handle GIMPLE_EH_MUST_NOT_THROW.

	* g++.dg/gomp/pr41429.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/gomp/pr41429.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-cfg.c

Comment 4 Jakub Jelinek 2009-09-22 06:47:08 UTC
Fixed.