public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/51669] New: ICE verify-gimple with openmp
@ 2011-12-23 18:57 tprince at computer dot org
  2011-12-27 20:19 ` [Bug c++/51669] " paolo.carlini at oracle dot com
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: tprince at computer dot org @ 2011-12-23 18:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

             Bug #: 51669
           Summary: ICE verify-gimple with openmp
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: tprince@computer.org


Created attachment 26173
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26173
pre-processed C++ source

[tim@tim-knf1 gf]$ g++ -O1 -fopenmp -Drestrict=__restrict__ -v s451.i
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.7-20111217/configure --enable-languages='c c++
fortran' --disable-multilib
Thread model: posix
gcc version 4.7.0 20111217 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-O1' '-fopenmp' '-D' 'restrict=__restrict__' '-v'
'-shared-libgcc' '-mtune=generic' '-march=x86-64' '-pthread'
 /usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/cc1plus -fpreprocessed
s451.i -quiet -dumpbase s451.i -mtune=generic -march=x86-64 -auxbase s451 -O1
-version -fopenmp -o /tmp/ccVyBz2P.s
GNU C++ (GCC) version 4.7.0 20111217 (experimental) (x86_64-unknown-linux-gnu)
    compiled by GNU C version 4.7.0 20111217 (experimental), GMP version 5.0.2,
MPFR version 3.1.0, MPC version 0.9
warning: MPC header version 0.9 differs from library version 0.8.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (GCC) version 4.7.0 20111217 (experimental) (x86_64-unknown-linux-gnu)
    compiled by GNU C version 4.7.0 20111217 (experimental), GMP version 5.0.2,
MPFR version 3.1.0, MPC version 0.9
warning: MPC header version 0.9 differs from library version 0.8.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 19c710f37412ac153ea3c68c9b7fb9cd
s451.cpp: In function ‘int s451_(integer*, integer*, integer*, real*, real*,
real*, real*, real*, real*, real*, real*, real*, real*)’:
s451.cpp:46:1: internal compiler error: in verify_gimple_stmt, at
tree-cfg.c:4244


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
@ 2011-12-27 20:19 ` paolo.carlini at oracle dot com
  2011-12-27 20:28 ` paolo.carlini at oracle dot com
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-27 20:19 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-27 20:18:07 UTC ---
Created attachment 26190
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26190
Reduced


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
  2011-12-27 20:19 ` [Bug c++/51669] " paolo.carlini at oracle dot com
@ 2011-12-27 20:28 ` paolo.carlini at oracle dot com
  2011-12-27 22:43 ` paolo.carlini at oracle dot com
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-27 20:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-12-27
     Ever Confirmed|0                           |1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
  2011-12-27 20:19 ` [Bug c++/51669] " paolo.carlini at oracle dot com
  2011-12-27 20:28 ` paolo.carlini at oracle dot com
@ 2011-12-27 22:43 ` paolo.carlini at oracle dot com
  2012-01-02 10:55 ` [Bug c++/51669] [4.7 Regression] " rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-27 22:43 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-27 22:18:06 UTC ---
This is enough, really simple:

int omp_get_max_threads();

template<typename _Tp> const _Tp& min(const _Tp&, const _Tp&);

void s451_()
{
  int i;
#pragma omp parallel for num_threads(min(4, omp_get_max_threads()))
  for (i = 1; i < 33; ++i)
    ;
}


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] [4.7 Regression] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
                   ` (2 preceding siblings ...)
  2011-12-27 22:43 ` paolo.carlini at oracle dot com
@ 2012-01-02 10:55 ` rguenth at gcc dot gnu.org
  2012-01-02 15:30 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-01-02 10:55 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.6.2
   Target Milestone|---                         |4.7.0
            Summary|ICE verify-gimple with      |[4.7 Regression] ICE
                   |openmp                      |verify-gimple with openmp

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-02 10:54:40 UTC ---
Works with 4.6.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] [4.7 Regression] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
                   ` (3 preceding siblings ...)
  2012-01-02 10:55 ` [Bug c++/51669] [4.7 Regression] " rguenth at gcc dot gnu.org
@ 2012-01-02 15:30 ` jakub at gcc dot gnu.org
  2012-01-02 16:30 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-02 15:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-02 15:29:20 UTC ---
Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181332 aka PR51060.
Slightly more reduced testcase:

template <typename T> const T & min (const T &, const T &);

void
foo ()
{
#pragma omp parallel num_threads (min (4, 5))
  ;
}

which ICEs starting with r181332 with just -fopenmp.

struct A { A (); ~A (); };
int foo (const A &);

void
foo ()
{
#pragma omp parallel num_threads (foo (A ()))
  ;
}

apparently ICEd already in 4.2 though.  Guess the C++ FE needs to insert some
CLEANUP_POINT_EXPRs around the omp stmts.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] [4.7 Regression] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
                   ` (4 preceding siblings ...)
  2012-01-02 15:30 ` jakub at gcc dot gnu.org
@ 2012-01-02 16:30 ` jakub at gcc dot gnu.org
  2012-01-03  7:50 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-02 16:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-02 16:29:29 UTC ---
Created attachment 26218
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26218
gcc47-pr51669.patch

Untested fix.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] [4.7 Regression] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
                   ` (5 preceding siblings ...)
  2012-01-02 16:30 ` jakub at gcc dot gnu.org
@ 2012-01-03  7:50 ` jakub at gcc dot gnu.org
  2012-01-03  7:58 ` jakub at gcc dot gnu.org
  2012-02-09 17:18 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-03  7:50 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-03 07:49:53 UTC ---
Author: jakub
Date: Tue Jan  3 07:49:48 2012
New Revision: 182828

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182828
Log:
    PR c++/51669
    * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
    on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.

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

Added:
    trunk/gcc/testsuite/g++.dg/gomp/pr51669.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/semantics.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] [4.7 Regression] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
                   ` (6 preceding siblings ...)
  2012-01-03  7:50 ` jakub at gcc dot gnu.org
@ 2012-01-03  7:58 ` jakub at gcc dot gnu.org
  2012-02-09 17:18 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-01-03  7:58 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-03 07:57:14 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/51669] [4.7 Regression] ICE verify-gimple with openmp
  2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
                   ` (7 preceding siblings ...)
  2012-01-03  7:58 ` jakub at gcc dot gnu.org
@ 2012-02-09 17:18 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-02-09 17:18 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51669

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-09 17:17:48 UTC ---
Author: jakub
Date: Thu Feb  9 17:17:36 2012
New Revision: 184051

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=184051
Log:
    Backported from mainline
    2012-01-03  Jakub Jelinek  <jakub@redhat.com>

    PR c++/51669
    * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
    on OMP_CLAUSE_{IF,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.

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

Added:
    branches/gcc-4_6-branch/gcc/testsuite/g++.dg/gomp/pr51669.C
Modified:
    branches/gcc-4_6-branch/gcc/cp/ChangeLog
    branches/gcc-4_6-branch/gcc/cp/semantics.c
    branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-02-09 17:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-23 18:57 [Bug c++/51669] New: ICE verify-gimple with openmp tprince at computer dot org
2011-12-27 20:19 ` [Bug c++/51669] " paolo.carlini at oracle dot com
2011-12-27 20:28 ` paolo.carlini at oracle dot com
2011-12-27 22:43 ` paolo.carlini at oracle dot com
2012-01-02 10:55 ` [Bug c++/51669] [4.7 Regression] " rguenth at gcc dot gnu.org
2012-01-02 15:30 ` jakub at gcc dot gnu.org
2012-01-02 16:30 ` jakub at gcc dot gnu.org
2012-01-03  7:50 ` jakub at gcc dot gnu.org
2012-01-03  7:58 ` jakub at gcc dot gnu.org
2012-02-09 17:18 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).