Commit Graph

167248 Commits

Author SHA1 Message Date
Jason Merrill
209cd3bd47 * g++.dg/lto/pr88049_0.C: Require lto_incremental.
From-SVN: r269368
2019-03-04 12:35:13 -05:00
Tamar Christina
01d88596fd Add missing gcc/testsuite/ChangeLog changelog entry.
From-SVN: r269367
2019-03-04 16:31:00 +00:00
Tamar Christina
664f54041e AArch64: Make test options_set_10.c not run on native.
The test options_set_10.c shouldn't run when cross compiled.
In addition to gating it on linux I'm also gating it on native now.

gcc/testsuite/ChangeLog:

	PR target/88530
	* gcc.target/aarch64/options_set_10.c:

From-SVN: r269366
2019-03-04 15:48:49 +00:00
Jonathan Wakely
7ac40f3d27 Remove redundant dg-do directive from test
* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
	directive.

From-SVN: r269365
2019-03-04 13:18:47 +00:00
Wilco Dijkstra
5f054b17f8 re PR tree-optimization/89437 (incorrect result for sinl (atanl (x)))
Fix PR89437

Fix PR89437. Fix the sinatan-1.c testcase to not run without
a C99 target system.  Use nextafterl for long double initialization.

Fix an issue with sinl (atanl (sqrtl (LDBL_MAX)) returning 0.0
instead of 1.0 by using x < sqrtl (LDBL_MAX) in match.pd.

    gcc/
	PR tree-optimization/89437
	* match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications.

    testsuite/
	PR tree-optimization/89437
	* gcc.dg/sinatan-1.c: Fix testcase.

From-SVN: r269364
2019-03-04 12:36:04 +00:00
Richard Biener
19d4e4d614 re PR tree-optimization/89572 (ICE in dyn_cast<gcond*, gimple>(gimple*) / get_loop_exit_condition(loop const*))
2019-03-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/89572
	* tree-scalar-evolution.c: (get_loop_exit_condition): Use
	safe_dyn_cast.

	* gcc.dg/torture/pr89572.c: New testcase.

From-SVN: r269363
2019-03-04 12:23:17 +00:00
Jonathan Wakely
0e31827300 Implement polymorphic_allocator<byte> for C++20 (P0339R6)
* include/std/memory_resource (polymorphic_allocator): Add default
	template argument for C++20.
	(polymorphic_allocator::allocate_bytes)
	(polymorphic_allocator::deallocate_bytes)
	(polymorphic_allocator::allocate_object)
	(polymorphic_allocator::deallocate_object)
	(polymorphic_allocator::new_object)
	(polymorphic_allocator::delete_object): New member functions for
	C++20.
	* testsuite/20_util/polymorphic_allocator/allocate_object.cc: New
	test.

From-SVN: r269362
2019-03-04 12:21:06 +00:00
Bin Cheng
c445049114 re PR tree-optimization/89487 (ICE in expand_expr_addr_expr_1, at expr.c:7993)
PR tree-optimization/89487
	* tree-loop-distribution.c (has_nonaddressable_dataref_p): New.
	(create_rdg_vertices): Compute has_nonaddressable_dataref_p.
	(distribute_loop): Don't do runtime alias check if there is non-
	addressable data reference.
	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL
	is a register variable.

	* gcc/testsuite/gcc.dg/tree-ssa/pr89487.c: New test.

From-SVN: r269361
2019-03-04 01:38:25 +00:00
GCC Administrator
19deb34365 Daily bump.
From-SVN: r269360
2019-03-04 00:16:29 +00:00
Jonathan Wakely
24cbcb003a PR libstdc++/89562 use binary mode for file I/O
PR libstdc++/89562
	* src/filesystem/ops-common.h (do_copy_file): Open files in binary
	mode for mingw.

From-SVN: r269356
2019-03-03 22:23:33 +00:00
Harald Anlauf
de06e54d21 re PR fortran/77583 (ICE in pp_quoted_string, at pretty-print.c:966)
2019-03-03  Harald Anlauf  <anlauf@gmx.de>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77583
	* symbol.c (check_conflict): Check for valid procedure name
	passed to error reporting routine.

	PR fortran/77583
	* gfortran.dg/pr77583.f90: New test.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r269353
2019-03-03 20:24:53 +00:00
Thomas Koenig
b450b08dfb re PR fortran/72714 ([Coarray] ICE in gfc_array_init_size, at fortran/trans-array.c:5235)
2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/72714
	* resolve.c (resolve_allocate_expr): Add some tests for coarrays.

2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/72714
	* gfortran.dg/coarray_allocate_11.f90: New test.

From-SVN: r269352
2019-03-03 13:16:40 +00:00
GCC Administrator
4a1a6fd764 Daily bump.
From-SVN: r269347
2019-03-03 00:16:22 +00:00
Johannes Pfau
b08c40f4ee PR d/89177 - Fix unaligned access in std.digest.murmurhash
libphobos/ChangeLog:

2019-02-24  Johannes Pfau  <johannespfau@gmail.com>

	* src/std/digest/murmurhash.d: PR d/89177: Backport from upstream.
	Fixes unaligned data access (PR d/89177).

From-SVN: r269343
2019-03-02 19:14:54 +00:00
Harald Anlauf
4716603bf8 re PR fortran/89516 (ICE in gfc_calculate_transfer_sizes at gcc/fortran/check.c:5506)
2019-03-02  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/89516
	* check.c (gfc_calculate_transfer_sizes): Correct checks for cases
	where storage size of elements of MOLD is 0.

	PR fortran/89516
	* gfortran.dg/pr89492.f90: Adjust testcase.
	* gfortran.dg/transfer_check_5.f90: New test.

From-SVN: r269341
2019-03-02 15:29:27 +00:00
Jakub Jelinek
574eaf0fda re PR c++/71446 (Incorrect overload resolution when using designated initializers)
PR c++/71446
	* cp-tree.h (CONSTRUCTOR_IS_DESIGNATED_INIT): Define.
	* parser.c (cp_parser_braced_list): Adjust cp_parser_initializer_list
	caller, set CONSTRUCTOR_IS_DESIGNATED_INIT.
	(cp_parser_initializer_list): Add designated parameter, set *designated
	to a bool whether any designators were parsed.
	* decl.c (reshape_init): Copy over CONSTRUCTOR_IS_DESIGNATED_INIT if
	needed.
	* pt.c (tsubst_copy_and_build): Likewise.
	* call.c (implicit_conversion): If CONSTRUCTOR_IS_DESIGNATED_INIT,
	don't call build_list_conv, nor build_complex_conv, nor attempt to
	convert a single element initializer to scalar.

	* g++.dg/cpp2a/desig10.C: New test.
	* g++.dg/cpp2a/desig11.C: New test.
	* g++.dg/ext/desig4.C: Expect 4 new errors.

From-SVN: r269340
2019-03-02 09:06:57 +01:00
Jakub Jelinek
73ba6c7120 re PR target/89506 (ICE: in decompose, at rtl.h:2266 with -Og -g)
PR target/89506
	* config/arm/arm.md (cmpsi2_addneg): Use
	trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...).
	If operands[2] is 0 or INT_MIN, force use of subs.
	(*compare_scc splitter): Use gen_int_mode.
	(*negscc): Likewise.
	* config/arm/thumb2.md (*thumb2_negscc): Likewise.

	* gcc.dg/pr89506.c: New test.

From-SVN: r269339
2019-03-02 09:05:10 +01:00
Ian Lance Taylor
64ef1e96ff re PR go/89406 (Go testing leaves many temporary directories in /tmp around)
PR go/89406
    go/internal/gccgoimporter: remove temporary directories in test
    
    Backport of https://golang.org/cl/164862.
    
    Updates https://gcc.gnu.org/PR89406
    
    Reviewed-on: https://go-review.googlesource.com/c/164863

From-SVN: r269338
2019-03-02 00:50:30 +00:00
Kito Cheng
8e96621085 RISC-V: Generalize -march support, add ELF attribute support.
Kito Cheng  <kito.cheng@gmail.com>
	Monk Chiang  <sh.chiang04@gmail.com>

	gcc/
	* common/config/riscv/riscv-common.c: Include sstream.
	(riscv_subset_list::to_string): New.
	(riscv_arch_str): Likewise.
	* config.gcc (riscv*-*-*): Handle --with-riscv-attribute=
	* config.in: Regen.
	* config/riscv/riscv-protos.h (riscv_arch_str): New.
	* config/riscv/riscv.c (INCLUDE_STRING): Defined.
	(riscv_emit_attribute): New.
	(riscv_file_start): Emit attribute if needed.
	(riscv_option_override): Init riscv_emit_attribute_p.
	* config/riscv/riscv.opt (mriscv-attribute): New option.
	* configure.ac (riscv*-*-*): Check binutils is supporting ELF
	* configure: Regen.
	* doc/install.texi: Document --with-riscv-attribute.
	* doc/invoke.texi: Document -mriscv-attribute.

	* common/config/riscv/riscv-common.c:
	Include config/riscv/riscv-protos.h.
	(INCLUDE_STRING): Defined.
	(RISCV_DONT_CARE_VERSION): Defined.
	(riscv_subset_t): Declare.
	(riscv_subset_t::riscv_subset_t): New.
	(riscv_subset_list): Declare.
	(riscv_subset_list::riscv_subset_list): New.
	(riscv_subset_list::~riscv_subset_list): Likewise.
	(riscv_subset_list::parsing_subset_version): Likewise.
	(riscv_subset_list::parse_std_ext): Likewise.
	(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
	(riscv_subset_list::add): Likewise.
	(riscv_subset_list::lookup): Likewise.
	(riscv_subset_list::xlen): Likewise.
	(riscv_subset_list::parse): Likewise.
	(riscv_supported_std_ext): Likewise.
	(current_subset_list): Likewise.
	(riscv_parse_arch_string): Using riscv_subset_list::parse to
	parse.

	gcc/testsuite/
	* gcc.target/riscv/attribute-1.c: New.
	* gcc.target/riscv/attribute-2.c: Likewise.
	* gcc.target/riscv/attribute-3.c: Likewise.
	* gcc.target/riscv/attribute-4.c: Likewise.
	* gcc.target/riscv/attribute-5.c: Likewise.
	* gcc.target/riscv/attribute-6.c: Likewise.
	* gcc.target/riscv/attribute-7.c: Likewise.
	* gcc.target/riscv/attribute-8.c: Likewise.
	* gcc.target/riscv/attribute-9.c: Likewise.

	* gcc.target/riscv/arch-1.c: New.
	* gcc.target/riscv/arch-2.c: Likewise.
	* gcc.target/riscv/arch-3.c: Likewise.
	* gcc.target/riscv/arch-4.c: Likewise.

Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r269337
2019-03-01 16:36:22 -08:00
GCC Administrator
fe3732876f Daily bump.
From-SVN: r269336
2019-03-02 00:16:20 +00:00
Ian Lance Taylor
8ea1c33cb3 cmd/go: restore passing D to ar
This restores part of https://golang.org/cl/45695 that was
    accidentally lost in https://golang.org/cl/158019 (the update to
    Go1.12beta2).
    
    Reviewed-on: https://go-review.googlesource.com/c/164737

From-SVN: r269333
2019-03-01 22:22:18 +00:00
Jakub Jelinek
6d9fa41bae re PR middle-end/89497 (ICE caused by Segmentation Fault when compiling cups 2.2.10 with LTO flags enabled)
PR middle-end/89497
	* g++.dg/tree-prof/devirt.C: Adjust also the ilp32
	scan-tree-dump-times from dom3 to tracer pass.

From-SVN: r269332
2019-03-01 20:06:36 +01:00
Segher Boessenkool
5234d2e686 rs6000: Adapt testcases for -mdejagnu-cpu=
This is the result of these two oneliners:
perl -ni -e 'print unless /dg-skip-if "do not override -mcpu"/' \
  $(find gcc/testsuite/gcc.target/powerpc/ -type f)
perl -pi -e 's/(dg-options.*)-mcpu=/\1-mdejagnu-cpu=/'  \
  $(find gcc/testsuite/gcc.target/powerpc/ -type f)


gcc/testsuite/
	* gcc.target/powerpc/ throughout: Delete dg-skip-if "do not override
	-mcpu".  Use -mdejagnu-cpu= in dg-options instead of -mcpu=.

From-SVN: r269324
2019-03-01 19:04:31 +01:00
Segher Boessenkool
75e2b35dd0 rs6000: Add -mdejagnu-cpu=
This adds an option -mdejagnu-cpu=.  This option simply overrides what
is given in -mcpu=.  The reason for this is that with older versions
of DejaGnu the value given in the RUNTESTFLAGS will override the value
a testcase wants to have.


	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
	rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index.
	* config/rs6000/rs6000.opt (mdejagnu-cpu=): New option.

From-SVN: r269322
2019-03-01 18:44:15 +01:00
Alexander Monakov
5055060066 haifa-sched: handle fallthru edge to EXIT block (PR 85899)
PR rtl-optimization/85899
	* haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
	fallthru edges leading to the exit block.

	* gcc.dg/pr85899.c: New test.

From-SVN: r269319
2019-03-01 19:18:04 +03:00
Marek Polacek
6fe7ce18d0 PR c++/89537 - missing location for error with non-static member fn.
* call.c (resolve_args): Use EXPR_LOCATION.
	* typeck.c (build_class_member_access_expr): Use input_location.

	* g++.dg/diagnostic/member-fn-1.C: New test.

From-SVN: r269318
2019-03-01 15:57:46 +00:00
Marek Polacek
d724d2aff6 PR c++/89532 - ICE with incomplete type in decltype.
* semantics.c (finish_compound_literal): Return error_mark_node
	if digest_init_flags returns error_mark_node.

	* g++.dg/cpp2a/nontype-class14.C: New test.

From-SVN: r269317
2019-03-01 15:55:56 +00:00
Ian Lance Taylor
337f1caed6 runtime: call execname and getpagesize on Solaris
Interpreting auxv as []uintptr is incorrect on 64-bit big-endian,
    as auxv alternates a 32-bit int with a 64-bit pointer.
    
    Patch from Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/c/164739

From-SVN: r269315
2019-03-01 14:21:24 +00:00
Jakub Jelinek
1259cb6d00 Implement P1002R1, Try-catch blocks in constexpr functions PR c++/89513
Implement P1002R1, Try-catch blocks in constexpr functions
	PR c++/89513
	* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
	Diagnose constexpr ctor or function with function-try-block with
	pedwarn for c++17 and earlier.  Formatting fix.
	(cp_parser_try_block): Use pedwarn instead of error and only for
	c++17 and earlier when try block appears in constexpr function.
	* constexpr.c (build_constexpr_constructor_member_initializers):
	Handle TRY_BLOCK here instead of erroring on it.

	* g++.dg/cpp2a/constexpr-try1.C: New test.
	* g++.dg/cpp2a/constexpr-try2.C: New test.
	* g++.dg/cpp2a/constexpr-try3.C: New test.
	* g++.dg/cpp2a/constexpr-try4.C: New test.
	* g++.dg/cpp2a/constexpr-try5.C: New test.
	* g++.dg/cpp0x/constexpr-ctor10.C: Don't expect error for C++2a.

From-SVN: r269314
2019-03-01 15:20:03 +01:00
Jonathan Wakely
c5effe9673 Fix test memory_resource to work without sized deallocation
The checking memory_resource in the testsuite assumes sized deallocation
is supported, which might not be true for other compilers.

	* testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
	[!__cpp_sized_deallocation]: Do not pass size to operator delete.

From-SVN: r269312
2019-03-01 13:50:41 +00:00
Jonathan Wakely
987bbe48bb C++2a Utility functions to implement uses-allocator construction (P0591R4)
* include/std/memory (uses_allocator_construction_args): New set of
	overloaded functions.
	(make_obj_using_allocator, uninitialized_construct_using_allocator):
	New functions.
	* include/std/memory_resource (polymorphic_allocator::construct)
	[__cplusplus > 201703l]: Replace all overloads with a single function
	using uses_allocator_construction_args.
	* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: New
	test.
	* testsuite/20_util/uses_allocator/make_obj.cc: New test.

From-SVN: r269311
2019-03-01 13:50:36 +00:00
Tamar Christina
1ccd849351 AArch64: Make every option in options.def one line
Due to config.gcc all the options need to be on one line because of the grep
lines which would select only the first line of the option.

This causes it not to select the right bits on options that are spread over
multiple lines when the --with-arch configure option is used.  The issue happens
silently and you just get a compiler with an incorrect set of default flags.

This solution just collapses everything back to one line as they were in GCC7.
Unfortunately this does make some lines quite long.

I do have an alternate patch which used the pre-processors to first flatten the
file in config.gcc.  I will send that one out for GCC 10.

gcc/ChangeLog:

	PR target/89517
	* config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16,
	rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line.

From-SVN: r269309
2019-03-01 13:34:14 +00:00
Richard Sandiford
f2d040abea Fix mask type choice in vectorizable_call (PR 89535)
This is another case in which we were failing to pass the expected
mask vector type to vect_get_vec_def_for_operand.

2019-02-28  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	PR tree-optimization/89535
	* tree-vect-stmts.c (vectorizable_call): Record the vector types
	for each operand.  Calculate the fallback choice for mask operands
	and pass it to vect_get_vec_def_for_operand.

gcc/testsuite/
	PR tree-optimization/89535
	* gfortran.dg/vect/pr89535.f90: New test.

From-SVN: r269308
2019-03-01 13:05:40 +00:00
Richard Biener
22fe0312b3 re PR tree-optimization/89541 (ICE in VN_INFO(tree_node*))
2019-03-01  Richard Biener  <rguenther@suse.de>

	PR middle-end/89541
	* tree-ssa-operands.c (add_stmt_operand): CONST_DECL may
	get virtual operands.
	(get_expr_operands): Handle CONST_DECL like other decls.

	* gfortran.dg/pr89451.f90: New testcase.

From-SVN: r269307
2019-03-01 12:52:19 +00:00
Iain Buclaw
9503d7b1ff d/dmd: Merge dmd upstream ed71446aa
Backports support for extern(C++, "namespace"), which makes the
core.stdcpp package compilable.

Added predefined condition for CppRuntime_Gcc unconditionally, as it is
unlikely that D code will be linking to anything other than libstdc++
when extern(C++) is used.

Reviewed-on: https://github.com/dlang/dmd/pull/9371

gcc/d/ChangeLog:

2019-03-01  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
	version condition.

From-SVN: r269304
2019-03-01 10:21:54 +00:00
Jakub Jelinek
c6b363486f re PR middle-end/89503 (Checking ICE in 'gcc.dg/warn-strlen-no-nul.c')
PR middle-end/89503
	* fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit
	on DECL_P and EXPR_P.

From-SVN: r269303
2019-03-01 10:26:40 +01:00
Richard Biener
d7a700e0a7 re PR middle-end/89497 (ICE caused by Segmentation Fault when compiling cups 2.2.10 with LTO flags enabled)
2019-03-01  Richard Biener  <rguenther@suse.de>

	PR middle-end/89497
	* tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
	argument, defaulted to zero.
	* passes.c (execute_function_todo): Pass down SSA update flags
	to cleanup_tree_cfg.
	* tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
	(cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA
	form if requested.
	(cleanup_tree_cfg): Get and pass down SSA update flags.

	* gcc.dg/tree-ssa/reassoc-43.c: Avoid false match in regex.
	* g++.dg/tree-prof/devirt.C: Scan tracer dump for foldings
	that happen now earlier.

From-SVN: r269302
2019-03-01 09:21:30 +00:00
Jakub Jelinek
743f0ba244 re PR bootstrap/89539 (gcc fails to build/bootstrap on MACOSX)
PR bootstrap/89539
	* dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
	early_lto_debug argument.

From-SVN: r269301
2019-03-01 09:10:19 +01:00
Ian Lance Taylor
2bf2aa34d1 re PR go/89406 (Go testing leaves many temporary directories in /tmp around)
PR go/89406
	* Makefile.am (GOTOOLS_TEST_TIMEOUT): Double.
	* Makefile.in: Regenerate.

From-SVN: r269300
2019-03-01 05:25:36 +00:00
Ian Lance Taylor
3eba09884e cmd/go: add -O2 to invocation of gccgo
When using the go tool with gccgo, this changes the default
    compilation to use -O2.  The -gccgoflags option can be used to
    override this default.  I think this change better corresponds to what
    people expect when using the go tool.
    
    Reviewed-on: https://go-review.googlesource.com/c/164378

From-SVN: r269299
2019-03-01 01:23:09 +00:00
Ian Lance Taylor
5b2eaa1170 commit 66ac9466852d11e968f8fd2ad6ffc7386cee49e1
gotest: avoid using echo inside $()
    
    The handling of newlines is not portable between bash and ksh.
    
    Reviewed-on: https://go-review.googlesource.com/c/164597

From-SVN: r269298
2019-03-01 01:03:54 +00:00
GCC Administrator
1e15758224 Daily bump.
From-SVN: r269297
2019-03-01 00:16:34 +00:00
Jason Merrill
2eb409c65a * g++.dg/cpp1z/fold-lambda3.C: Add test for 88183.
From-SVN: r269294
2019-02-28 19:10:28 -05:00
Jason Merrill
aaa6a4664b PR c++/88183 - ICE with .* fold-expression.
build_m_component_ref can't handle type-dependent operands, so let's use the
default case; tsubst_copy_and_build also uses build_x_binary_op for
substituting a DOTSTAR_EXPR.

	* pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling.

From-SVN: r269293
2019-02-28 19:08:58 -05:00
Jason Merrill
1eb7a0850b PR c++/86969 - ICE with constexpr if and recursive generic lambdas.
* class.c, lambda.c, pt.c: Revert earlier change.
	* lambda.c (add_capture): Don't special-case capture of dependent
	VLA.

From-SVN: r269292
2019-02-28 19:08:21 -05:00
Jason Merrill
fbfef5060f * name-lookup.c (print_binding_level): Print this_entity.
From-SVN: r269291
2019-02-28 19:07:29 -05:00
Eric Botcazou
85222504cc re PR tree-optimization/89536 (wrong code at -Os and above on x86_64-linux-gnu)
PR tree-optimization/89536
	* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
	only whether bit #0 of the value is 0 instead of the entire value.

From-SVN: r269289
2019-02-28 23:03:01 +00:00
Marek Polacek
cc284d9cf7 PR c++/87068 - missing diagnostic with fallthrough statement.
* gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found
	at the end of a seq, save its location to walk_stmt_info.
	(expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of
	a switch.

	* c-c++-common/Wimplicit-fallthrough-37.c: New test.

From-SVN: r269288
2019-02-28 22:29:42 +00:00
Thomas Schwinge
80d6ca0184 [PR72741, PR89433] Repeated use of the Fortran OpenACC 'routine' directive
gcc/fortran/
	PR fortran/72741
	PR fortran/89433
	* openmp.c (gfc_match_oacc_routine): Handle repeated use of the
	Fortran OpenACC 'routine' directive.
	gcc/testsuite/
	PR fortran/72741
	PR fortran/89433
	* gfortran.dg/goacc/routine-multiple-directives-1.f90: New file.
	* gfortran.dg/goacc/routine-multiple-directives-2.f90: Likewise.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r269287
2019-02-28 21:31:36 +01:00
Thomas Schwinge
e5fd6684b9 [PR72741] For all Fortran OpenACC 'routine' directive variants check for multiple clauses specifying the level of parallelism
gcc/fortran/
	PR fortran/72741
	* gfortran.h (enum oacc_routine_lop): Add OACC_ROUTINE_LOP_ERROR.
	* openmp.c (gfc_oacc_routine_lop, gfc_match_oacc_routine): Use it.
	* trans-decl.c (add_attributes_to_decl): Likewise.
	gcc/testsuite/
	PR fortran/72741
	* gfortran.dg/goacc/routine-multiple-lop-clauses-1.f90: New file.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r269286
2019-02-28 21:31:23 +01:00