[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2014-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

--- Comment #8 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Thu Jan 23 13:32:19 2014
New Revision: 206962

URL: http://gcc.gnu.org/viewcvs?rev=206962root=gccview=rev
Log:
PR middle-end/58809
* c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.

* semantics.c (finish_omp_reduction_clause): Reject
BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.

* c-c++-common/gomp/pr58809.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/gomp/pr58809.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-typeck.c
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2014-01-23 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Thu Jan 23 13:33:36 2014
New Revision: 206963

URL: http://gcc.gnu.org/viewcvs?rev=206963root=gccview=rev
Log:
PR middle-end/58809
* c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.

* semantics.c (finish_omp_clauses): Reject MIN_EXPR, MAX_EXPR,
BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.

* c-c++-common/gomp/pr58809.c: New test.

Added:
branches/gcc-4_8-branch/gcc/testsuite/c-c++-common/gomp/pr58809.c
Modified:
branches/gcc-4_8-branch/gcc/c/ChangeLog
branches/gcc-4_8-branch/gcc/c/c-typeck.c
branches/gcc-4_8-branch/gcc/cp/ChangeLog
branches/gcc-4_8-branch/gcc/cp/semantics.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-12-04 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org ---
[second test case]
(In reply to Volker Reichelt from comment #0)
 A similar code snippet triggers an ICE in a different position on trunk:

Reduced example:

void foo()
{
  _Complex int j;
#pragma omp parallel reduction (:j)
  ;
}


I wonder whether it is valid as the following is rejected with error: invalid
operands to binary  (have 'complex int' and 'complex int'):

_Complex int foo(_Complex int j)
{
  _Complex int k = -1;
  j =  k;
}


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-11-05 Thread reichelt at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

Volker Reichelt reichelt at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work|4.9.0   |
Summary|[4.7/4.8 Regression] ICE|[4.7/4.8/4.9 Regression]
   |with complex variable in|ICE with complex variable
   |OpenMP reduction clause |in OpenMP reduction clause

--- Comment #6 from Volker Reichelt reichelt at gcc dot gnu.org ---
Only the first testcase was fixed on trunk.
The second one still crashes on trunk.


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-10-21 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-10-21
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed, but no clue whether it is valid or not.


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-10-21 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Maybe fold_range_test should just return 0 when the type is not
INTEGRAL_TYPE_P.  If that's the case, I can take this one.


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-10-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.4


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-10-21 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

--- Comment #3 from Marek Polacek mpolacek at gcc dot gnu.org ---
Patch posted for the first testcase:
http://gcc.gnu.org/ml/gcc-patches/2013-10/msg01714.html


[Bug middle-end/58809] [4.7/4.8/4.9 Regression] ICE with complex variable in OpenMP reduction clause

2013-10-21 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58809

--- Comment #4 from Marek Polacek mpolacek at gcc dot gnu.org ---
Author: mpolacek
Date: Mon Oct 21 18:40:34 2013
New Revision: 203907

URL: http://gcc.gnu.org/viewcvs?rev=203907root=gccview=rev
Log:
PR middle-end/58809
* fold-const.c (fold_range_test): Return 0 if the type is not
an integral type.
testsuite/
* gcc.dg/gomp/pr58809.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/gomp/pr58809.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog