1. 31 Jul, 2013 9 commits
  2. 30 Jul, 2013 18 commits
    • re PR c++/57673 (pack sizeof ... groups ellipsis with preceding expression) · e77da14a
      /cp
      2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57673
      	* parser.c (cp_parser_cache_defarg): In an NSDMI don't stop when
      	token->type == CPP_ELLIPSIS.
      
      /testsuite
      2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57673
      	* g++.dg/cpp0x/nsdmi-sizeof.C: New.
      
      From-SVN: r201354
      Paolo Carlini committed
    • code-readable-1.c: Increase switch size. · df4f7bb8
      2013-07-30  Steve Ellcey  <sellcey@mips.com>
      
      	* gcc.target/mips/code-readable-1.c: Increase switch size.
      	* gcc.target/mips/code-readable-2.c: Ditto.
      	* gcc.target/mips/code-readable-3.c: Ditto.
      	* gcc.target/mips/code-readable-4.c: Ditto.
      
      From-SVN: r201353
      Steve Ellcey committed
    • Introduce beginnings of a pass_manager class. · 315f8c0e
      This patch introduces a gcc::pass_manager class and moves various non-GTY
      globals relating to pass management into it.  The gcc::context gains its
      first field: a pointer to the gcc::pass_manager instance.
      
      gcc/
      	* Makefile.in (PASS_MANAGER_H): New.
      	(lto-cgraph.o): Depend on CONTEXT_H and PASS_MANAGER_H.
      	(passes.o): Likewise.
      	(statistics.o): Likewise.
      	(cgraphunit.o): Likewise.
      	(context.o): Depend on PASS_MANAGER_H.
      
      	* pass_manager.h: New.
      
      	* cgraphunit.c (cgraph_add_new_function): Update for moves
      	of globals to fields of pass_manager.
      	(analyze_function): Likewise.
      	(expand_function): Likewise.
      	(ipa_passes): Likewise.
      	(compile): Likewise.
      
      	* context.c (context::context): New.
      	* context.h  (context::context): New.
      	(context::get_passes): New.
      	(context::passes_): New.
      
      	* lto-cgraph.c (input_node): Update for moves of globals to
      	fields of pass_manager.
      
      	* passes.c (all_passes): Remove, in favor of a field of the
      	same name within the new class pass_manager.
      	(all_small_ipa_passes): Likewise.
      	(all_lowering_passes): Likewise.
      	(all_regular_ipa_passes): Likewise.
      	(all_late_ipa_passes): Likewise.
      	(all_lto_gen_passes): Likewise.
      	(passes_by_id): Likewise.
      	(passes_by_id_size): Likewise.
      	(gcc_pass_lists): Remove, in favor of "pass_lists" field within
      	the new class pass_manager.
      	(set_pass_for_id): Convert to...
      	(pass_manager::set_pass_for_id): ...method.
      	(get_pass_for_id): Convert to...
      	(pass_manager::get_pass_for_id): ...method.
      	(register_one_dump_file): Move body of implementation into...
      	(pass_manager::register_one_dump_file): ...here.
      	(register_dump_files_1): Convert to...
      	(pass_manager::register_dump_files_1): ...method.
      	(register_dump_files): Convert to...
      	(pass_manager::register_dump_files): ...method.
      	(create_pass_tab): Update for moves of globals to fields of
      	pass_manager.
      	(dump_passes): Move body of implementation into...
      	(pass_manager::dump_passes): ...here.
      	(register_pass): Move body of implementation into...
      	(pass_manager::register_pass): ...here.
      	(init_optimization_passes): Convert into...
      	(pass_manager::pass_manager): ...constructor for new
      	pass_manager class, and initialize the pass_lists array.
      	(check_profile_consistency): Update for moves of globals to
      	fields of pass_manager.
      	(dump_profile_report): Move body of implementation into...
      	(pass_manager::dump_profile_report): ...here.
      	(ipa_write_summaries_1): Update for moves of pass lists from
      	being globals to fields of pass_manager.
      	(ipa_write_optimization_summaries): Likewise.
      	(ipa_read_summaries):  Likewise.
      	(ipa_read_optimization_summaries): Likewise.
      	(execute_all_ipa_stmt_fixups): Likewise.
      
      	* statistics.c (statistics_fini): Update for moves of globals to
      	fields of pass_manager.
      
      	* toplev.c (general_init): Replace call to
      	init_optimization_passes with construction of the pass_manager
      	instance.
      
      	* tree-pass.h (all_passes): Remove, in favor of a field of the
      	same name within the new class pass_manager.
      	(all_small_ipa_passes): Likewise.
      	(all_lowering_passes): Likewise.
      	(all_regular_ipa_passes): Likewise.
      	(all_lto_gen_passes): Likewise.
      	(all_late_ipa_passes): Likewise.
      	(passes_by_id): Likewise.
      	(passes_by_id_size): Likewise.
      	(gcc_pass_lists): Remove, in favor of "pass_lists" field within
      	the new class pass_manager.
      	(get_pass_for_id): Remove.
      
      gcc/lto/
      
      	* Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
      	PASS_MANAGER_H.
      
      	* lto.c (do_whole_program_analysis): Update for move of
      	all_regular_ipa_passes from a global to a field of class
      	pass_manager.
      
      From-SVN: r201351
      David Malcolm committed
    • mips16.S (DELAYf): Alias to DELAYt for the MIPS IV ISA and up. · 72be589b
      	* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
      	ISA and up.
      
      From-SVN: r201350
      Maciej W. Rozycki committed
    • 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> · 9a92fa8b
      	Revert last commit.
      
      From-SVN: r201349
      Paolo Carlini committed
    • 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com> · 5034aa21
      	Revert last commit.
      
      From-SVN: r201348
      Paolo Carlini committed
    • re PR c++/57947 (internal compiler error: Segmentation fault using extended… · bd459a61
      re PR c++/57947 (internal compiler error: Segmentation fault using extended initializer lists without -std=c++11 or -std=gnu++11)
      
      /cp
      2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57947
      	* call.c (is_std_init_list): Return false if cxx_dialect == cxx98.
      
      /testsuite
      2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57947
      	* g++.dg/parse/crash63.C: New.
      
      From-SVN: r201344
      Paolo Carlini committed
    • config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs. · 02cab1c1
      	* config.gcc (arm): Require 64-bit host-wide-int for all ARM target
      	configs.
      
      From-SVN: r201342
      Richard Earnshaw committed
    • * arm.md (mulhi3): New expand pattern. · b2d3f886
      From-SVN: r201341
      Richard Earnshaw committed
    • re PR c++/57901 (Cannot call-by-value such that class has non-trivial (constexpr) move constructor) · b6d846de
      	PR c++/57901
      	* semantics.c (build_data_member_initialization, constexpr_fn_retval):
      	Use break_out_target_exprs instead of unshare_expr.
      
      From-SVN: r201338
      Jason Merrill committed
    • re PR c++/58022 (Compiler rejects abstract class in template class with friend operator<<) · 1b798a0f
      	PR c++/58022
      	* g++.dg/template/abstract1.C: New.
      
      From-SVN: r201337
      Jason Merrill committed
    • Thompson matcher refactored. · a6dc77bc
      2013-07-30  Tim Shen  <timshen91@gmail.com>
      
      	Thompson matcher refactored. Fix grouping problem.
      	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
      	* include/bits/regex_compiler.h: Tweak for auto switching.
      	* include/bits/regex_grep_matcher.h: Class structure.
      	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
      	matcher) refactoring.
      	* include/bits/regex_nfa.h: Change _Results's interfaces.
      	* include/std/regex: Includes <map> and <queue>.
      	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
      	For both matchers.
      	* testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc:
      	New.
      
      From-SVN: r201334
      Tim Shen committed
    • profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters. · 605e86fa
      
      	* profile.c (compute_value_histograms): Do not ICE when
      	there is mismatch only on some counters.
      
      Co-Authored-By: Martin Liska <marxin.liska@gmail.com>
      
      From-SVN: r201333
      Jan Hubicka committed
    • re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which… · 60de1c7d
      re PR fortran/57530 ([OOP] Wrongly rejects  type_pointer => class_target (which have identical declared type))
      
      2013-07-30  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57530
              * symbol.c (gfc_type_compatible): A type is type compatible with
              a class if both have the same declared type.
              * interface.c (compare_type): Reject CLASS/TYPE even if they
              are type compatible.
      
      From-SVN: r201329
      Tobias Burnus committed
    • re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which… · b882aaa8
      re PR fortran/57530 ([OOP] Wrongly rejects  type_pointer => class_target (which have identical declared type))
      
      2013-07-30  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57530
              * trans-expr.c (gfc_trans_class_assign): Handle CLASS array
              functions.
              (gfc_trans_pointer_assign): Ditto and support pointer assignment
              of a polymorphic var to a nonpolymorphic var.
      
      2013-07-30  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/57530
              * gfortran.dg/pointer_assign_8.f90: New.
              * gfortran.dg/pointer_assign_9.f90: New.
              * gfortran.dg/pointer_assign_10.f90: New.
              * gfortran.dg/pointer_assign_11.f90: New.
      
      From-SVN: r201328
      Tobias Burnus committed
    • re PR rtl-optimization/57637 (Miscompare on 178.galgel in SPEC2000 on arm) · 14a87636
      gcc/
      2013-07-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	PR rtl-optimization/57637
      	* function.c (move_insn_for_shrink_wrap): Also check the
      	GEN set of the LIVE problem for the liveness analysis
      	if it exists, otherwise give up.
      
      gcc/testsuite/
      2013-07-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
      
      	* gcc.target/arm/pr57637.c: New testcase.
      
      From-SVN: r201326
      Zhenqiang Chen committed
    • re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n… · 0100cd3f
      re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n does not dominate use in block m))
      
      gcc:
      
      2013-07-29  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
      
      	PR tree-optimization/57993
      	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Record
      	replaced statement in the candidate table.
      	(phi_add_costs): Return infinite cost when the hidden basis does
      	not dominate all phis on which the candidate is dependent.
      	(replace_one_candidate): Record replaced statement in the
      	candidate table.
      
      gcc/testsuite:
      
      2013-07-29  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
      
      	PR tree-optimization/57993
      	* gcc.dg/torture/pr57993.c: New test.
      
      From-SVN: r201325
      Bill Schmidt committed
    • Daily bump. · ac60ce1d
      From-SVN: r201324
      GCC Administrator committed
  3. 29 Jul, 2013 13 commits
    • re PR rtl-optimization/58021 (MODE_EXIT switches at NOTE_INSN_DELETED) · bba33211
              PR rtl-optimization/58021
              * mode-switching.c (create_pre_exit): Always split off preceding
              insns if we are not at the basic block head.
      
      From-SVN: r201321
      Joern Rennecke committed
    • epiphany.md (*isub_i+2): New peephole. · f0d811f7
      	* config/epiphany/epiphany.md (*isub_i+2): New peephole.
      	(ashlv2si3): New expander.
      	(*ashlv2si3_i): New define_insn_and_split.
      	* predicates.md (float_operation): Allow patterns with three
      	basic sub-patterns.
      
      From-SVN: r201319
      Joern Rennecke committed
    • re PR c++/57948 (internal compiler error: in initialize_reference, at cp/call.c:9285) · 3ea1e328
      /cp
      2013-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57948
      	* call.c (initialize_reference): Don't crash when reference_binding
      	returns a conv with conv->kind == ck_ambig.
      
      /testsuite
      2013-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57948
      	* g++.dg/conversion/ambig2.C: New.
      
      From-SVN: r201318
      Paolo Carlini committed
    • mangle.c (write_name): Check for null context. · 88e594b6
      	* mangle.c (write_name): Check for null context.
      	(write_unscoped_name): Allow PARM_DECL context.
      
      From-SVN: r201317
      Jason Merrill committed
    • match.c (gfc_match_call): Exit loop after setting i. · 502af491
             * match.c (gfc_match_call): Exit loop after setting i.
      
              * resolve.c (resolve_variable): Exit loop after setting seen.
      
              * expr.c (gfc_check_pointer_assign): Exit loop after setting
              * warn.
      
              * trans-array.c (set_loop_bounds): Exit loop after setting
              nonoptional_arr.
      
              * trans-io.c (gfc_trans_transfer): Exit loop after setting
              * seen_vector.
      
      From-SVN: r201316
      Po-Chun Chang committed
    • atomic (compare_exchange_weak, [...]): Add call to __cmpexch_failure_order. · 272827e4
      libstdc++-v3/
      	* include/std/atomic (compare_exchange_weak, compare_exchange_strong):
      	Add call to __cmpexch_failure_order.
      	* testsuite/util/testsuite_common_types.h
      	(compare_exchange_order_lowering): New generator.
      	* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
      	New test.
      
      From-SVN: r201315
      Nathan Froyd committed
    • linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'. · ff3f3951
      	gcc/
      	* config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.
      	(UCLIBC_DYNAMIC_LINKER): New macro.
      	* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32): Handle
      	`-mnan=2008'.
      	(GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32): Likewise.
      	(UCLIBC_DYNAMIC_LINKER32): Undefine macro first.  Handle
      	`-mnan=2008'.
      	(UCLIBC_DYNAMIC_LINKER64): Redefine macro.
      	(UCLIBC_DYNAMIC_LINKERN32): Likewise.
      	* config/mips/mips-modes.def: Remove RESET_FLOAT_FORMAT calls
      	for SF and DF modes.  Use ieee_quad_format for TF mode.
      	* config/mips/mips-opts.h (mips_ieee_754_setting): New enum.
      	* config/mips/mips.c (mips_file_start): Output a `.nan' directive.
      	(mips_option_override): Handle `-mnan=legacy'.
      	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Handle
      	`-mabs=2008' and `-mnan=2008'.
      	(OPTION_DEFAULT_SPECS): Add "nan" default.
      	(ASM_SPEC): Handle `-mnan='.
      	[!HAVE_AS_NAN] (HAVE_AS_NAN): New macro.
      	* config/mips/mips.md (abs<mode>2): Handle `-mabs=2008', update
      	comment accordingly.
      	(neg<mode>2): Likewise.
      	* config/mips/mips.opt (mabs, mnan): New options.
      	* doc/install.texi (Configuration): Document `--with-nan=' option.
      	* doc/invoke.texi (Option Summary): List MIPS `-mabs=' and
      	`-mnan=' options.
      	(MIPS Options): Document them.
      	* config.gcc <mips*-*-*>: Handle `--with-nan='.
      	* configure.ac <mips*-*-*>: Check for GAS `-mnan=2008' support.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      
      	gcc/testsuite/
      	* gcc.target/mips/fabs-2008.c: New test case.
      	* gcc.target/mips/fabs-legacy.c: New test case.
      	* gcc.target/mips/fabsf-2008.c: New test case.
      	* gcc.target/mips/fabsf-legacy.c: New test case.
      	* gcc.target/mips/fneg-2008.c: New test case.
      	* gcc.target/mips/fneg-legacy.c: New test case.
      	* gcc.target/mips/fneg-2008.c: New test case.
      	* gcc.target/mips/fneg-legacy.c: New test case.
      	* gcc.target/mips/nan-2008.c: New test case.
      	* gcc.target/mips/nan-legacy.c: New test case.
      	* gcc.target/mips/nanf-2008.c: New test case.
      	* gcc.target/mips/nanf-legacy.c: New test case.
      	* gcc.target/mips/nans-2008.c: New test case.
      	* gcc.target/mips/nans-legacy.c: New test case.
      	* gcc.target/mips/nansf-2008.c: New test case.
      	* gcc.target/mips/nansf-legacy.c: New test case.
      	* gcc.target/mips/mips.exp: Handle `-mabs=' and `-mnan='.
      
      From-SVN: r201313
      Maciej W. Rozycki committed
    • re PR target/57954 (AVX missing vxorps (zeroing) before vcvtsi2s %edx, slow down AVX code) · 576e2f37
      2013-07-29  Uros Bizjak  <ubizjak@gmail.com>
      
      	* config/i386/i386.md (float post-reload splitters): Do not check
      	for subregs of SSE registers.
      
      2013-07-29  Uros Bizjak  <ubizjak@gmail.com>
      	    H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/57954
      	PR target/57988
      	* config/i386/i386.md (post-reload splitter
      	to avoid partial SSE reg dependency stalls): New pattern.
      
      From-SVN: r201308
      Uros Bizjak committed
    • Fix incorrect changelog entry. · bb80c2eb
      From-SVN: r201307
      Ramana Radhakrishnan committed
    • 2013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> · aaaffb2a
      	* config/s390/target.h (htm_begin, htm_commit, htm_abort)
      	(htm_transaction_active): Enable zEC12 instructions in the
      	assembler.
      	* configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
      
      From-SVN: r201301
      Andreas Krebbel committed
    • s390.md ("movcc"): Swap load and store instructions. · a71f0749
      2013-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* config/s390/s390.md ("movcc"): Swap load and store instructions.
      
      From-SVN: r201300
      Dominik Vogt committed
    • target-supports.exp (check_effective_target_non_bionic): New effective-target test. · 844be113
              * lib/target-supports.exp (check_effective_target_non_bionic): New
              effective-target test.
              * g++.dg/tls/thread_local4.C: Disable test for Bionic.
              * g++.dg/tls/thread_local4g.C: Ditto.
      
      
      Co-Authored-By: Maxim Kuvyrkov <maxim@kugelworks.com>
      
      From-SVN: r201298
      Alexander Ivchenko committed