1. 10 Feb, 2017 2 commits
  2. 09 Feb, 2017 21 commits
    • re PR c++/79143 ([new inheriting constructors] inheriting constructor fails with… · 9bfc55d0
      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
      Jakub Jelinek committed
    • PR c++/79316 - default argument in deduction guide · a56c0ac0
      	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
      Jason Merrill committed
    • re PR ipa/70795 (gcc/libjava/interpret.cc:1948:1: ICE: in binds_to_current_def_p, at symtab.c:2232) · 388dde26
      	PR ipa/70795
      	* cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
      	flag if needed.
      
      From-SVN: r245312
      Jan Hubicka committed
    • loop-unswitch-2.c: New testcase. · 0b90c541
      	* 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
      Jan Hubicka committed
    • re PR c/79428 (ICE in c_parser_consume_token, at c/c-parser.c:770) · 192b048b
      	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
      Marek Polacek committed
    • S/390: Fix glob pattern for vector tests. · e9a9033b
      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
      Andreas Krebbel committed
    • omp-offload.c (oacc_loop_auto_partitions): Use || instead of | to avoid warning. · 891ba5eb
      	* omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
      	to avoid warning.
      
      From-SVN: r245306
      Jakub Jelinek committed
    • re PR c/79413 (ICE in make_ssa_name_fn, at tree-ssanames.c:265) · 28f6839b
      	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
      Jakub Jelinek committed
    • re PR c++/79429 (ICE in add_stmt, at cp/semantics.c:385) · f08683a1
      	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
      Jakub Jelinek committed
    • re PR c/79431 (ICE in get, at cgraph.h:397) · 56f71478
      	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
      Jakub Jelinek committed
    • loop-dim-default.c: Move dg-skip-if directive into a comment. · 1bbe0d8f
      	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
      	dg-skip-if directive into a comment.
      
      From-SVN: r245301
      Jakub Jelinek committed
    • gimplify.c (gimplify_scan_omp_clauses): No special handling for OMP_CLAUSE_TILE. · 02889d23
      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
      Chung-Lin Tang committed
    • configure.ac (ACX_BUGURL): Update. · 19e30111
      	* configure.ac (ACX_BUGURL): Update.
      	* configure: Regenerate.
      
      From-SVN: r245299
      Gerald Pfeifer committed
    • * comperr.adb: Update FSF bug reporting URL. · b5811a69
      From-SVN: r245297
      Gerald Pfeifer committed
    • configure.ac (ACX_BUGURL): Update. · 9334ef9e
      	* configure.ac (ACX_BUGURL): Update.
      	* configure: Regenerate.
      
      From-SVN: r245296
      Gerald Pfeifer committed
    • re PR tree-optimization/69823 (internal compiler error: in… · 9c0c77d2
      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
      Richard Biener committed
    • arc/gcc: Better creation of __NPS400__ define · 3a9abd23
      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
      Andrew Burgess committed
    • gcc/arc: Make arc_selected_cpu global · c3bde35a
      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
      Andrew Burgess committed
    • loop-dim-default.c: Skip on hppa*-*-*. · 5896a41d
      	* 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
      John David Anglin committed
    • Daily bump. · 05234016
      From-SVN: r245291
      GCC Administrator committed
  3. 08 Feb, 2017 15 commits
  4. 07 Feb, 2017 2 commits