- 09 Oct, 2014 21 commits
-
-
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 -
PR libstdc++/61909 * include/std/functional (__is_location_invariant): Treat all trivially copyable types as location invariant. From-SVN: r216047
Jonathan Wakely committed -
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 -
* doc/xml/manual/status_cxx2011.xml: Update. * doc/html/manual/status.html: Regenerate. From-SVN: r216045
Jonathan Wakely committed -
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 ‘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 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 -
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 -
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 -
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. * 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 -
* 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 -
From-SVN: r216033
Marek Polacek committed -
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 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 -
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 -
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 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) - 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 -
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 -
From-SVN: r216023
GCC Administrator committed
-
- 08 Oct, 2014 19 commits
-
-
gcc/ PR target/52941 * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard, atomic_fetch_<fetchop_name>si_hard, atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard, atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard): Add missing set of T_REG. From-SVN: r216018
Oleg Endo committed -
* gcc.dg/vmx/3c-01a.c: Add default options from vmx.exp. * gcc.dg/vmx/ops.c: Likewise. * gcc.dg/vmx/ops-long-1.c: Likewise. From-SVN: r216017
Pat Haugen committed -
2014-10-08 Dominique d'Humieres <dominiq@lps.ens.fr> * ChangeLog: Remove duplicated gfortran.dg. * gfortran.dg/implicit_4.f90: Fix some dg-error. From-SVN: r216016
Dominique d'Humieres committed -
2014-10-08 Rong Xu <xur@google.com> * gcc/gcov-tool.c (profile_overlap): New driver function to compute profile overlap. (print_overlap_usage_message): New. (overlap_usage): New. (do_overlap): New. (print_usage): Add calls to overlap function. (main): Ditto. * libgcc/libgcov-util.c (read_gcda_file): Fix format. (find_match_gcov_info): Ditto. (calculate_2_entries): New. (compute_one_gcov): Ditto. (gcov_info_count_all_cold): Ditto. (gcov_info_count_all_zero): Ditto. (extract_file_basename): Ditto. (get_file_basename): Ditto. (set_flag): Ditto. (matched_gcov_info): Ditto. (calculate_overlap): Ditto. (gcov_profile_overlap): Ditto. * libgcc/libgcov-driver.c (compute_summary): Make it avavilable for external calls. * gcc/doc/gcov-tool.texi: Add documentation. From-SVN: r216015
Rong Xu committed -
PR c++/63405 * pt.c (tsubst_pack_expansion): Limit simple expansion to type packs. From-SVN: r216013
Jason Merrill committed -
re PR c++/63485 (ICE: canonical types differ for identical types A<const wchar_t [3]>::type and const char_type [3]) PR c++/63485 * tree.c (build_cplus_array_type): Look for a type with no typedef-name or attributes. From-SVN: r216012
Jason Merrill committed -
2014-10-08 Steve Ellcey <sellcey@mips.com> * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Change LINUX64_DRIVER_SELF_SPECS to LINUX_DRIVER_SELF_SPECS From-SVN: r216011
Steve Ellcey committed -
* ipa-polymorphic-call.c (extr_type_from_vtbl_store): Do better pattern matching of MEM_REF. (check_stmt_for_type_change): Update. From-SVN: r216010
Jan Hubicka committed -
2014-10-08 Steve Ellcey <sellcey@mips.com> * config/mips/linux64.h: Remove. * config/mips/gnu-user64.h: Remove. * gcc.config (mips*-*-*): Remove references to linux64.h and gnu-user64.h * config/mips/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Replace with modified version from gnu-user64.h. (LINUX_DRIVER_SELF_SPECS): Update parts from gnu-user64.h. (LOCAL_LABEL_PREFIX): Copy from gnu-user64.h. * config/mips/linux.h (GNU_USER_LINK_EMULATION32): Copy from linux64.h. (GNU_USER_LINK_EMULATION64): Ditto. (GNU_USER_LINK_EMULATIONN32): Ditto. (GLIBC_DYNAMIC_LINKER32): Ditto. (GLIBC_DYNAMIC_LINKER64): Ditto. (GLIBC_DYNAMIC_LINKERN32): Ditto. (UCLIBC_DYNAMIC_LINKER32): Ditto. (UCLIBC_DYNAMIC_LINKER64): Ditto. (UCLIBC_DYNAMIC_LINKERN32): Ditto. (BIONIC_DYNAMIC_LINKERN32): Ditto. (GNU_USER_DYNAMIC_LINKERN32): Ditto. (GLIBC_DYNAMIC_LINKER): Delete. (UCLIBC_DYNAMIC_LINKER): Delete. From-SVN: r216008
Steve Ellcey committed -
PR libquadmath/63487 * libquadmath.texi (sincosq): Fix typo. From-SVN: r216006
Francois-Xavier Coudert committed -
* call.c (call_copy_ctor): New. (build_over_call): Use it to avoid infinite recursion on invalid code. From-SVN: r216005
Jason Merrill committed -
PR go/60406 runtime: Check callers in can_recover if return address doesn't match. Also use __builtin_extract_return_address and tighten up the checks in FFI code. Fixes PR 60406. From-SVN: r216003
Ian Lance Taylor committed -
* include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not pass precision when using hexfloat format. * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always output precision if C99 hexfloat conversion specifiers not available. From-SVN: r216001
Jonathan Wakely committed -
* cfgexpand.c (expand_debug_expr) <TARGET_MEM_REF>: Get address space from operand 0 (BASE). Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r216000
Joern Rennecke committed -
* gcc.dg/torture/stackalign/builtin-apply-4.c: Use dg-additional-options. From-SVN: r215999
Rainer Orth committed -
testsuite/ChangeLog * g++.dg/debug/dwarf2/deleted-member-function.C: Remove comment marker prefix from scan-assembler-times. From-SVN: r215997
Mark Wielaard committed -
* include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add const qualifier. From-SVN: r215995
Jonathan Wakely committed -
From-SVN: r215991
Jason Merrill committed -
From-SVN: r215990
GCC Administrator committed
-