public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/24516] New: [openmp] Incorrect error for break statement in OpenMP loop
@ 2005-10-25 11:46 martin at mpa-garching dot mpg dot de
2005-10-25 15:11 ` [Bug c++/24516] [gomp] " jakub at gcc dot gnu dot org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: martin at mpa-garching dot mpg dot de @ 2005-10-25 11:46 UTC (permalink / raw)
To: gcc-bugs
The current gomp branch (including Jakub Jelinek's proposed patch for
PR24513, rejects the following code:
void bar (int *p)
{
#pragma omp parallel for
for (int m=0; m<1000; ++m)
{
switch(p[m])
{
case 1:
p[m]=2;
break;
}
}
}
~/tmp>g++ -fopenmp -v -c test.cc
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /scratch/gompcc/configure --quiet --prefix=/scratch/ugccgomp
--enable-languages=c++,f95 --with-gmp=/afs/mpa/data/martin/mygmp
--disable-checking
Thread model: posix
gcc version 4.1.0-gomp-20050608-branch 20051023 (experimental) (merged
20051023)
/scratch/ugccgomp/libexec/gcc/i686-pc-linux-gnu/4.1.0-gomp-20050608-branch/cc1plus
-quiet -v -D_GNU_SOURCE test.cc -quiet -dumpbase test.cc -mtune=pentiumpro
-auxbase test -version -fopenmp -o /tmp/ccxFI9tu.s
ignoring nonexistent directory
"/scratch/ugccgomp/lib/gcc/i686-pc-linux-gnu/4.1.0-gomp-20050608-branch/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/scratch/ugccgomp/lib/gcc/i686-pc-linux-gnu/4.1.0-gomp-20050608-branch/../../../../include/c++/4.1.0-gomp-20050608-branch
/scratch/ugccgomp/lib/gcc/i686-pc-linux-gnu/4.1.0-gomp-20050608-branch/../../../../include/c++/4.1.0-gomp-20050608-branch/i686-pc-linux-gnu
/scratch/ugccgomp/lib/gcc/i686-pc-linux-gnu/4.1.0-gomp-20050608-branch/../../../../include/c++/4.1.0-gomp-20050608-branch/backward
/usr/local/include
/scratch/ugccgomp/include
/scratch/ugccgomp/lib/gcc/i686-pc-linux-gnu/4.1.0-gomp-20050608-branch/include
/usr/include
End of search list.
GNU C++ version 4.1.0-gomp-20050608-branch 20051023 (experimental) (merged
20051023) (i686-pc-linux-gnu)
compiled by GNU C version 4.1.0-gomp-20050608-branch 20051023
(experimental) (merged 20051023).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f20b28a8e8738447b8a8d4419521a6c9
test.cc: In function 'void bar(int*)':
test.cc:10: error: break statement used with OpenMP for loop
--
Summary: [openmp] Incorrect error for break statement in OpenMP
loop
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: martin at mpa-garching dot mpg dot de
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24516
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/24516] [gomp] Incorrect error for break statement in OpenMP loop
2005-10-25 11:46 [Bug c++/24516] New: [openmp] Incorrect error for break statement in OpenMP loop martin at mpa-garching dot mpg dot de
@ 2005-10-25 15:11 ` jakub at gcc dot gnu dot org
2005-10-25 21:42 ` cvs-commit at gcc dot gnu dot org
2005-10-25 21:54 ` jakub at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-10-25 15:11 UTC (permalink / raw)
To: gcc-bugs
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2005-10-25 15:11:34
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24516
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/24516] [gomp] Incorrect error for break statement in OpenMP loop
2005-10-25 11:46 [Bug c++/24516] New: [openmp] Incorrect error for break statement in OpenMP loop martin at mpa-garching dot mpg dot de
2005-10-25 15:11 ` [Bug c++/24516] [gomp] " jakub at gcc dot gnu dot org
@ 2005-10-25 21:42 ` cvs-commit at gcc dot gnu dot org
2005-10-25 21:54 ` jakub at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-25 21:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from cvs-commit at gcc dot gnu dot org 2005-10-25 21:42 -------
Subject: Bug 24516
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gomp-20050608-branch
Changes by: jakub@gcc.gnu.org 2005-10-25 21:42:21
Modified files:
gcc/cp : ChangeLog.gomp
gcc/testsuite : ChangeLog.gomp
gcc/cp : parser.c
Added files:
gcc/testsuite/gcc.dg/gomp: block-11.c
gcc/testsuite/g++.dg/gomp: block-11.C
Log message:
PR c++/24516
* parser.c (struct cp_parser): Rename in_iteration_statement
field to in_statement.
(IN_SWITCH_STMT, IN_ITERATION_STMT): Define.
(IN_OMP_BLOCK, IN_OMP_FOR): Change values.
(cp_parser_new, cp_parser_begin_omp_structured_block,
cp_parser_end_omp_structured_block, cp_parser_omp_for_loop): Adjust
for in_iteration_statement renaming.
(cp_parser_selection_statement): Save parser->in_iteration, or it
temporarily with IN_SWITCH_STMT for the
cp_parser_implicitly_scoped_statement call.
(cp_parser_iteration_statement): Adjust for in_iteration_statement
renaming. Use IN_ITERATION_STMT rather than true.
(cp_parser_jump_statement): Adjust for in_iteration_statement
renaming and new values. Don't error on break in a switch statement
within OMP_FOR or OpenMP structured block.
* gcc.dg/gomp/block-11.c: New test.
* g++.dg/gomp/block-11.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.gomp.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.8.24&r2=1.1.8.25
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.gomp.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.1.2.46&r2=1.1.2.47
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/parser.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=1.340.4.21&r2=1.340.4.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/gomp/block-11.c.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/gomp/block-11.C.diff?cvsroot=gcc&only_with_tag=gomp-20050608-branch&r1=NONE&r2=1.1.2.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24516
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/24516] [gomp] Incorrect error for break statement in OpenMP loop
2005-10-25 11:46 [Bug c++/24516] New: [openmp] Incorrect error for break statement in OpenMP loop martin at mpa-garching dot mpg dot de
2005-10-25 15:11 ` [Bug c++/24516] [gomp] " jakub at gcc dot gnu dot org
2005-10-25 21:42 ` cvs-commit at gcc dot gnu dot org
@ 2005-10-25 21:54 ` jakub at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-10-25 21:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from jakub at gcc dot gnu dot org 2005-10-25 21:54 -------
Fixed in CVS.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24516
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-10-25 21:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-25 11:46 [Bug c++/24516] New: [openmp] Incorrect error for break statement in OpenMP loop martin at mpa-garching dot mpg dot de
2005-10-25 15:11 ` [Bug c++/24516] [gomp] " jakub at gcc dot gnu dot org
2005-10-25 21:42 ` cvs-commit at gcc dot gnu dot org
2005-10-25 21:54 ` jakub at gcc dot gnu dot 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).