Go to file
Jakub Jelinek 2dc9294c3c openmp: Reject requires directives not at file or namespace scope [PR94593]
This change started with a bugreport about a typo in one requires testcase
(diagnosed with -Wunknown-pragmas only), but following discussion lead to
noting that we do not diagnose restriction that requires directives in
C/C++ may only appear at file or namespace scope; and several our tests
violated that.

2020-04-15  Jakub Jelinek  <jakub@redhat.com>

	PR c/94593
	* c-parser.c (c_parser_pragma) <case PRAGMA_OMP_REQUIRES>: Reject
	requires directive when not at file scope.

	* parser.c (cp_parser_pragma) <case PRAGMA_OMP_REQUIRES>: Reject
	requires directive when not at file or namespace scope.

	* c-c++-common/gomp/requires-1.c: Fix a typo, requries -> requires.
	Move directives to file scope.
	(i): Remove.
	* c-c++-common/gomp/requires-2.c: Move directives to file scope.
	(i, foo): Remove.
	* c-c++-common/gomp/requires-4.c: Move directives to file scope.
	* c-c++-common/gomp/atomic-19.c: Move requires directive to file scope.
	* c-c++-common/gomp/atomic-20.c: Likewise.
	* c-c++-common/gomp/atomic-21.c: Likewise.
	* c-c++-common/gomp/atomic-22.c: Likewise.
	* gcc.dg/gomp/requires-1.c: New test.
	* g++.dg/gomp/requires-1.C: New test.
	* g++.dg/gomp/requires-2.C: New test.
	* g++.dg/gomp/atomic-18.C: Move requires directive to file scope.
2020-04-15 09:59:14 +02:00
config Use a non-empty test program to test ability to link. 2020-02-12 13:22:07 -08:00
contrib Improve svn-rev to search for pattern at line beginning. 2020-04-03 12:30:39 +02:00
fixincludes Allow CONFIG_SHELL to override build-time shell in mkheaders 2020-02-20 22:09:03 -03:00
gcc openmp: Reject requires directives not at file or namespace scope [PR94593] 2020-04-15 09:59:14 +02:00
gnattools PR81878: fix --disable-bootstrap --enable-languages=ada 2018-11-20 00:07:47 +00:00
gotools libgo: update to Go1.14beta1 2020-01-21 23:53:22 -08:00
include Clear me from patch ownership. 2020-04-01 11:58:35 +02:00
INSTALL
intl Fixes after recent configure changes relating to static libraries 2020-02-01 00:34:28 +00:00
libada Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
libatomic libatomic/test: Fix compilation for build sysroot 2020-04-06 23:32:44 +01:00
libbacktrace libbacktrace: update to current libgo test file 2020-02-15 18:25:13 -08:00
libcc1 c++: Fix return type deduction with an abbreviated function template 2020-02-10 20:43:53 -05:00
libcpp Update cpplib eo.po. 2020-04-06 21:34:20 +00:00
libdecnumber Update copyright years. 2020-01-01 12:51:42 +01:00
libffi Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
libgcc libgcc: use syscall rather than __mmap/__munmap 2020-04-07 11:30:10 -07:00
libgfortran Fix PR fortran/93871 and re-implement degree-valued trigonometric intrinsics. 2020-04-07 13:18:38 -04:00
libgo libgo: update to final 1.14.2 release 2020-04-09 20:14:25 -07:00
libgomp Rename 'libgomp.oacc-c-c++-common/static-dynamic-lifetimes-*' to 'libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-*' [PR92843] 2020-04-13 08:56:03 +02:00
libhsail-rt Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
libiberty Keep .GCC.command.line sections of LTO objetcs 2020-03-05 08:44:11 +01:00
libitm Use a non-empty test program to test ability to link. 2020-02-12 13:22:07 -08:00
libobjc Use a non-empty test program to test ability to link. 2020-02-12 13:22:07 -08:00
liboffloadmic Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
libphobos d: Merge update dmd 799066f49 2020-04-13 11:35:28 +02:00
libquadmath Use a non-empty test program to test ability to link. 2020-02-12 13:22:07 -08:00
libsanitizer Darwin, libsanitizer: Adjust minimum supported Darwin version (PR93731). 2020-03-01 14:40:57 +00:00
libssp Use a non-empty test program to test ability to link. 2020-02-12 13:22:07 -08:00
libstdc++-v3 libstdc++: Fix constraints on std::compare_three_way 2020-04-14 21:59:15 +01:00
libvtv Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
lto-plugin API extension for binutils (type of symbols). 2020-03-19 16:56:27 +01:00
maintainer-scripts maintainer-scripts: Fix up gcc_release without -l, where mkdir was using umask 077 after migration 2020-03-12 18:30:16 +01:00
zlib Add `--with-toolexeclibdir=' configuration option 2020-01-24 11:24:25 +00:00
.dir-locals.el
.gitattributes Add *.md diff=md. 2020-01-15 14:29:53 +01:00
.gitignore Add .clangd and compile_commands.json to .gitignore. 2019-08-28 19:33:28 +00:00
ABOUT-NLS
ar-lib Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ChangeLog Add myself as callgraph (IPA) reviewer 2020-04-14 14:12:18 +02:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in MSP430: Add -fno-exceptions multilib 2019-12-11 19:19:50 +00:00
config.guess Update config.sub and config.guess. 2019-09-09 11:14:32 +02:00
config.rpath
config.sub Update config.sub and config.guess. 2019-09-09 11:14:32 +02:00
configure Merge top-level configury changes from gdb 2020-04-09 06:52:55 -06:00
configure.ac Merge top-level configury changes from gdb 2020-04-09 06:52:55 -06:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags
libtool.m4 [ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2019-09-10 09:37:00 +02:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Add myself as callgraph (IPA) reviewer 2020-04-14 14:12:18 +02:00
Makefile.def Merge top-level configury changes from gdb 2020-04-09 06:52:55 -06:00
Makefile.in Merge top-level configury changes from gdb 2020-04-09 06:52:55 -06:00
Makefile.tpl Makefile.tpl (HOST_EXPORTS): Add CXX_FOR_BUILD. 2019-08-23 15:37:22 -06:00
missing
mkdep
mkinstalldirs
move-if-change
multilib.am Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
README
symlink-tree
test-driver Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.