1. 09 Oct, 2014 21 commits
    • Update soft-fp from glibc. · 5f606431
      This patch updates libgcc's copy of soft-fp from glibc, adding a
      testcase for a bug fix this brings in.
      
      Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
      
      libgcc:
      	* soft-fp/double.h: Update from glibc.
      	* soft-fp/eqdf2.c: Likewise.
      	* soft-fp/eqsf2.c: Likewise.
      	* soft-fp/eqtf2.c: Likewise.
      	* soft-fp/extenddftf2.c: Likewise.
      	* soft-fp/extended.h: Likewise.
      	* soft-fp/extendsfdf2.c: Likewise.
      	* soft-fp/extendsftf2.c: Likewise.
      	* soft-fp/extendxftf2.c: Likewise.
      	* soft-fp/gedf2.c: Likewise.
      	* soft-fp/gesf2.c: Likewise.
      	* soft-fp/getf2.c: Likewise.
      	* soft-fp/ledf2.c: Likewise.
      	* soft-fp/lesf2.c: Likewise.
      	* soft-fp/letf2.c: Likewise.
      	* soft-fp/op-1.h: Likewise.
      	* soft-fp/op-2.h: Likewise.
      	* soft-fp/op-4.h: Likewise.
      	* soft-fp/op-8.h: Likewise.
      	* soft-fp/op-common.h: Likewise.
      	* soft-fp/quad.h: Likewise.
      	* soft-fp/single.h: Likewise.
      	* soft-fp/soft-fp.h: Likewise.
      	* soft-fp/unorddf2.c: Likewise.
      	* soft-fp/unordsf2.c: Likewise.
      	* soft-fp/unordtf2.c: Likewise.
      	* config/c6x/eqd.c (__c6xabi_eqd): Update call to FP_CMP_EQ_D.
      	* config/c6x/eqf.c (__c6xabi_eqf): Update call to FP_CMP_EQ_S.
      	* config/c6x/ged.c (__c6xabi_ged): Update call to FP_CMP_D.
      	* config/c6x/gef.c (__c6xabi_gef): Update call to FP_CMP_S.
      	* config/c6x/gtd.c (__c6xabi_gtd): Update call to FP_CMP_D.
      	* config/c6x/gtf.c (__c6xabi_gtf): Update call to FP_CMP_S.
      	* config/c6x/led.c (__c6xabi_led): Update call to FP_CMP_D.
      	* config/c6x/lef.c (__c6xabi_lef): Update call to FP_CMP_S.
      	* config/c6x/ltd.c (__c6xabi_ltd): Update call to FP_CMP_D.
      	* config/c6x/ltf.c (__c6xabi_ltf): Update call to FP_CMP_S.
      
      gcc/testsuite:
      	* gcc.dg/torture/float128-extendxf-underflow.c: New test.
      
      From-SVN: r216048
      Joseph Myers committed
    • re PR libstdc++/61909 (Small function optimization not applied to small objects) · c3866869
      	PR libstdc++/61909
      	* include/std/functional (__is_location_invariant): Treat all
      	trivially copyable types as location invariant.
      
      From-SVN: r216047
      Jonathan Wakely committed
    • re PR libstdc++/63322 (std::atomic<T> where T is not trivially copyable should be disabled.) · bc2da0fc
      	PR libstdc++/63322
      	* include/std/atomic (atomic): Add assertion for trivially copyable.
      	* testsuite/29_atomics/atomic/60695.cc: Adjust line number.
      
      From-SVN: r216046
      Jonathan Wakely committed
    • status_cxx2011.xml: Update. · 75c3de1e
      	* doc/xml/manual/status_cxx2011.xml: Update.
      	* doc/html/manual/status.html: Regenerate.
      
      From-SVN: r216045
      Jonathan Wakely committed
    • re PR c++/63309 (internal compiler error: Segmentation fault) · ea4e4e6e
      	PR c++/63309
      	* parser.c (cp_parser_class_head): push_template_decl for members
      	of templates, too.
      
      From-SVN: r216044
      Jason Merrill committed
    • re PR c++/63415 (internal compiler error: unexpected expression… · 5d4fffb8
      re PR c++/63415 (internal compiler error: unexpected expression ‘static_cast<int>(std::is_same<T, A1>{})’ of kind static_cast_expr)
      
      	PR c++/63415
      	* pt.c (value_dependent_expression_p) [CONSTRUCTOR]: Check the type.
      	(iterative_hash_template_arg): Likewise.
      
      From-SVN: r216043
      Jason Merrill committed
    • re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object doesn't… · 96e780c0
      re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object doesn't compile in return statement)
      
      	PR c++/63437
      	* cp-tree.h (REF_PARENTHESIZED_P): Also allow INDIRECT_REF.
      	* semantics.c (force_paren_expr): And set it.
      	* typeck.c (check_return_expr): And handle it.
      
      From-SVN: r216042
      Jason Merrill committed
    • Fix r216010 fallout · 94c4084c
      This fixes fallout from r216010, which causes Firefox build failures.
      Just move the gcc_assert below the new if statement.
      
      From-SVN: r216041
      Markus Trippelsdorf committed
    • decl.c (grokdeclarator): constexpr only implies const in C++11. · d0ff1cb4
      2014-10-09  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/cp/
      	* decl.c (grokdeclarator): constexpr only implies const in C++11.
      gcc/testsuite/
      	* g++.dg/cpp0x/constexpr-52892-1.C: Error on missing const in C++14.
      	* g++.dg/cpp0x/constexpr-array-ptr7.C: Likewise.
      	* g++.dg/cpp0x/constexpr-diag1.C: Add const.
      	* g++.dg/cpp0x/constexpr-diag3.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ex1.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ex2.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ex4.C: Likewise.
      	* g++.dg/cpp0x/constexpr-initlist.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ptrmem.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ptrsub.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ref4.C: Likewise.
      	* g++.dg/cpp0x/constexpr-static6.C: Likewise.
      
      From-SVN: r216039
      Marc Glisse committed
    • re PR tree-optimization/63380 (Wrong constant folding) · 12d3031b
      2014-10-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63380
      	* tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
      	may trap.
      
      	* gcc.dg/torture/pr63380-1.c: New testcase.
      	* gcc.dg/torture/pr63380-2.c: Likewise.
      
      From-SVN: r216038
      Richard Biener committed
    • f95-lang.c (gfc_init_builtin_functions): Add more floating-point built-ins. · 3b7ea188
      	* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
      	built-ins.
      	* mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
      	remainder, rint and signbit.
      	* trans-decl.c (save_fp_state, restore_fp_state): Move to
      	trans-intrinsic.c
      	(gfc_generate_function_code): Use new names for these two functions.
      	* trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
      	emit code from the front-end.
      	* trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
      	conv_ieee_function_args, conv_intrinsic_ieee_builtin,
      	conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
      	conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
      	conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
      	conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
      	New functions.
      	* trans.h (gfc_conv_ieee_arithmetic_function,
      	gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
      
      	* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
      	ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
      	ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
      	ieee_rem_*, ieee_next_after_*): Remove functions.
      	* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
      
      From-SVN: r216036
      Francois-Xavier Coudert committed
    • avr.opt (mmcu=): Change to have a string value. · f9d29866
      	* config/avr/avr.opt (mmcu=): Change to have a string value.
      	(mn-flash=, mskip-bug, march=, mrmw): New options.
      	(HeaderInclude): New.
      	(mmcu=): Remove Var / Init clauses.
      	* config/avr/avr.h (DRIVER_SELF_SPECS): Translate -mmcu into a
      	-specs option.
      	(SYMBOL_FLAG_IO, SYMBOL_FLAG_ADDRESS): Define.
      	(ASM_OUTPUT_ALIGNED_BSS): Use avr_asm_asm_output_aligned_bss.
      	(SYMBOL_FLAG_IO_LOW): Define.
      	(avr_device_to_as, avr_device_to_ld): Don't declare.
      	(avr_device_to_data_start, avr_device_to_startfiles): Likewise.
      	(avr_device_to_devicelib, avr_device_to_sp8): Likewise.
      	(EXTRA_SPEC_FUNCTIONS): Don't define.
      	(ASM_SPEC): Translate -arch= option to -mmcu= option.
      	(LINK_SPEC): Translate -arch= option to -m= option.
      	Don't use device_to_ld / device_to_data_start.
      	(STARTFILE_SPEC): Now empty.
      	(ASM_SPEC): Add -%{mrelax: --mlink-relax}.
      	* config/avr/gen-avr-mmcu-specs.c: New file.
      	* config/avr/t-avr (gen-avr-mmcu-specs$(build_exeext)): New rule.
      	(s-device-specs): Likewise.
      	(GCC_PASSES): Add s-device-specs.
      	(install-driver): Depend on install-device-specs.
      	(install-device-specs): New rule.
      	* config/avr/avr.c (avr_option_override): Look up mcu arch by
      	avr_arch_index and provide fallback initialization for avr_n_flash.
      	(varasm.h): #include.
      	(avr_print_operand) <i>: Allow SYMBOL_REF with SYMBOL_FLAG_IO;
      	(avr_handle_addr_attribute, avr_eval_addr_attrib): New functions.
      	(avr_attribute_table): Add "io", "address" and "io_low".
      	(avr_asm_output_aligned_decl_common): Change type of decl to tree.
      	Add special handling for symbols with "io" and/or "address" attributes.
      	(avr_asm_asm_output_aligned_bss): New function.
      	(avr_encode_section_info): Set SYMBOL_FLAG_IO and SYMBOL_FLAG_ADDRESS
      	as appropriate.  Handle io_low attribute.
      	(avr_out_sbxx_branch): Handle symbolic io addresses.
      	(avr_xload_libgcc_p, avr_nonconst_pointer_addrspace): Use
      	avr_n_flash instead of avr_current_device->n_flash.
      	(avr_pgm_check_var_decl, avr_insert_attributes): Likewise.
      	(avr_emit_movmemhi): Likewise.
      	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Likewise.
      	Use TARGET_RMW instead of avr_current_device->dev_attributes.
      	Don't define avr_current_device->macro (that's the specfile's job).
      	Use TARGET_SKIP_BUG instead of avr_current_device->errata_skip.
      	* config/avr/avr.c (avr_2word_insn_p): Likewise.
      	* config/avr/avr.md (*cpse.ne): Likewise.
      	(mov<mode>): Use avr_eval_addr_attrib.
      	(cbi): Change constraint for low_io_address_operand operand to "i".
      	(sbi, sbix_branch, sbix_branch_bit7, insv.io, insv.not.io): Likewise.
      	* config/avr/predicates.md (io_address_operand):
      	Allow SYMBOL_REF with SYMBOL_FLAG_IO.
      	(low_io_address_operand): Allow SYMBOL_REF with SYMBOL_FLAG_IO_LOW.
      	* config/avr/avr-protos.h (avr_asm_output_aligned_decl_common):
      	Update prototype.
      	(avr_eval_addr_attrib, avr_asm_asm_output_aligned_bss): Prototype.
      	* config/avr/genmultilib.awk: Use -march=.
      	Remove Multilib matches processing.
      	* config/avr/t-multilib, config/avr/avr-tables.opt: Regenerate.
      	* config/avr/avr-arch.h: Add double include guard.
      	(avr_mcu_t) <library_name>: Update comment.
      	* config/avr/driver-avr.c (avr_device_to_as): Delete.
      	(avr_device_to_ld, avr_device_to_data_start): Likewise.
      	(avr_device_to_startfiles, avr_device_to_devicelib): Likewise.
      	(avr_device_to_sp8): Likewise.
      	* config/avr/genopt.sh:  Instead avr_mcu, emit an Enum for avr_arch.
      
      	* doc/extend.texi (io, address): Document new AVR variable attributes.
      	(io_low): Likewise.
      
      From-SVN: r216034
      Joern Rennecke committed
    • re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible) · f5e523b7
      2014-10-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
      
      	PR libstdc++/60132
          	* include/std/type_traits (is_trivially_copyable,
          	is_trivially_constructible, is_trivially_default_constructible,
          	is_trivially_copy_constructible, is_trivially_move_constructible,
          	is_trivially_assignable, is_trivially_copy_assignable,
          	is_trivially_move_assignable): New.
          	* testsuite/20_util/is_trivially_assignable/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_assignable/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_constructible/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_constructible/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_copyable/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_copyable/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_assignable/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_assignable/requirements/
      	explicit_instantiation.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_constructible/requirements/
      	typedefs.cc: Likewise.
      	* testsuite/20_util/is_trivially_copy_constructible/requirements/
      	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
          	* testsuite/20_util/is_trivially_default_constructible/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_default_constructible/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_default_constructible/
      	value.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_assignable/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_assignable/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_constructible/requirements/
          	typedefs.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_constructible/requirements/
          	explicit_instantiation.cc: Likewise.
          	* testsuite/20_util/is_trivially_move_constructible/value.cc:
      	Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
      	line number.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      
      From-SVN: r216032
      Ville Voutilainen committed
    • re PR c/63480 (-Wmissing-field-initializers should not warn about intentionally… · 84937de2
      re PR c/63480 (-Wmissing-field-initializers should not warn about intentionally empty initializers (or that should be a separate option))
      
      	PR c/63480
      	* c-typeck.c (pop_init_level): Don't warn about initializing
      	with { }.
      
      	* gcc.dg/pr63480.c: New test.
      
      From-SVN: r216031
      Marek Polacek committed
    • re PR lto/61969 (wrong code by LTO on i?86-linux-gnu (affecting trunk, 4.9.x, and 4.8.x)) · 77ed3903
      2014-10-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/61969
      	* tree-nrv.c (pass_nrv::execute): Properly test for automatic
      	variables.
      
      From-SVN: r216029
      Richard Biener committed
    • re PR tree-optimization/63445 (request: make -Wstrict-overflow avoid a class of false positives) · ee68591e
      2014-10-09  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63445
      	* tree-vrp.c (simplify_cond_using_ranges): Only warn about
      	overflow for non-equality compares.
      
      	* gcc.dg/Wstrict-overflow-26.c: New testcase.
      
      From-SVN: r216028
      Richard Biener committed
    • re PR libquadmath/55821 (Release tarballs (unconditionally) install… · 9d55066c
      re PR libquadmath/55821 (Release tarballs (unconditionally) install libquadmath.info when libquadmath is not supported)
      
      	PR libquadmath/55821
      	* Makefile.am: Conditionally define info_TEXINFOS and
      	libquadmath_TEXINFOS.
      	* Makefile.in: Regenerate.
      
      From-SVN: r216027
      Francois-Xavier Coudert committed
    • re PR rtl-optimization/57003 (gcc breaks -O2 optimization with Wine(64) -… · 58a41b43
      re PR rtl-optimization/57003 (gcc breaks -O2 optimization with Wine(64) - links/info/bisect of commits included)
      
      	PR rtl-optimization/57003
      	* regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
      	also check CALL_INSN_FUNCTION_USAGE for clobbers again after
      	killing regs_invalidated_by_call.
      
      From-SVN: r216026
      Uros Bizjak committed
    • re PR bootstrap/63432 (profiledbootstrap failure with bootstrap-lto) · c4d91f2e
      2014-10-07  Teresa Johnson  <tejohnson@google.com>
      
      	PR bootstrap/63432.
      	* tree-ssa-threadupdate.c (estimated_freqs_path): New function.
      	(ssa_fix_duplicate_block_edges): Invoke it.
      	(mark_threaded_blocks): Make two passes to avoid ordering dependences.
      
      From-SVN: r216024
      Teresa Johnson committed
    • Daily bump. · 1a950eea
      From-SVN: r216023
      GCC Administrator committed
  2. 08 Oct, 2014 19 commits