1. 26 Dec, 2016 7 commits
  2. 25 Dec, 2016 1 commit
  3. 24 Dec, 2016 4 commits
    • Make it cheaper to test whether an SSA name is a virtual operand · e7960be7
      virtual_operand_p handled SSA names by looking at the flags of the
      underlying variable.  This seems to be a relatively common source
      of cache misses, mainly because virtual_operand_p is the first thing
      tested by is_gimple_reg.
      
      This patch caches the information in the SSA name itself.  Several
      flags seem to be free so the patch arbitrarily uses public_flag.
      
      Tested on aarch64-linux-gnu and x86_64-linux-gnu.  It improves
      compile time by a small (<1%) but reproducable amount on the
      tests I've tried.
      
      gcc/
      	* tree-core.h (tree_base): Document the meaning of public_flag
      	for SSA names.
      	* tree.h (SSA_NAME_IS_VIRTUAL_OPERAND): New macro.
      	(SET_SSA_NAME_VAR_OR_IDENTIFIER): Record whether the variable
      	is a virtual operand.
      	* gimple-expr.h (virtual_operand_p): Use SSA_NAME_IS_VIRTUAL_OPERAND.
      
      From-SVN: r243916
      Richard Sandiford committed
    • random.tcc: Fix usage of _OutputIteratorConcept. · 284a35df
      2016-12-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/ext/random.tcc: Fix usage of _OutputIteratorConcept.
      
      From-SVN: r243915
      François Dumont committed
    • re PR middle-end/78901 (ICE: verify_gimple failed (error: statement marked for… · 6b56d5f5
      re PR middle-end/78901 (ICE: verify_gimple failed (error: statement marked for throw in middle of block))
      
      	PR middle-end/78901
      	* except.c (nothrow_libfn_p): Expect libc_name_p to return
      	const struct libc_name_struct *, if it returns NULL, return 0,
      	otherwise check c_ver and use flag_isoc99 or flag_isoc11.
      	* cfns.gperf: Add %struct-type and libc_name_struct definition.
      	For all C89 C library functions add , 89 after the name, add
      	C99 C library functions with , 99 and C11 C library functions
      	with , 11 suffix.
      	* cfns.h: Regenerated.
      
      From-SVN: r243914
      Jakub Jelinek committed
    • Daily bump. · 7b903e28
      From-SVN: r243913
      GCC Administrator committed
  4. 23 Dec, 2016 3 commits
    • class_assign_1.f08: New test. · f19dd7b6
      gcc/testsuite/ChangeLog:
      
      2016-12-23  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* gfortran.dg/class_assign_1.f08: New test.
      
      
      gcc/fortran/ChangeLog:
      
      2016-12-23  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	* trans-expr.c (trans_class_assignment): Allocate memory of _vptr->size
              before assigning an allocatable class object.
      	(gfc_trans_assignment_1): Flag that (re-)alloc of the class object
      	shall be done.
      
      From-SVN: r243909
      Andre Vehreschild committed
    • MIPS: Cleanup the forcing of assembly output in error tests. · cca8d0b2
      gcc/testsuite
      
      	* gcc.target/mips/oddspreg-2.c (dg-options): Remove dg-skip-if for
      	-fno-fat-lto-objects and add the -ffat-lto-objects option, along with
      	an explanation for its purpose.
      	* gcc.target/mips/oddspreg-3.c (dg-options): Likewise.
      	* gcc.target/mips/oddspreg-6.c (dg-options): Likewise.
      	* gcc.target/mips/no-dsp-1.c: Add an explanation for the purpose of
      	-ffat-lto-objects.
      	* gcc.target/mips/pr54240.c: Likewise.
      	* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
      	* gcc.target/mips/soft-float-1.c: Likewise.
      
      From-SVN: r243908
      Toma Tabacu committed
    • Daily bump. · 16937220
      From-SVN: r243904
      GCC Administrator committed
  5. 22 Dec, 2016 14 commits
    • * es.po: Update. · bef1898c
      From-SVN: r243900
      Joseph Myers committed
    • compiler: fix spurious redefinition error for anon struct · 28171b9d
          
          Change Struct_type::do_mangled_name to incorporate the field
          names even for hidden symbols. This is needed in cases where
          a package imports a type "S" that has an anonymous struct, e.g.
          
            // imported from some other package
            type S struct {
              X struct{ _ struct{} }
            }
          
          and then defines a local type that uses a structurally identical
          anonymous struct, e.g.
          
            // defined locally
            type T struct {
              U struct{ _ struct{} }
            }
          
          In the case above both types triggered the creation of hash/equal
          methods, but the method names were clashing (since both structs
          had the same mangled name).
          
          Fixes golang/go#18414
          
          Reviewed-on: https://go-review.googlesource.com/34621
      
      From-SVN: r243899
      Ian Lance Taylor committed
    • tree-pretty-print.c (dump_generic_node): Change dump format for REALPART_EXPR… · cb663820
      tree-pretty-print.c (dump_generic_node): Change dump format for REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE.
      
      2016-12-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* tree-pretty-print.c (dump_generic_node): Change dump format for
      	REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE.
      
      testsuite/
      	* gcc.dg/gimplefe-20.c: New test-case.
      
      From-SVN: r243898
      Prathamesh Kulkarni committed
    • PR c++/78906 - ICE with member variable template · bcf77f8a
      	* pt.c (finish_template_variable): Use most_general_template.
      
      From-SVN: r243897
      Jason Merrill committed
    • Feature-test macro for P0522R0, matching of template template arguments. · 67a5ad7c
      	* c-cppbuiltin.c (c_cpp_builtins): Define
      	__cpp_template_template_args.
      
      From-SVN: r243896
      Jason Merrill committed
    • PR c++/78898 - ICE on constructor with TTP · dd809fde
      	PR c++/42329
      	* pt.c (unify): Don't look for a class template from a non-class.
      
      From-SVN: r243890
      Jason Merrill committed
    • re PR testsuite/52641 (Test cases fail for 16-bit int targets) · 745b4512
      gcc/testsuite/
      	PR testsuite/52641
      	* gcc.dg/fold-and-rshift-2.c [int <= 2]: Use 32-bit int as needed.
      
      From-SVN: r243889
      Georg-Johann Lay committed
    • varasm: Propagate litpool decl alignment to generated RTX. · 8db9d05e
      When pushing a value into the literal pool the resulting decl might
      get a higher alignment than the original expression depending on how a
      target defines CONSTANT_ALIGNMENT.  Generating an RTX for the constant
      pool access we currently use the alignment from the original
      expression.  Changed with the attached patch.
      
      This fixes a GCC 6 regression for S/390.  For arrays of string
      constants as in the attached testcase encode_section_info is not able
      to figure out that the constant pool slot is already properly aligned
      since the mem_align field in the rtx is not set properly.
      
      gcc/ChangeLog:
      
      2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* varasm.c (build_constant_desc): Use the alignment of the var
      	decl instead of the original expression.
      
      gcc/testsuite/ChangeLog:
      
      2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/litpool-str-1.c: New test.
      
      From-SVN: r243888
      Andreas Krebbel committed
    • Run tests only if the machine supports the instruction set. · cbbb9dab
      gcc/ChangeLog:
      
      2016-12-22  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
      	__S390_ARCH_LEVEL__.
      
      gcc/testsuite/ChangeLog:
      
      2016-12-22  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* gcc.target/s390/md/setmem_long-1.c: Use "s390_useable_hw".
      	* gcc.target/s390/md/rXsbg_mode_sXl.c: Likewise.
      	* gcc.target/s390/md/andc-splitter-1.c: Likewise.
      	* gcc.target/s390/md/andc-splitter-2.c: Likewise.
      	* lib/gcc-dg.exp (gcc-dg-runtest): Export torture_current_flags.
      	* gcc.target/s390/s390.exp: Import torture_current_flags.
      	(check_effective_target_s390_useable_hw): New.
      	(check_effective_target_s390_z900_hw): New.
      	(check_effective_target_s390_z990_hw): New.
      	(check_effective_target_s390_z9_ec_hw): New.
      	(check_effective_target_s390_z10_hw): New.
      	(check_effective_target_s390_z196_hw): New.
      	(check_effective_target_s390_zEC12_hw): New.
      	(check_effective_target_s390_z13_hw): New.
      	(check_effective_target_z10_instructions): Removed.
      	(torture tests): Add optimization level without -march=.
      	Reorder torture tests for good cache usage.
      
      From-SVN: r243887
      Dominik Vogt committed
    • Fix tree-optimization/78886. · a71dcca8
      	PR tree-optimization/78886
      	* gcc.dg/tree-ssa/pr78886.c: New test.
      	PR tree-optimization/78886
      	* tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
      	is equal to NULL.
      
      From-SVN: r243886
      Martin Liska committed
    • re PR testsuite/52641 (Test cases fail for 16-bit int targets) · 7fbb9b18
      gcc/testsuite/
      	PR testsuite/52641
      	* gcc.dg/pr35258.c (main) <temp>: Use an integer value that has
      	at least a size of 4.
      	* gcc.dg/Walloca-1.c (foo1): Use alloca with 30000 (instead of 90000).
      	* gcc.dg/graphite/pr46185.c: Require int32plus, size32plus.
      	* gcc.dg/graphite/isl-ast-op-select.c: Same.
      	* gcc.dg/graphite/pr42205-1.c: Require int32plus.
      	* gcc.dg/graphite/pr42221.c: Same.
      	* gcc.dg/tree-ssa/pr65136.c: Same.
      	* gcc.dg/tree-ssa/sra-20.c: Same.
      	* gcc.dg/graphite/scop-0.c: Require size32plus.
      	* gcc.dg/graphite/scop-22.c: Same.
      	* gcc.dg/graphite/scop-3.c: Same.
      	* gcc.dg/graphite/scop-dsyr2k.c: Same.
      	* gcc.dg/graphite/scop-dsyrk.c: Same.
      	* gcc.dg/graphite/scop-mvt.c: Same.
      	* gcc.dg/graphite/scop-sor.c: Same.
      	* gcc.dg/tree-ssa/pr68529-3.c: Same.
      	* gcc.dg/tree-ssa/pr66449.c [long != pointer]: Use intptr_t if.
      	* gcc.dg/tree-ssa/pr70919.c [int <= 2]: Use 32-bit int as needed.
      	* gcc.dg/tree-ssa/pr71408.c: Same.
      	* gcc.dg/tree-ssa/ssa-dom-thread-8.c (f2) [long != pointer]: Use
      	uintptr_t instead of long for int representation of address.
      	* gcc.dg/tree-ssa/tailcall-7-run.c: Require trampolines.
      
      From-SVN: r243885
      Georg-Johann Lay committed
    • re PR middle-end/78858 (Bogus -Wnonnull warning involving strcmp with -fsanitize=undefined) · 35dddc53
      	PR middle-end/78858
      	* c-c++-common/ubsan/pr78858.c: New test.
      	* gcc.dg/nonnull-5.c: New test.
      
      From-SVN: r243884
      Jakub Jelinek committed
    • re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument… · 0b435c16
      re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661)
      
      	PR bootstrap/78817
      	* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Revert
      	2016-12-15 change.
      
      From-SVN: r243883
      Jakub Jelinek committed
    • Daily bump. · 03c19813
      From-SVN: r243882
      GCC Administrator committed
  6. 21 Dec, 2016 11 commits
    • re PR c++/72707 (local anonymous union member hides names in the same scope) · b5f8e89e
      	PR c++/72707
      	* name-lookup.c (pushdecl_maybe_friend_1): Do check shadowing of
      	artificial x if it is an anonymous union variable.
      
      	* g++.dg/warn/Wshadow-12.C: New test.
      
      From-SVN: r243877
      Jakub Jelinek committed
    • dwarf2.def (DW_FORM_ref_sup): Renamed to ... · d8ee9c7e
      	* dwarf2.def (DW_FORM_ref_sup): Renamed to ...
      	(DW_FORM_ref_sup4): ... this.  New form.
      	(DW_FORM_ref_sup8): New form.
      
      From-SVN: r243876
      Jakub Jelinek committed
    • re PR rtl-optimization/78580 (Segfault in gcc with multilib (-m32) and -ffixed-*) · bc13623e
      2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/78580
      	* ira-costs.c (find_costs_and_classes): Make regno_aclass
      	translated into an allocno class.
      
      2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/78580
      	* gcc.target/i386/pr78580.c: New.
      
      From-SVN: r243875
      Vladimir Makarov committed
    • re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument… · 0dba7960
      re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661)
      
      	PR bootstrap/78817
      	* tree-pass.h (make_pass_post_ipa_warn): Declare.
      	* builtins.c (validate_arglist): Adjust get_nonnull_args call.
      	Check for NULL pointer argument to nonnull arg here.
      	(validate_arg): Revert 2016-12-14 changes.
      	* calls.h (get_nonnull_args): Remove declaration.
      	* tree-ssa-ccp.c: Include diagnostic-core.h.
      	(pass_data_post_ipa_warn): New variable.
      	(pass_post_ipa_warn): New class.
      	(pass_post_ipa_warn::execute): New method.
      	(make_pass_post_ipa_warn): New function.
      	* tree.h (get_nonnull_args): Declare.
      	* tree.c (get_nonnull_args): New function.
      	* calls.c (maybe_warn_null_arg): Removed.
      	(maybe_warn_null_arg): Removed.
      	(initialize_argument_information): Revert 2016-12-14 changes.
      	* passes.def: Add pass_post_ipa_warn after first ccp after IPA.
      c-family/
      	* c-common.c (struct nonnull_arg_ctx): New type.
      	(check_function_nonnull): Return bool instead of void.  Use
      	nonnull_arg_ctx as context rather than just location_t.
      	(check_nonnull_arg): Adjust for the new context type, set
      	warned_p to true if a warning has been diagnosed.
      	(check_function_arguments): Return bool instead of void.
      	* c-common.h (check_function_arguments): Adjust prototype.
      c/
      	* c-typeck.c (build_function_call_vec): If check_function_arguments
      	returns true, set TREE_NO_WARNING on CALL_EXPR.
      cp/
      	* typeck.c (cp_build_function_call_vec): If check_function_arguments
      	returns true, set TREE_NO_WARNING on CALL_EXPR.
      	* call.c (build_over_call): Likewise.
      
      From-SVN: r243874
      Jakub Jelinek committed
    • re PR c++/77830 (internal compiler error: in output_constructor_regular_field,… · bc2a38df
      re PR c++/77830 (internal compiler error: in output_constructor_regular_field, at varasm.c:4968, when using constexpr (with testcase))
      
      	PR c++/77830
      	* constexpr.c (cxx_eval_array_reference): Perform out of bounds
      	verification even if lval is true, just allow one past the last
      	element in that case.
      	(cxx_eval_store_expression): Detect stores to out of bound
      	ARRAY_REF.
      
      	* g++.dg/cpp1y/pr77830.C: New test.
      	* g++.dg/cpp0x/pr65398.C: Adjust expected diagnostics.
      
      From-SVN: r243873
      Jakub Jelinek committed
    • Implement P0522R0, matching of template template arguments. · 31bfc9b9
      gcc/c-family/
      	* c.opt (-fnew-ttp-matching): New flag.
      	* c-opts.c (c_common_post_options): Default on if -std=c++1z.
      gcc/cp/
      	* pt.c (coerce_template_template_parms): Allow a template argument
      	that's less specialized than the parameter.
      	(unify_bound_ttp_args): Adjust parm's args to apply to arg's
      	template.
      	(coerce_template_args_for_ttp): Split out from
      	lookup_template_class_1.
      	(coerce_ttp_args_for_tta, store_defaulted_ttp)
      	(lookup_defaulted_ttp, add_defaults_to_ttp): New.
      	(process_partial_specialization): Set DECL_CONTEXT of
      	template template-parameters.
      	(coerce_template_parms): Only inform when complain.
      	(expand_template_argument_pack): Handle error_mark_node.
      	(convert_template_argument, template_args_equal, unify): Handle
      	any_targ_node.
      	* cp-tree.h (enum cp_tree_index): Add CPTI_ANY_TARG.
      	(any_targ_node): New.
      	* decl.c (cxx_init_decl_processing): Set it.
      	* name-lookup.c (consider_binding_level): Ignore names with embedded
      	spaces.
      
      From-SVN: r243871
      Jason Merrill committed
    • PR c++/42329 - deducing base template for template template arg · 3c75aaa3
      	* pt.c (unify_bound_ttp_args): Split out from unify.
      	(try_class_unification): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
      	(unify): Check for type/non-type mismatch early.
      	[BOUND_TEMPLATE_TEMPLATE_PARM]: Try get_template_base.
      
      From-SVN: r243870
      Jason Merrill committed
    • Fix handling of explicit function template arguments with TTPs. · 57a6add2
      gcc/cp/
      	* pt.c (coerce_template_parms): Consider variadic_args_p before
      	complaining about too many template arguments.
      libstdc++-v3/
      	* testsuite/util/testsuite_tr1.h (test_property): Don't define both
      	variadic and non-variadic overloads.
      
      From-SVN: r243869
      Jason Merrill committed
    • Check that a partial specialization is more specialized. · a9410b4f
      	* pt.c (process_partial_specialization): Use
      	get_partial_spec_bindings to check that the partial specialization
      	is more specialized than the primary template.
      
      From-SVN: r243868
      Jason Merrill committed
    • Fixes for P0127R2 implementation. · a93634ba
      	* pt.c (convert_template_argument): Pass args to do_auto_deduction.
      	(mark_template_parm): Handle deducibility from type of non-type
      	argument here.
      	(for_each_template_parm_r): Not here.
      
      From-SVN: r243867
      Jason Merrill committed
    • re PR rtl-optimization/11488 (Pre-regalloc scheduling severely worsens performance) · 35f4cbd4
      	PR rtl-optimization/11488
      	* common/config/rs6000/rs6000-common.c
      	(rs6000_option_optimization_table): Enable -fsched-pressure.
      	* config/rs6000/rs6000.c (TARGET_COMPUTE_PRESSURE_CLASSES): Define
      	target hook.
      	(rs6000_option_override_internal): Set default -fsched-pressure algorithm.
      	(rs6000_compute_pressure_classes): Implement target hook.
      
      From-SVN: r243866
      Pat Haugen committed