Commit Graph

152073 Commits

Author SHA1 Message Date
Jonathan Wakely
fe701c775e Adjust whitespace in <bits/atomic_base.h>
* include/bits/atomic_base.h: Re-indent.

From-SVN: r245362
2017-02-11 21:08:06 +00:00
Jakub Jelinek
e22910c200 re PR sanitizer/79341 (Many Asan tests fail on s390)
PR sanitizer/79341
	* g++.dg/asan/deep-stack-uaf-1.C: New test.

From-SVN: r245361
2017-02-11 19:38:11 +01:00
Jakub Jelinek
c0a2ef7de3 invoke.texi (fopenmp): Bump OpenMP version from 4.0 to 4.5.
* doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
	4.5.

From-SVN: r245360
2017-02-11 19:04:07 +01:00
Jan Hubicka
acbbac0444 re PR middle-end/56727 (Recursive call goes through the PLT unnecessarily)
PR tree-ssa/56727
	* gcc.dg/tree-ssa/pr56727.c: New testcase.
	* ipa-utils.c (recursive_call_p): Be more careful about interposition.

From-SVN: r245359
2017-02-11 17:56:02 +00:00
Jason Merrill
bc61048a14 PR c++/77790 - ICE with auto function in C++11 mode
* decl.c (undeduced_auto_decl): Remove C++14 limitation.
	(require_deduced_type): Add complain parm, return bool.
	* cp-tree.h: Adjust.
	* decl2.c (mark_used): Use require_deduced_type.

From-SVN: r245358
2017-02-11 12:29:45 -05:00
Jan Hubicka
31deea5e71 re PR tree-optimization/79224 (Large C-Ray slowdown)
PR ipa/79224
	* ipa-inline-analysis.c (get_minimal_bb): New function.
	(record_modified): Use it.
	(remap_edge_change_prob): Handle also ancestor functions.

From-SVN: r245357
2017-02-11 16:11:57 +00:00
Gerald Pfeifer
56a9ca7038 contrib.texi (Contributors): Remove broken link into the Mauve CVS repository.
* doc/contrib.texi (Contributors): Remove broken link into
	the Mauve CVS repository.

From-SVN: r245355
2017-02-11 08:46:26 +00:00
Jakub Jelinek
6a5cdb0e9e re PR middle-end/79454 (c-c++-common/ubsan/overflow-vec-*.c FAILs on some 64-bit BE targets)
PR middle-end/79454
	* internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
	result computation whenever lhs doesn't have vector mode, not
	just when it has BLKmode.

From-SVN: r245354
2017-02-11 09:15:30 +01:00
GCC Administrator
b0c00c7a49 Daily bump.
From-SVN: r245353
2017-02-11 00:16:14 +00:00
Jakub Jelinek
1509524bcc re PR sanitizer/79341 (Many Asan tests fail on s390)
PR sanitizer/79341
	* configure.tgt (s390*-*-linux*): Don't disable libsanitizer on
	s390-linux 31-bit.
	* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
	r294793.
	* sanitizer_common/sanitizer_common_interceptors.inc: Cherry-pick
	upstream r294790.
	* sanitizer_common/sanitizer_linux_s390.cc: Cherry-pick upstream
	r294799.

From-SVN: r245350
2017-02-11 00:34:49 +01:00
Gerald Pfeifer
42f8e766cc * doc/xml/manual/profile_mode.xml: Update a paper reference.
From-SVN: r245349
2017-02-10 22:20:16 +00:00
Gerald Pfeifer
eb533b4e26 makefile.texi (profiledbootstrap): Refer to the installation instructions only in textual form.
* doc/makefile.texi (profiledbootstrap): Refer to the
	installation instructions only in textual form.

From-SVN: r245348
2017-02-10 22:06:01 +00:00
Aaron Sawdey
c1170481c9 re PR target/79295 (gcc.target/powerpc/bcd-3.c fails starting with r244942)
2017-02-10  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/79295
	* config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.

Applying patch suggested by Meissner.

From-SVN: r245345
2017-02-10 15:07:36 -06:00
Jakub Jelinek
e493f96b95 re PR c++/79457 (Segmentation fault in templated decltype evaluation)
PR c++/79457
	* g++.dg/cpp0x/pr79457.C: New test.

From-SVN: r245344
2017-02-10 21:58:31 +01:00
Jason Merrill
6a2cc46b79 PR c++/78908 - template ops and bitfields
* tree.c (build_min_non_dep): Use unlowered_expr_type.

From-SVN: r245343
2017-02-10 15:43:33 -05:00
Jason Merrill
5c97093ba7 PR c++/78897 - constexpr union
* constexpr.c (cxx_eval_store_expression): A store to a union member
	erases a previous store to another member.

From-SVN: r245341
2017-02-10 13:50:30 -05:00
Jason Merrill
f494ac0ebd PR c++/71285 - member of fold-expression
* semantics.c (finish_unary_fold_expr)
	(finish_binary_fold_expr): Use null type for fold-expressions.

From-SVN: r245340
2017-02-10 13:24:36 -05:00
Jason Merrill
c16b872c8f PR c++/79401 - protected inherited constructor
* call.c (enforce_access): For inheriting constructor, find a base
	binfo in the path we already have.

From-SVN: r245339
2017-02-10 13:01:27 -05:00
Segher Boessenkool
773acd5428 testsuite, rs6000: fold-vec-mult-longlong.c
On 32-bit we of course do not generate mulld insns.  This patch makes
the testcase only do the scan-assembler on 64-bit targets.


gcc/testsuite/
	* gcc.target/powerpc/fold-vec-mult-longlong.c: Don't do the
	scan-assembler unless lp64.

From-SVN: r245338
2017-02-10 17:59:51 +01:00
Segher Boessenkool
b56f814e8a testsuite, rs6000: Don't xfail 32-bit (PR66612)
-m32 works fine, only 64-bit still fails.


gcc/testsuite/
	PR tree-optimization/66612
	* gcc.target/powerpc/20050830-1.c: Don't xfail on 32-bit.

From-SVN: r245337
2017-02-10 17:58:14 +01:00
Segher Boessenkool
5e659d16e0 testsuite, rs6000: Don't xfail Wtrampolines.c on -m32
This test does not fail with -m32, so we shouldn't xfail it there.


gcc/testsuite/
	* gcc.dg/Wtrampolines.c: Do the xfail for only 64-bit powerpc instead
	of all powerpc.

From-SVN: r245336
2017-02-10 17:55:58 +01:00
Marek Polacek
3799a5b853 re PR c++/79184 (-Wint-in-bool-context triggered erroneously in template parameter)
PR c++/79184
	* cvt.c (ocp_convert): Add a sentinel against -Wint-in-bool-context
	if warnings shouldn't be given.

	* g++.dg/warn/Wint-in-bool-context-1.C: New.

From-SVN: r245335
2017-02-10 16:33:45 +00:00
Marek Polacek
6f4f30bf31 re PR c++/79435 (ICE on invalid C++ code (with member access into an incomplete type) on x86_64-linux-gnu: Segmentation fault)
PR c++/79435
	* pt.c (type_dependent_expression_p): Check if the expression type
	is null.

	* g++.dg/cpp1y/pr79435.C: New.

From-SVN: r245334
2017-02-10 16:32:19 +00:00
Gerald Pfeifer
67afc9a696 install.texi (Specific): Use https for blackfin.uclinux.org.
* doc/install.texi (Specific): Use https for blackfin.uclinux.org.
	(Specific): Update mingw-w64 reference.
	(Binaries): Ditto.
	(Specific): Remove broken link to Renesas RX processor.

From-SVN: r245332
2017-02-10 16:08:46 +00:00
Richard Biener
31f1473a82 toplev.c (process_options): Do not mention obsolete graphite options when...
2017-02-10  Richard Biener  <rguenther@suse.de>

	* toplev.c (process_options): Do not mention obsolete graphite
	options when printing sorry message about missing graphite support.
	Mention -floop-nest-optimize.

From-SVN: r245331
2017-02-10 14:28:11 +00:00
Christophe Lyon
052ef81d2d [ARM,AArch64] more poly64 intrinsics and tests
2017-02-06  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/
	* config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
	(vtst_p16): Likewise.
	(vtstq_p8): Likewise.
	(vtstq_p16): Likewise.
	(vtst_p64): New.
	(vtstq_p64): Likewise.
	* config/arm/arm_neon.h (vgetq_lane_p64): New.
	(vset_lane_p64): New.
	(vsetq_lane_p64): New.

2017-02-06  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/testsuite/
	* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c
	(vget_lane_expected, vset_lane_expected, vtst_expected_poly64x1):
	New.
	(vmov_n_expected0, vmov_n_expected1, vmov_n_expected2)
	(expected_vld_st2_0, expected_vld_st2_1, expected_vld_st3_0)
	(expected_vld_st3_1, expected_vld_st3_2, expected_vld_st4_0)
	(expected_vld_st4_1, expected_vld_st4_2, expected_vld_st4_3)
	(vtst_expected_poly64x2): Move to aarch64-only section.
	(vget_lane_p64, vgetq_lane_p64, vset_lane_p64, vsetq_lane_p64)
	(vtst_p64, vtstq_p64): New tests.

From-SVN: r245328
2017-02-10 14:18:16 +01:00
Paolo Carlini
a7c8ed0c36 re PR c++/71737 (ICE following 2x pack expansion in non-pack with template alias)
/cp
2017-02-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71737
	* pt.c (tsubst_decl): Don't try to preserve a typedef that names
	an error_mark_node as type.

/testsuite
2017-02-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71737
	* g++.dg/cpp0x/pr71737.C: New.

From-SVN: r245327
2017-02-10 13:14:05 +00:00
Prasad Ghangal
3dcde5efcd gimple-parser.c (c_parser_gimple_binary_expression): Avoid building IL when arguments are error_mark_node.
2017-02-10  Prasad Ghangal  <prasad.ghangal@gmail.com>
	Richard Biener  <rguenther@suse.de>

	* gimple-parser.c (c_parser_gimple_binary_expression): Avoid
	building IL when arguments are error_mark_node.
	(c_parser_gimple_unary_expression): Likewise.
	(c_parser_gimple_if_stmt): Likewise.
	(c_parser_gimple_switch_stmt): Likewise.
	(c_parser_gimple_return_stmt): Likewise.
	(c_parser_parse_ssa_name): When name lookup fails do not build
	an SSA name.  Use undeclared rather than not declared in error
	reporting.

	* gcc.dg/gimplefe-error-1.c: New testcase.
	* gcc.dg/gimplefe-error-2.c: New testcase.
	* gcc.dg/gimplefe-error-3.c: New testcase.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r245326
2017-02-10 12:47:05 +00:00
Jakub Jelinek
6139a3b76c re PR tree-optimization/79411 (ICE: SSA corruption (fail_abnormal_edge_coalesce))
PR tree-optimization/79411
	* tree-ssa-reassoc.c (is_reassociable_op): Return false if
	stmt operands are SSA_NAMEs used in abnormal phis.
	(can_reassociate_p): Return false if op is SSA_NAME used in abnormal
	phis.

	* gcc.c-torture/compile/pr79411.c: New test.

From-SVN: r245324
2017-02-10 09:47:32 +01:00
GCC Administrator
e8f45b6c35 Daily bump.
From-SVN: r245320
2017-02-10 00:16:17 +00:00
Jakub Jelinek
9bfc55d096 re PR c++/79143 ([new inheriting constructors] inheriting constructor fails with brace initialization)
PR c++/79143
	* pt.c (instantiate_class_template_1): Copy CLASSTYPE_NON_AGGREGATE
	from pattern to type.

	* g++.dg/cpp1z/pr79143.C: New test.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r245315
2017-02-09 23:12:15 +01:00
Jason Merrill
a56c0ac082 PR c++/79316 - default argument in deduction guide
PR c++/79350 - explicit deduction guide
	* parser.c (cp_parser_constructor_declarator_p)
	(cp_parser_direct_declarator): Parse deduction guides more like
	constructors.
	* cp-tree.h (enum special_function_kind): Add sfk_deduction_guide.
	* tree.c (special_function_p): Return it.
	* decl.c (check_special_function_return_type): Handle it.
	(grokdeclarator, grokfndecl): Adjust.
	(cp_finish_decl): Pass flags to do_auto_deduction.
	* error.c (dump_decl_name): Use TFF_UNQUALIFIED_NAME.
	* pt.c (dguide_name_p): Take a const_tree.
	(do_class_deduction): Handle explicit.
	(do_auto_deduction): Pass flags through.
	(build_deduction_guide): Copy explicit flag.

From-SVN: r245314
2017-02-09 15:55:54 -05:00
Jan Hubicka
388dde26a5 re PR ipa/70795 (gcc/libjava/interpret.cc:1948:1: ICE: in binds_to_current_def_p, at symtab.c:2232)
PR ipa/70795
	* cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
	flag if needed.

From-SVN: r245312
2017-02-09 18:16:00 +00:00
Jan Hubicka
0b90c54148 loop-unswitch-2.c: New testcase.
* gcc.dg/loop-unswitch-2.c: New testcase.
	* gcc.dg/loop-unswitch-1.c: New testcase.
	* tree-ssa-loop-unswitch.c (hoist_guard): Update profile.

From-SVN: r245311
2017-02-09 18:13:35 +00:00
Marek Polacek
192b048b5c re PR c/79428 (ICE in c_parser_consume_token, at c/c-parser.c:770)
PR c/79428
	* c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
	instead of c_parser_skip_until_found.

	* c-c++-common/cilk-plus/CK/pr79428-4.c: New test.
	* c-c++-common/cilk-plus/CK/pr79428-7.c: New test.
	* c-c++-common/goacc/pr79428-1.c: New test.
	* c-c++-common/gomp/pr79428-2.c: New test.
	* c-c++-common/gomp/pr79428-5.c: New test.
	* c-c++-common/gomp/pr79428-6.c: New test.
	* c-c++-common/pr79428-3.c: New test.

From-SVN: r245309
2017-02-09 17:07:26 +00:00
Andreas Krebbel
e9a9033b59 S/390: Fix glob pattern for vector tests.
2017-02-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* gcc.target/s390/s390.exp: Fix test glob pattern for vector
	testcases.

From-SVN: r245307
2017-02-09 15:31:27 +00:00
Jakub Jelinek
891ba5eb6d omp-offload.c (oacc_loop_auto_partitions): Use || instead of | to avoid warning.
* omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
	to avoid warning.

From-SVN: r245306
2017-02-09 16:17:55 +01:00
Jakub Jelinek
28f6839be1 re PR c/79413 (ICE in make_ssa_name_fn, at tree-ssanames.c:265)
PR c/79413
	* gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
	not arbitrary TREE_CONSTANT.

	* gcc.c-torture/compile/pr79413.c: New test.

From-SVN: r245304
2017-02-09 15:26:40 +01:00
Jakub Jelinek
f08683a154 re PR c++/79429 (ICE in add_stmt, at cp/semantics.c:385)
PR c++/79429
	* parser.c (cp_parser_omp_ordered): Don't check for non-pragma_stmt
	non-pragma_compound context here.
	(cp_parser_omp_target): Likewise.
	(cp_parser_pragma): Don't call push_omp_privatization_clauses and
	parsing for ordered and target omp pragmas in non-pragma_stmt
	non-pragma_compound contexts.

	* c-c++-common/gomp/pr79429.c: New test.
	* g++.dg/gomp/pr79429.C: New test.

From-SVN: r245303
2017-02-09 15:06:58 +01:00
Jakub Jelinek
56f7147848 re PR c/79431 (ICE in get, at cgraph.h:397)
PR c/79431
	* gimplify.c (gimplify_adjust_omp_clauses): Ignore
	"omp declare target link" attribute unless is_global_var.
	* omp-offload.c (find_link_var_op): Likewise.
c/
	* c-parser.c (c_parser_omp_declare_target): Don't invoke
	symtab_node::get on automatic variables.
cp/
	* parser.c (cp_parser_oacc_declare): Formatting fix.
	(cp_parser_omp_declare_target): Don't invoke symtab_node::get on
	automatic variables.
testsuite/
	* c-c++-common/gomp/pr79431.c: New test.

From-SVN: r245302
2017-02-09 15:01:44 +01:00
Jakub Jelinek
1bbe0d8f47 loop-dim-default.c: Move dg-skip-if directive into a comment.
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
	dg-skip-if directive into a comment.

From-SVN: r245301
2017-02-09 14:50:28 +01:00
Chung-Lin Tang
02889d23ee gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE.
2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	gcc/
	* gimplify.c (gimplify_scan_omp_clauses): No special handling for
	OMP_CLAUSE_TILE.
	(gimplify_adjust_omp_clauses): Don't delete TILE.
	(gimplify_omp_for): Deal with TILE.
	* internal-fn.c (expand_GOACC_TILE): New function.
	* internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
	(GOACC_TILE): New.
	* omp-expand.c (struct oacc_collapse): Add tile and outer fields.
	(expand_oacc_collapse_init): Add LOC paramter.  Initialize tile
	element fields.
	(expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
	avoid DIV for outermost collapse var.
	(expand_oacc_for): Insert tile element loop as needed.  Adjust.
	Remove out of date comments, fix whitespace.
	* omp-general.c (omp_extract_for_data): Deal with tiling.
	* omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
	adjust OLF_DIM_BASE value.
	(struct omp_for_data): Add tiling field.
	* omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
	(lower_oacc_head_mark): Add OLF_TILE as appropriate.  Ensure 2 levels
	for auto loops.  Remove default auto determining, moved to
	oacc_loop_fixed_partitions.
	* omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
	stmts, add e_mask field.
	(oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
	(oacc_thread_numbers): Use oacc_dim_call.
	(oacc_xform_tile): New.
	(new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
	(finish_oacc_loop): Adjust for ifns vector.
	(oacc_loop_discover_walk): Append loop abstraction sites to list,
	add case for GOACC_TILE fns.
	(oacc_loop_xform_loop): Delete.
	(oacc_loop_process): Iterate over call list directly, and add
	handling for GOACC_TILE fns.
	(oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
	dump partitioning.
	(oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
	vector partitioning to outer loops.  Assign 2 partitions to loops
	when available. Add TILE handling.
	(oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
	(execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
	* tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
	* tree.c (omp_clause_num_ops): Adjust TILE ops.
	* tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.

	gcc/c/
	* c-parser.c (c_parser_omp_clause_collapse): Disallow tile.
	(c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and
	semantic checking.
	* c-parser.c (c_parser_omp_for_loop): Accept tiling constructs.

	gcc/cp/
	* parser.c (cp_parser_oacc_clause_tile): Disallow collapse.  Fix
	parsing.  Parse constant expression. Remove semantic checking.
	(cp_parser_omp_clause_collapse): Disallow tile.
	(cp_parser_omp_for_loop): Deal with tile clause.  Don't emit a parse
	error about missing for after already emitting one.  Use more
	conventional for idiom for unbounded loop.
	* pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_TILE.
	* semantics.c (finish_omp_clauses): Correct TILE semantic check.
	(finish_omp_for): Deal with tile clause.

	gcc/fortran/
	* openmp.c (resolve_omp_clauses): Error on directives
	containing both tile and collapse clauses.
	(resolve_oacc_loop_blocks): Represent '*' tile arguments as zero.
	* trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like
	collapsed loops.

	gcc/testsuite/
	* c-c++-common/goacc/combined-directives.c: Remove xfail.
	* c-c++-common/goacc/loop-auto-1.c: Adjust and add additional case.
	* c-c++-common/goacc/loop-auto-2.c: New.
	* c-c++-common/goacc/tile.c: Include stdbool, fix expected errors.
	* c-c++-common/goacc/tile-2.c: New.
	* g++.dg/goacc/template.C: Test tile subst.  Adjust erroneous uses.
	* g++.dg/goacc/tile-1.C: New, check tile subst.
	* gcc.dg/goacc/loop-processing-1.c: Adjust dg-final pattern.
	* gfortran.dg/goacc/combined-directives.f90: Remove xfail.
	* gfortran.dg/goacc/tile-1.f90: New test.
	* gfortran.dg/goacc/tile-2.f90: New test.
	* gfortran.dg/goacc/tile-lowering.f95: New test.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
	add additional case.
	* testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
	"openacc_nvidia_accel_selected".
	* libgomp.oacc-fortran/nested-function-1.f90 (test2):
	Add num_workers(8) clause.

From-SVN: r245300
2017-02-09 13:46:20 +00:00
Gerald Pfeifer
19e30111ee configure.ac (ACX_BUGURL): Update.
* configure.ac (ACX_BUGURL): Update.
	* configure: Regenerate.

From-SVN: r245299
2017-02-09 10:56:08 +00:00
Gerald Pfeifer
e228c50f3a * Makefile.in (po/$(PACKAGE).pot): Adjust bug reporting URL.
From-SVN: r245298
2017-02-09 08:55:46 +00:00
Gerald Pfeifer
b5811a69d1 * comperr.adb: Update FSF bug reporting URL.
From-SVN: r245297
2017-02-09 08:36:38 +00:00
Gerald Pfeifer
9334ef9e73 configure.ac (ACX_BUGURL): Update.
* configure.ac (ACX_BUGURL): Update.
	* configure: Regenerate.

From-SVN: r245296
2017-02-09 08:30:30 +00:00
Richard Biener
9c0c77d279 re PR tree-optimization/69823 (internal compiler error: in create_pw_aff_from_tree, at graphite-sese-to-poly.c:445)
2017-02-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69823
	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
	Properly enumerate all BBs in the region.  Use auto_vec/auto_bitmap.

	* gcc.dg/graphite/pr69823.c: New testcase.

From-SVN: r245295
2017-02-09 07:47:07 +00:00
Andrew Burgess
3a9abd2302 arc/gcc: Better creation of __NPS400__ define
The __NPS400__ define is currently created in CPP_SPEC unlike the other
target defines, which are created in arc-c.def.  Further, the current
__NPS400__ define is (currently) only created when -mcpu=nps400 is
passed, which is fine, except that if GCC is configured using
--with-cpu=nps400 then the -mcpu option is not required and the
__NPS400__ define will not be created.

This commit moves the __NPS400__ define into arc-c.def inline with all
of the other target defines, and removes the code in CPP_SPEC that used
to create the define.

In order to support the creation of the define in arc-c.def, a new
TARGET_NPS400 macro is created in arc.h.

gcc/ChangeLog:

	* config/arc/arc-c.def: Add __NPS400__ definition.
	* config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
	(TARGET_NPS400): Define.

From-SVN: r245294
2017-02-09 00:35:20 +00:00
Andrew Burgess
c3bde35a56 gcc/arc: Make arc_selected_cpu global
Currently we only make the base_architecture globally available, this
means we can tell if we have selected arc700/archs/etc but it's not
possible to tell if the user has selected a specific cpu variant, for
example nps400.

One problem this causes is, for example, in arc-c.def, if we want to add
an __NPS400__ define then we need a flag we can check to determine if
this is the right thing to do.

In this commit the arc_selected_cpu variable (previously local within
arc.c) has been made global.  Two other variables arc_base_cpu and
arc_selected_arch have been deleted, all of this information can be
found within (or through) arc_selected_cpu.

All uses of arc_base_cpu and arc_selected_arch have been updated.  This
commit does not introduce any new defines (like __NPS400__), this is
just a restructuring commit.

The declaration of arc_selected_cpu has moved into arc-arch.h, in
contrast to the declaration of arc_base_cpu which was previously in
arc.h.  This avoids a compilation issue when building libgcc, as the
structure and enums declared in arc-arch.h are not included for libgcc
then declaring an arc_selected_cpu (a struct type) in arc.h would result
in an unknown struct error.  We got away with this for arc_base_cpu as
that was an enum type.  The declaration of arc_selected_cpu in
arc.h could have been wrapped in a '#ifndef IN_LIBGCC2 ... #endif', but
it felt neater to simply move the declaration into arc-arch.h.

gcc/ChangeLog:

	* config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
	file.
	(arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
	pointer, arch_info.
	(arc_cpu_types): Fill the arch_info field with a pointer into the
	arc_arch_types table.
	(arc_selected_cpu): Declare.
	* config/arc/arc.c (arc_selected_cpu): Make global.
	(arc_selected_arch): Delete.
	(arc_base_cpu): Delete.
	(arc_override_options): Remove references to deleted variables,
	update access to arch information.
	(ARC_OPT): Update access to arch information.
	(ARC_OPTX): Likewise.
	* config/arc/arc.h (arc_base_cpu): Remove declaration.
	(TARGET_ARC600): Update access to arch information.
	(TARGET_ARC601): Likewise.
	(TARGET_ARC700): Likewise.
	(TARGET_EM): Likewise.
	(TARGET_HS): Likewise.
	* config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
	information.

From-SVN: r245293
2017-02-09 00:34:00 +00:00
John David Anglin
5896a41da8 loop-dim-default.c: Skip on hppa*-*-*.
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
	hppa*-*-*.
	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
	include complex.h on hppa*-*-hpux*.
	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.

From-SVN: r245292
2017-02-09 00:22:32 +00:00