[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-07-08 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

Jakub Jelinek  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Jakub Jelinek  ---
Fixed.

[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-07-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

--- Comment #6 from Jakub Jelinek  ---
Author: jakub
Date: Thu Jul  7 21:54:34 2016
New Revision: 238147

URL: https://gcc.gnu.org/viewcvs?rev=238147=gcc=rev
Log:
Backported from mainline
2016-06-30  Jakub Jelinek  

PR fortran/71704
* parse.c (matchs, matcho): If spec_only, only gfc_match the keyword
and if successful, goto do_spec_only.
(matchds, matchdo): Define.
(decode_omp_directive): Add spec_only local var and set it.
Use matchds or matchdo macros instead of matchs or matcho
for declare target, declare simd, declare reduction and threadprivate
directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
directive could be matched.
(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
gfc_current_locus from old_locus even if there is no label.

* gfortran.dg/gomp/pr71704.f90: New test.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/gomp/pr71704.f90
Modified:
branches/gcc-4_9-branch/gcc/fortran/ChangeLog
branches/gcc-4_9-branch/gcc/fortran/parse.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog

[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-07-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

--- Comment #5 from Jakub Jelinek  ---
Author: jakub
Date: Thu Jul  7 12:50:01 2016
New Revision: 238103

URL: https://gcc.gnu.org/viewcvs?rev=238103=gcc=rev
Log:
Backported from mainline
2016-06-30  Jakub Jelinek  

PR fortran/71704
* parse.c (matchs, matcho): Move right before decode_omp_directive.
If spec_only, only gfc_match the keyword and if successful, goto
do_spec_only.
(matchds, matchdo): Define.
(decode_omp_directive): Add spec_only local var and set it.
Use matchds or matchdo macros instead of matchs or matcho
for declare target, declare simd, declare reduction and threadprivate
directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
directive could be matched.
(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
gfc_current_locus from old_locus even if there is no label.

* gfortran.dg/gomp/pr71704.f90: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/gomp/pr71704.f90
Modified:
branches/gcc-5-branch/gcc/fortran/ChangeLog
branches/gcc-5-branch/gcc/fortran/parse.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-07-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

--- Comment #4 from Jakub Jelinek  ---
Author: jakub
Date: Sat Jul  2 10:23:45 2016
New Revision: 237942

URL: https://gcc.gnu.org/viewcvs?rev=237942=gcc=rev
Log:
Backported from mainline
2016-06-30  Jakub Jelinek  

PR fortran/71704
* parse.c (matchs, matcho): Move right before decode_omp_directive.
If spec_only, only gfc_match the keyword and if successful, goto
do_spec_only.
(matchds, matchdo): Define.
(decode_omp_directive): Add spec_only local var and set it.
Use matchds or matchdo macros instead of matchs or matcho
for declare target, declare simd, declare reduction and threadprivate
directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
directive could be matched.
(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
gfc_current_locus from old_locus even if there is no label.

* gfortran.dg/gomp/pr71704.f90: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gfortran.dg/gomp/pr71704.f90
Modified:
branches/gcc-6-branch/gcc/fortran/ChangeLog
branches/gcc-6-branch/gcc/fortran/parse.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-06-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

--- Comment #3 from Jakub Jelinek  ---
Author: jakub
Date: Thu Jun 30 17:45:21 2016
New Revision: 237888

URL: https://gcc.gnu.org/viewcvs?rev=237888=gcc=rev
Log:
PR fortran/71704
* parse.c (matchs, matcho): Move right before decode_omp_directive.
If spec_only, only gfc_match the keyword and if successful, goto
do_spec_only.
(matchds, matchdo): Define.
(decode_omp_directive): Add spec_only local var and set it.
Use matchds or matchdo macros instead of matchs or matcho
for declare target, declare simd, declare reduction and threadprivate
directives.  Return ST_GET_FCN_CHARACTERISTICS if a non-declarative
directive could be matched.
(next_statement): For ST_GET_FCN_CHARACTERISTICS restore
gfc_current_locus from old_locus even if there is no label.

* gfortran.dg/gomp/pr71704.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/gomp/pr71704.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/parse.c
trunk/gcc/testsuite/ChangeLog

[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-06-30 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
Created attachment 38803
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38803=edit
gcc7-pr71704.patch

Untested fix.

[Bug fortran/71704] ICE with -fopenmp and some omp constructs

2016-06-30 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71704

Martin Liška  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-06-30
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, all releases that I have (4.5.0+) generate the internal error.