Richard Biener [Fri, 14 Mar 2014 13:09:41 +0000 (13:09 +0000)]
common.opt: Revert unintented changes from r205065.
2014-03-14 Richard Biener <rguenther@suse.de>
* common.opt: Revert unintented changes from r205065.
* opts.c: Likewise.
From-SVN: r208568
Richard Biener [Fri, 14 Mar 2014 12:54:25 +0000 (12:54 +0000)]
re PR ipa/60518 (ICE: in verify_loop_structure, at cfgloop.c:1647)
2014-03-14 Richard Biener <rguenther@suse.de>
PR middle-end/60518
* cfghooks.c (split_block): Properly adjust all loops the
block was a latch of.
* g++.dg/pr60518.C: New testcase.
From-SVN: r208567
Martin Jambor [Fri, 14 Mar 2014 10:49:05 +0000 (11:49 +0100)]
re PR lto/60461 (LTO linking error at -Os (and above) on x86_64-linux-gnu)
2014-03-13 Martin Jambor <mjambor@suse.cz>
PR lto/60461
* ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
and simplify it.
testsuite/
* gcc.dg/lto/pr60461_0.c: New test.
From-SVN: r208566
Cesar Philippidis [Fri, 14 Mar 2014 09:33:15 +0000 (02:33 -0700)]
save-temps_0.c: New file.
2014-03-14 Cesar Philippidis <cesar@codesourcery.com>
gcc/testsuite/
* gcc.dg/lto/save-temps_0.c: New file.
* lib/gcc-dg.exp (cleanup-saved-temps): Handle LTO temporaries.
* lib/lto.exp (lto-execute): Cleanup LTO temporaries.
From-SVN: r208563
Georg-Johann Lay [Fri, 14 Mar 2014 09:27:19 +0000 (09:27 +0000)]
re PR target/59396 ([avr] Wrong warning with ISR() and -flto)
PR target/59396
* config/avr/avr.c (avr_set_current_function): Pass function name
through default_strip_name_encoding before sanity checking instead
of skipping the first char of the assembler name.
From-SVN: r208562
GCC Administrator [Fri, 14 Mar 2014 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208561
Uros Bizjak [Thu, 13 Mar 2014 22:04:07 +0000 (23:04 +0100)]
* regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).
From-SVN: r208558
Jakub Jelinek [Thu, 13 Mar 2014 20:56:06 +0000 (21:56 +0100)]
re PR middle-end/36282 (Spurious warning "asm declaration ignored due to conflict with previous rename")
PR middle-end/36282
* c-pragma.c (apply_pragma_weak): Only look at
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
DECL_ASSEMBLER_NAME_SET_P (decl).
(maybe_apply_pending_pragma_weaks): Exit early if
vec_safe_is_empty (pending_weaks) rather than only when
!pending_weaks.
(maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
set assembler name back to NULL afterwards.
* c-c++-common/pr36282-1.c: New test.
* c-c++-common/pr36282-2.c: New test.
* c-c++-common/pr36282-3.c: New test.
* c-c++-common/pr36282-4.c: New test.
From-SVN: r208557
Richard Henderson [Thu, 13 Mar 2014 20:24:56 +0000 (13:24 -0700)]
re PR debug/60438 (dwarf2cfi :2239 still assert,not the same cause as PR 59575)
PR debug/60438
* config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
(ix86_force_to_memory, ix86_free_from_memory): Remove.
* config/i386/i386-protos.h: Likewise.
* config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
in the expander instead of a splitter.
(float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
any possibility of requiring a memory.
(*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
(*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
(fp branch splitters): Update for ix86_split_fp_branch.
(*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
(*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
(splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
(*fop_<MODEF>_2_i387): Remove f/r alternative.
(*fop_<MODEF>_3_i387): Likewise.
(*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
(splitters for the fop_* register patterns): Remove.
(fscalexf4_i387): Rename from *fscalexf4_i387.
(ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
From-SVN: r208556
Jakub Jelinek [Thu, 13 Mar 2014 19:10:05 +0000 (20:10 +0100)]
re PR tree-optimization/59779 (FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop")
PR tree-optimization/59779
* tree-dfa.c (get_ref_base_and_extent): Use double_int
type for bitsize and maxsize instead of HOST_WIDE_INT.
From-SVN: r208554
Uros Bizjak [Thu, 13 Mar 2014 18:34:47 +0000 (19:34 +0100)]
regex.c (bzero): Define without coma expression.
* regex.c (bzero) [!_LIBC]: Define without coma expression.
(regerror): Cast the call to memcpy to (void) to avoid unused
value warnings.
From-SVN: r208553
Steven Bosscher [Thu, 13 Mar 2014 18:01:48 +0000 (18:01 +0000)]
re PR rtl-optimization/57320 (Shrink-wrapping leaves unreachable blocks in the CFG)
PR rtl-optimization/57320
* function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
the CFG after thread_prologue_and_epilogue_insns.
From-SVN: r208551
Paolo Carlini [Thu, 13 Mar 2014 16:05:15 +0000 (16:05 +0000)]
re PR c++/60383 (ICE with invalid template specialization)
/cp
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60383
* pt.c (maybe_process_partial_specialization): Check return value
of check_specialization_namespace.
/testsuite
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60383
* g++.dg/template/crash118.C: New.
* g++.dg/template/crash95.C: Adjust.
From-SVN: r208550
Vladimir Makarov [Thu, 13 Mar 2014 15:52:50 +0000 (15:52 +0000)]
re PR rtl-optimization/57189 (Vector register is spilled for vector extract pattern)
2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57189
* lra-constraints.c (process_alt_operands): Disfavor spilling
vector pseudos.
2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57189
* gcc.target/i386/pr57189.c: New.
From-SVN: r208549
Eric Botcazou [Thu, 13 Mar 2014 15:42:21 +0000 (15:42 +0000)]
re PR ada/51483 (cstand.adb:Register_Float_Type makes invalid assumption about FP modes)
PR ada/51483
* cstand.adb (Register_Float_Type): Add 'precision' parameter and use
it to set the RM size. Use directly 'size' for the Esize.
(Create_Back_End_Float_Types): Adjust call to above.
* get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
* set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
(Write_Target_Dependent_Values): Adjust comment.
* set_targ.adb (Register_Float_Type): Add 'precision' parameter and
deal with it.
(Write_Target_Dependent_Values): Write the precision in lieu of size.
(Initialization): Read the precision in lieu of size and compute the
size from the precision and the alignment.
* gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
* gcc-interface/misc.c (enumerate_modes): Likewise. Do not register
types for vector modes, pass the size in addition to the precision.
From-SVN: r208546
Paolo Carlini [Thu, 13 Mar 2014 09:51:52 +0000 (09:51 +0000)]
re PR c++/60254 ([c++11] ICE with non-const expression in static_assert)
/cp
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60254
* semantics.c (finish_static_assert): Call cxx_constant_value only
if require_potential_rvalue_constant_expression returns true.
/testsuite
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60254
* g++.dg/cpp0x/static_assert10.C: New.
* g++.dg/cpp0x/static_assert11.C: Likewise.
* g++.dg/cpp0x/static_assert3.C: Adjust.
From-SVN: r208538
Cesar Philippidis [Thu, 13 Mar 2014 09:50:26 +0000 (02:50 -0700)]
lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
2014-03-13 Cesar Philippidis <cesar@codesourcery.com>
* lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
messages.
From-SVN: r208537
Richard Biener [Thu, 13 Mar 2014 09:48:16 +0000 (09:48 +0000)]
lto.exp (lto-execute): Fix error catching for dg-final.
2014-03-13 Richard Biener <rguenther@suse.de>
* lib/lto.exp (lto-execute): Fix error catching for dg-final.
From-SVN: r208536
Jakub Jelinek [Thu, 13 Mar 2014 09:38:28 +0000 (10:38 +0100)]
re PR tree-optimization/59025 (Revision 203979 causes failure in CPU2006 benchmark 435.gromacs)
PR tree-optimization/59025
PR middle-end/60418
* tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
From-SVN: r208535
Georg-Johann Lay [Thu, 13 Mar 2014 09:16:53 +0000 (09:16 +0000)]
re PR target/60486 ([avr] superfluous or missing comparision after addition or subtraction)
PR target/60486
* config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
calls of avr_out_plus_1.
From-SVN: r208532
Uros Bizjak [Thu, 13 Mar 2014 07:30:45 +0000 (08:30 +0100)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r208530
Jerry DeLisle [Thu, 13 Mar 2014 05:06:57 +0000 (05:06 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-12 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/38199
* io/read.c (read_decimal): Quickly skip spaces to avoid calls
to next_char.
* io/unit.c (is_trim_ok): New helper function to check various
conditions to see if its OK to trim the internal unit string.
(get_internal_unit): Use LEN_TRIM to shorten selected internal
unit strings for optimizing READ. Enable this optimization for
formatted READ.
* io/list_read.c (finish_list_read): Don't call eat_line for
internal units.
From-SVN: r208528
Bin Cheng [Thu, 13 Mar 2014 02:40:08 +0000 (02:40 +0000)]
tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record BB's single pred and update the father loop's latch info later.
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
BB's single pred and update the father loop's latch info later.
From-SVN: r208527
GCC Administrator [Thu, 13 Mar 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208525
Michael Meissner [Thu, 13 Mar 2014 00:11:56 +0000 (00:11 +0000)]
vector.md (VEC_L): Add V1TI mode to vector types.
[gcc]
2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
(VEC_M): Likewise.
(VEC_N): Likewise.
(VEC_R): Likewise.
(VEC_base): Likewise.
(mov<MODE>, VEC_M modes): If we are loading TImode into VSX
registers, we need to swap double words in little endian mode.
* config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
to be a container mode for 128-bit integer operations added in ISA
2.07. Unlike TImode and PTImode, the preferred register set is
the Altivec/VMX registers for the 128-bit operations.
* config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
declarations.
(rs6000_split_128bit_ok_p): Likewise.
* config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
macros for creating ISA 2.07 normal and overloaded builtin
functions with 3 arguments.
(BU_P8V_OVERLOAD_3): Likewise.
(VPERM_1T): Add support for V1TImode in 128-bit vector operations
for use as overloaded functions.
(VPERM_1TI_UNS): Likewise.
(VSEL_1TI): Likewise.
(VSEL_1TI_UNS): Likewise.
(ST_INTERNAL_1ti): Likewise.
(LD_INTERNAL_1ti): Likewise.
(XXSEL_1TI): Likewise.
(XXSEL_1TI_UNS): Likewise.
(VPERM_1TI): Likewise.
(VPERM_1TI_UNS): Likewise.
(XXPERMDI_1TI): Likewise.
(SET_1TI): Likewise.
(LXVD2X_V1TI): Likewise.
(STXVD2X_V1TI): Likewise.
(VEC_INIT_V1TI): Likewise.
(VEC_SET_V1TI): Likewise.
(VEC_EXT_V1TI): Likewise.
(EQV_V1TI): Likewise.
(NAND_V1TI): Likewise.
(ORC_V1TI): Likewise.
(VADDCUQ): Add support for 128-bit integer arithmetic instructions
added in ISA 2.07. Add both normal 'altivec' builtins, and the
overloaded builtin.
(VADDUQM): Likewise.
(VSUBCUQ): Likewise.
(VADDEUQM): Likewise.
(VADDECUQ): Likewise.
(VSUBEUQM): Likewise.
(VSUBECUQ): Likewise.
* config/rs6000/rs6000-c.c (__int128_type): New static to hold
__int128_t and __uint128_t types.
(__uint128_type): Likewise.
(altivec_categorize_keyword): Add support for vector __int128_t,
vector __uint128_t, vector __int128, and vector unsigned __int128
as a container type for TImode operations that need to be done in
VSX/Altivec registers.
(rs6000_macro_to_expand): Likewise.
(altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
to support 128-bit integer instructions vaddcuq, vadduqm,
vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
(altivec_resolve_overloaded_builtin): Add support for V1TImode.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
for V1TImode, and set up preferences to use VSX/Altivec
registers. Setup VSX reload handlers.
(rs6000_debug_reg_global): Likewise.
(rs6000_init_hard_regno_mode_ok): Likewise.
(rs6000_preferred_simd_mode): Likewise.
(vspltis_constant): Do not allow V1TImode as easy altivec
constants.
(easy_altivec_constant): Likewise.
(output_vec_const_move): Likewise.
(rs6000_expand_vector_set): Convert V1TImode set and extract to
simple move.
(rs6000_expand_vector_extract): Likewise.
(reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
addressing.
(rs6000_const_vec): Add support for V1TImode.
(rs6000_emit_le_vsx_load): Swap double words when loading or
storing TImode/V1TImode.
(rs6000_emit_le_vsx_store): Likewise.
(rs6000_emit_le_vsx_move): Likewise.
(rs6000_emit_move): Add support for V1TImode.
(altivec_expand_ld_builtin): Likewise.
(altivec_expand_st_builtin): Likewise.
(altivec_expand_vec_init_builtin): Likewise.
(altivec_expand_builtin): Likewise.
(rs6000_init_builtins): Add support for V1TImode type. Add
support for ISA 2.07 128-bit integer builtins. Define type names
for the VSX/Altivec vector types.
(altivec_init_builtins): Add support for overloaded vector
functions with V1TImode type.
(rs6000_preferred_reload_class): Prefer Altivec registers for
V1TImode.
(rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
external function.
(rs6000_split_128bit_ok_p): Likewise.
(rs6000_handle_altivec_attribute): Create V1TImode from vector
__int128_t and vector __uint128_t.
* config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
and mode attributes.
(VSX_M): Likewise.
(VSX_M2): Likewise.
(VSm): Likewise.
(VSs): Likewise.
(VSr): Likewise.
(VSv): Likewise.
(VS_scalar): Likewise.
(VS_double): Likewise.
(vsx_set_v1ti): New builtin function to create V1TImode from
TImode.
* config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say
whether we support the ISA 2.07 128-bit integer arithmetic
instructions.
(ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
(enum rs6000_builtin_type_index): Add fields to hold V1TImode
and TImode types for use with the builtin functions.
(V1TI_type_node): Likewise.
(unsigned_V1TI_type_node): Likewise.
(intTI_type_internal_node): Likewise.
(uintTI_type_internal_node): Likewise.
* config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA
2.07 128-bit builtin functions.
(UNSPEC_VADDEUQM): Likewise.
(UNSPEC_VADDECUQ): Likewise.
(UNSPEC_VSUBCUQ): Likewise.
(UNSPEC_VSUBEUQM): Likewise.
(UNSPEC_VSUBECUQ): Likewise.
(VM): Add V1TImode to vector mode iterators.
(VM2): Likewise.
(VI_unit): Likewise.
(altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
(altivec_vaddcuq): Likewise.
(altivec_vsubuqm): Likewise.
(altivec_vsubcuq): Likewise.
(altivec_vaddeuqm): Likewise.
(altivec_vaddecuq): Likewise.
(altivec_vsubeuqm): Likewise.
(altivec_vsubecuq): Likewise.
* config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
mode iterators.
(BOOL_128): Likewise.
(BOOL_REGS_OUTPUT): Likewise.
(BOOL_REGS_OP1): Likewise.
(BOOL_REGS_OP2): Likewise.
(BOOL_REGS_UNARY): Likewise.
(BOOL_REGS_AND_CR0): Likewise.
* config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
128-bit integer builtin support.
(vec_vadduqm): Likewise.
(vec_vaddecuq): Likewise.
(vec_vaddeuqm): Likewise.
(vec_vsubecuq): Likewise.
(vec_vsubeuqm): Likewise.
(vec_vsubcuq): Likewise.
(vec_vsubuqm): Likewise.
* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
128-bit integer add/subtract to ISA 2.07.
[gcc/testsuite]
2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-int128-1.c: New test to test ISA
2.07 128-bit arithmetic.
* gcc.target/powerpc/p8vector-int128-2.c: Likewise.
* gcc.target/powerpc/timode_off.c: Restrict cpu type to power5,
due to when TImode is allowed in VSX registers, the allowable
address modes for TImode is just a single indirect address in
order for the value to be loaded and store in either GPR or VSX
registers. This affects the generated code, and it would cause
this test to fail, when such an option is used.
From-SVN: r208522
Joern Rennecke [Thu, 13 Mar 2014 00:02:37 +0000 (00:02 +0000)]
arc.c (arc_predicate_delay_insns): Fix third argument passed to conditionalize_nonjump.
* config/arc/arc.c (arc_predicate_delay_insns):
Fix third argument passed to conditionalize_nonjump.
From-SVN: r208521
Roland McGrath [Wed, 12 Mar 2014 22:42:13 +0000 (22:42 +0000)]
PR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler
libstdc++-v3/
PR libstdc++/59392
* libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
the address of a null pointer, not with a null pointer to pointer.
Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
* testsuite/18_support/bad_exception/59392.cc: New file.
Co-Authored-By: Mark Seaborn <mseaborn@google.com>
From-SVN: r208519
Yufeng Zhang [Wed, 12 Mar 2014 16:35:53 +0000 (16:35 +0000)]
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
* config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
instead of __builtin_lfloor.
(vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
From-SVN: r208517
Yufeng Zhang [Wed, 12 Mar 2014 16:18:29 +0000 (16:18 +0000)]
sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.
libffi/
* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
main CFA reg; update cfi_rel_offset.
From-SVN: r208515
Marcus Shawcroft [Wed, 12 Mar 2014 14:55:54 +0000 (14:55 +0000)]
Ensure UNSUPPORTED tests in tree-prof do not report absolute paths.
The test infrastructure for gcc.dg/tree-prof reports relative paths
for all test outcomes except UNSUPPORTED, for which it reports the
absolute path of the test case. This patch ensure a relative path is
reported consistently reducing noise in regression test comparisons.
From-SVN: r208514
Jakub Jelinek [Wed, 12 Mar 2014 12:59:03 +0000 (13:59 +0100)]
tree-ssa-ifcombine.c (forwarder_block_to): New function.
* tree-ssa-ifcombine.c (forwarder_block_to): New function.
(tree_ssa_ifcombine_bb_1): New function.
(tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
is an empty forwarder block to then_bb or vice versa and then_bb
and else_bb are effectively swapped.
* gcc.dg/tree-ssa/ssa-ifcombine-12.c: New test.
* gcc.dg/tree-ssa/ssa-ifcombine-13.c: New test.
* gcc.dg/tree-ssa/phi-opt-2.c: Pass -mbranch-cost=1 if
possible, only test for exactly one if if -mbranch-cost=1
has been passed.
From-SVN: r208512
Christian Bruel [Wed, 12 Mar 2014 11:31:19 +0000 (12:31 +0100)]
re PR target/60264 (ARM ICE in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1090)
2014-03-12 Christian Bruel <christian.bruel@st.com>
PR target/60264
* config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a REG_CFA_DEF_CFA
note.
(arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
(arm_unwind_emit): Allow REG_CFA_DEF_CFA.
From-SVN: r208511
Uros Bizjak [Wed, 12 Mar 2014 11:19:05 +0000 (12:19 +0100)]
dwarf2-signal.h: Update copyright year.
* include/dwarf2-signal.h: Update copyright year.
(SIGNAL_HANDLER): Remove _sip argument. Mark _p argument with
__attribute__ ((__unused__)).
(class java::lang::Throwable): Remove declaration.
(MAKE_THROW_FRAME) [!__ia64__]: Define as empty definition.
From-SVN: r208510
Thomas Preud'homme [Wed, 12 Mar 2014 10:15:29 +0000 (10:15 +0000)]
re PR tree-optimization/60454 (Code mistakenly detected as doing bswap)
PR tree-optimization/60454
* tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
* gcc.c-torture/execute/pr60454.c: New test.
From-SVN: r208509
Kyrylo Tkachov [Wed, 12 Mar 2014 10:13:07 +0000 (10:13 +0000)]
[AArch64] Fix selection of default CPU options at configure-time
* config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
Do not define target_cpu_default2 to generic.
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
* config/aarch64/aarch64.c (aarch64_override_options): Update comment.
* config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
From-SVN: r208508
Jakub Jelinek [Wed, 12 Mar 2014 09:21:59 +0000 (10:21 +0100)]
re PR tree-optimization/60502 (ICE reassociation and vector types.)
PR tree-optimization/60502
* tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
instead of build_low_bits_mask.
* gcc.c-torture/compile/pr60502.c: New test.
Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>
From-SVN: r208507
Jakub Jelinek [Wed, 12 Mar 2014 09:15:08 +0000 (10:15 +0100)]
re PR middle-end/60482 (Loop optimization regression)
PR middle-end/60482
* tree-vrp.c (register_edge_assert_for_1): Don't add assert
if there are multiple uses, but op doesn't live on E edge.
* tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
clobber stmts before __builtin_unreachable.
* gcc.dg/vect/pr60482.c: New test.
From-SVN: r208506
Ian Lance Taylor [Wed, 12 Mar 2014 04:38:52 +0000 (04:38 +0000)]
libgo: Build math package with -ffp-contract=off on non-x86.
http://golang.org/issue/7074 shows that not using
-ffp-contract=off produces the wrong result for math.Log2(1)
on arm64.
From-SVN: r208505
GCC Administrator [Wed, 12 Mar 2014 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208504
Richard Sandiford [Tue, 11 Mar 2014 21:35:02 +0000 (21:35 +0000)]
builtins.c (expand_builtin_setjmp_receiver): Use and clobber hard_frame_pointer_rtx.
gcc/
* builtins.c (expand_builtin_setjmp_receiver): Use and clobber
hard_frame_pointer_rtx.
* cse.c (cse_insn): Remove volatile check.
* cselib.c (cselib_process_insn): Likewise.
* dse.c (scan_insn): Likewise.
From-SVN: r208498
Paolo Carlini [Tue, 11 Mar 2014 17:34:32 +0000 (17:34 +0000)]
re PR c++/60389 ([c++11] ICE with inheriting constructors and wrong usage of constexpr)
/cp
2014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60389
* method.c (get_inherited_ctor): New.
* cp-tree.h (get_inherited_ctor): Declare it.
* semantics.c (is_valid_constexpr_fn): Use it.
/testsuite
2014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60389
* g++.dg/cpp0x/inh-ctor19.C: New.
From-SVN: r208491
Jonathan Wakely [Tue, 11 Mar 2014 17:16:41 +0000 (17:16 +0000)]
re PR libstdc++/60499 (non-reserved name in <debug/vector>)
PR libstdc++/60499
* include/debug/forward_list (forward_list::operator=(forward_list&&)):
Uglify name.
* include/debug/map (map::operator=(map&&)): Likewise.
* include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
* include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
* include/debug/set (set::operator=(set&&)): Likewise.
* include/debug/unordered_map
(unordered_map::operator=(unordered_map&&)): Likewise.
(unordered_multimap::operator=(unordered_multimap&&)): Likewise.
* include/debug/unordered_set
(unordered_set::operator=(unordered_set&&)): Likewise.
(unordered_multiset::operator=(unordered_multiset&&)): Likewise.
* include/debug/vector (vector::operator=(vector&&)): Likewise.
* testsuite/23_containers/forward_list/debug/60499.cc: New
* testsuite/23_containers/map/debug/60499.cc: New
* testsuite/23_containers/multimap/debug/60499.cc: New
* testsuite/23_containers/multiset/debug/60499.cc: New
* testsuite/23_containers/set/debug/60499.cc: New
* testsuite/23_containers/unordered_map/debug/60499.cc: New
* testsuite/23_containers/unordered_multimap/debug/60499.cc: New
* testsuite/23_containers/unordered_multiset/debug/60499.cc: New
* testsuite/23_containers/unordered_set/debug/60499.cc: New
* testsuite/23_containers/vector/debug/60499.cc: New
From-SVN: r208490
Uros Bizjak [Tue, 11 Mar 2014 16:41:07 +0000 (17:41 +0100)]
natObject.cc (_Jv_MonitorEnter): Add missing parenthesis around comparison with (address | LOCKED) in JvAssert.
* java/lang/natObject.cc (_Jv_MonitorEnter): Add missing parenthesis
around comparison with (address | LOCKED) in JvAssert.
From-SVN: r208489
Joern Rennecke [Tue, 11 Mar 2014 16:21:33 +0000 (16:21 +0000)]
Fix arc_predicate_delay_insns ICE suring qt build:
* config/arc/arc.c (conditionalize_nonjump): New function, broken
out of:
(arc_ifcvt) .
(arc_predicate_delay_insns): Use it.
From-SVN: r208488
Joern Rennecke [Tue, 11 Mar 2014 16:09:59 +0000 (16:09 +0000)]
Fix post-reload predicate mismatch ICE during qt build:
* config/arc/predicates.md (extend_operand): During/after reload,
allow const_int_operand.
* config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
(umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
(mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
to "i".
(umulsi3_highpart_i): Likewise.
From-SVN: r208487
Jason Merrill [Tue, 11 Mar 2014 15:37:12 +0000 (11:37 -0400)]
* c.opt: Add -std=gnu++14.
From-SVN: r208486
Richard Biener [Tue, 11 Mar 2014 15:32:27 +0000 (15:32 +0000)]
tree-ssa-structalias.c (get_constraint_for_ptr_offset): Add asserts to guard possible wrong-code bugs.
2014-03-11 Richard Biener <rguenther@suse.de>
* tree-ssa-structalias.c (get_constraint_for_ptr_offset):
Add asserts to guard possible wrong-code bugs.
From-SVN: r208485
Richard Biener [Tue, 11 Mar 2014 12:42:18 +0000 (12:42 +0000)]
re PR middle-end/60429 (Miscompilation (aliasing) with -finline-functions)
2014-03-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/60429
PR tree-optimization/60485
* tree-ssa-structalias.c (set_union_with_increment): Properly
take into account all fields that overlap the shifted vars.
(do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
(get_constraint_for_ptr_offset): Likewise.
* gcc.dg/pr60485-1.c: New testcase.
* gcc.dg/pr60485-2.c: Likewise.
From-SVN: r208479
Ian Bolton [Tue, 11 Mar 2014 09:41:20 +0000 (09:41 +0000)]
Don't override -ffp-contract=fast if -funsafe-math-optimizations
From-SVN: r208474
Chung-Lin Tang [Tue, 11 Mar 2014 09:04:54 +0000 (09:04 +0000)]
nios2.c (machine_function): Add fp_save_offset field.
2014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
* config/nios2/nios2.c (machine_function): Add fp_save_offset field.
(nios2_compute_frame_layout):
Add calculation of cfun->machine->fp_save_offset.
(nios2_expand_prologue): Correct setting of frame pointer register
in prologue.
(nios2_expand_epilogue): Update recovery of stack pointer from
frame pointer accordingly.
(nios2_initial_elimination_offset): Update calculation of offset
for eliminating to HARD_FRAME_POINTER_REGNUM.
From-SVN: r208472
Joseph Myers [Tue, 11 Mar 2014 00:24:22 +0000 (00:24 +0000)]
* sv.po: Update.
From-SVN: r208470
GCC Administrator [Tue, 11 Mar 2014 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208469
Eric Botcazou [Mon, 10 Mar 2014 23:58:30 +0000 (23:58 +0000)]
* gcc-interface/Make-lang.in (ADA_DEPFILES): Fix typo.
From-SVN: r208466
Jason Merrill [Mon, 10 Mar 2014 21:06:59 +0000 (17:06 -0400)]
re PR c++/60367 (Default argument object is not getting constructed)
PR c++/60367
* call.c (convert_default_arg): Remove special handling for
CONSTRUCTOR.
From-SVN: r208465
Anatoly Sokolov [Mon, 10 Mar 2014 19:44:14 +0000 (23:44 +0400)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r208461
Jason Merrill [Mon, 10 Mar 2014 19:31:50 +0000 (15:31 -0400)]
move dg-do before dg-require
From-SVN: r208460
Uros Bizjak [Mon, 10 Mar 2014 18:31:20 +0000 (19:31 +0100)]
re PR libgcc/60472 (Warning: array subscript is above array bounds when compiling crtstuff.c)
PR libgcc/60472
* crtstuff.c (frame_dummy): Use void **jcr_list temporary
variable to avoid array subscript is above array bounds warnings.
Use __builtin_expect when checking *jcr_list for NULL.
From-SVN: r208457
Jason Merrill [Mon, 10 Mar 2014 15:44:50 +0000 (11:44 -0400)]
re PR c++/53492 (ICE in retrieve_specialization, at cp/pt.c:985)
PR c++/53492
* parser.c (cp_parser_class_head): Also check PRIMARY_TEMPLATE_P
when deciding whether to call push_template_decl for a member class.
* pt.c (push_template_decl_real): Return after wrong levels error.
From-SVN: r208455
Jakub Jelinek [Mon, 10 Mar 2014 14:55:20 +0000 (15:55 +0100)]
re PR ipa/60457 (ICE in cgraph_get_node)
PR ipa/60457
* ipa.c (symtab_remove_unreachable_nodes): Don't call
cgraph_get_create_node on VAR_DECLs.
* g++.dg/ipa/pr60457.C: New test.
From-SVN: r208454
Richard Biener [Mon, 10 Mar 2014 13:27:16 +0000 (13:27 +0000)]
re PR c++/60474 (Crash in tree_class_check)
2014-03-10 Richard Biener <rguenther@suse.de>
PR middle-end/60474
* tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
* g++.dg/torture/pr60474.C: New testcase.
From-SVN: r208451
GCC Administrator [Mon, 10 Mar 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208447
Andreas Schwab [Sun, 9 Mar 2014 07:52:48 +0000 (07:52 +0000)]
* g++.dg/cpp0x/alias-decl-debug-0.C: Move dg-skip after dg-do.
From-SVN: r208441
Tobias Burnus [Sun, 9 Mar 2014 07:48:48 +0000 (08:48 +0100)]
Makefile.am: Install cilk.h.
2014-03-09 Tobias Burnus <burnus@net-b.de>
* Makefile.am: Install cilk.h.
* Makefile.in: Regenerate.
* aclocal.m4: Regenerate.
From-SVN: r208440
Jerry DeLisle [Sun, 9 Mar 2014 05:34:34 +0000 (05:34 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/38199
* io/list_read.c (next_char): Mark unlikely error checks.
(eat_spaces): For character array reading, skip ahead over
spaces rather than call next_char multiple times.
From-SVN: r208439
Jerry DeLisle [Sun, 9 Mar 2014 03:17:16 +0000 (03:17 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/38199
* io/list_read.c (next_char): Delete unuseful error checks.
(eat_spaces): For character array reading, skip ahead over
spaces rather than call next_char multiple times.
From-SVN: r208438
GCC Administrator [Sun, 9 Mar 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208437
Tobias Burnus [Sat, 8 Mar 2014 22:13:26 +0000 (23:13 +0100)]
libgfortran.h (unlikely, likely): Add usage comment.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* libgfortran.h (unlikely, likely): Add usage comment.
From-SVN: r208434
Douglas B Rupp [Sat, 8 Mar 2014 20:57:29 +0000 (20:57 +0000)]
Fixes reported build failure.
Tested by cross compiler target ia64-hp-openvms
* config/vms/vms.opt (vms_float_format): New variable.
From-SVN: r208433
Tobias Burnus [Sat, 8 Mar 2014 20:42:34 +0000 (21:42 +0100)]
invoke.texi (-fcilkplus): Update implementation status.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* doc/invoke.texi (-fcilkplus): Update implementation
status.
From-SVN: r208432
Tobias Burnus [Sat, 8 Mar 2014 18:53:18 +0000 (19:53 +0100)]
re PR fortran/60447 (Empty .s file created when using -E flag)
2014-03-08 Tobias Burnus <burnus@net-b.de>
PR fortran/60447
* f95-lang.c (gfc_init): Return false when only
preprocessing.
* options.c (gfc_post_options): Ditto.
From-SVN: r208431
Tobias Burnus [Sat, 8 Mar 2014 11:06:48 +0000 (12:06 +0100)]
gfortran.texi (Fortran 2003 Status): Mention finalization, deferred-length character support and input rounding.
2014-03-08 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (Fortran 2003 Status): Mention finalization,
deferred-length character support and input rounding.
(Fortran 2008 Status): Mention that at termination
signalling exceptions are shown.
From-SVN: r208429
Paulo Matos [Sat, 8 Mar 2014 10:54:05 +0000 (11:54 +0100)]
lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used consistently accross all TUs.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
Richard Biener <rguenther@suse.de>
* lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
consistently accross all TUs.
(run_gcc): Enable -fshort-double automatically at link at link-time
and disallow override.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* c.opt: Enable LTO FE for fshort-double.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* gcc.dg/lto/pr55113_0.c: New testcase.
2014-03-08 Paulo Matos <paulo@matos-sorge.com>
* lto-lang.c (lto_init): Pass flag_short_double to
build_common_tree_nodes.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r208428
Adam Butcher [Sat, 8 Mar 2014 09:33:12 +0000 (09:33 +0000)]
re PR c++/60033 ([c++1y] ICE in retrieve_specialization while compiling recursive generic lambda)
Fix PR c++/60033
PR c++/60033
* pt.c (tsubst_copy): When retrieving a capture pack from a generic
lambda, remove the lambda's own template argument list prior to fetching
the specialization.
PR c++/60033
* g++.dg/cpp1y/pr60033.C: New testcase.
From-SVN: r208427
Adam Butcher [Sat, 8 Mar 2014 09:33:03 +0000 (09:33 +0000)]
re PR c++/60393 ([c++1y] ICE with with invalid functions with auto parameters)
Fix PR c++/60393
PR c++/60393
* parser.c (cp_parser_parameter_declaration_clause): Move generic
function template unwinding on error into a more general location, ...
(cp_parser_skip_to_end_of_statement): ... here.
PR c++/60393
* g++.dg/cpp1y/pr60393.C: New testcase.
From-SVN: r208426
Richard Sandiford [Sat, 8 Mar 2014 09:27:23 +0000 (09:27 +0000)]
re PR target/58271 (ICE in gcc for a MIPS target during compilation with -mpaired-single -ftree-vectorize)
gcc/
PR target/58271
* config/mips/mips.c (mips_option_override): Promote -mpaired-single
warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
if they can't be used.
From-SVN: r208425
Dominique d'Humieres [Sat, 8 Mar 2014 06:04:34 +0000 (07:04 +0100)]
re PR fortran/60128 (Wrong ouput using en edit descriptor)
2014-03-08 Dominique d'Humieres <dominiq@lps.ens.fr>
PR libgfortran/60128
* io/write_float.def (output_float): Remove unused variable
nzero_real. Replace a double space with a single one.
(determine_en_precision): Fix wrong handling of the EN format.
PR libfortran/60128
* gfortran.dg/fmt_en.f90: New test.
From-SVN: r208423
GCC Administrator [Sat, 8 Mar 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208422
Doug Rupp [Fri, 7 Mar 2014 20:35:33 +0000 (20:35 +0000)]
re PR ada/60411 (Ada bootstrap failure on ARM)
2014-03-07 Doug Rupp <rupp@adacore.com>
PR ada/60411
* system-linux-armel.ads (Backend_Overflow_Checks): Set to True.
(Support_64_Bit_Divides): Removed, no longer used.
(ZCX_By_Default): Enabled.
From-SVN: r208419
Jason Merrill [Fri, 7 Mar 2014 20:01:27 +0000 (15:01 -0500)]
* Make-lang.in (check_g++_parallelize): Split dg.exp.
From-SVN: r208417
Jason Merrill [Fri, 7 Mar 2014 20:01:12 +0000 (15:01 -0500)]
g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
* lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
* lib/target-supports.exp (check_effective_target_c++11): Now
means C++11 and up.
(check_effective_target_c++11_only): New.
(check_effective_target_c++11_down): New.
(check_effective_target_c++1y): New.
(check_effective_target_c++1y_only): New.
(check_effective_target_c++98_only): Rename from
check_effective_target_c++98.
* g++.dg/*: Use { target c++11 } instead of -std=c++11.
From-SVN: r208416
Jason Merrill [Fri, 7 Mar 2014 20:00:36 +0000 (15:00 -0500)]
parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if we're in a trailing return type.
* parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
we're in a trailing return type.
From-SVN: r208415
Jason Merrill [Fri, 7 Mar 2014 20:00:31 +0000 (15:00 -0500)]
typeck.c (comp_template_parms_position): 'auto' and 'decltype(auto)' are different from real template parms.
* typeck.c (comp_template_parms_position): 'auto' and
'decltype(auto)' are different from real template parms.
From-SVN: r208414
Jason Merrill [Fri, 7 Mar 2014 20:00:25 +0000 (15:00 -0500)]
parser.c (cp_parser_using_declaration): Consume the semicolon after bare parameter pack error.
* parser.c (cp_parser_using_declaration): Consume the semicolon
after bare parameter pack error.
From-SVN: r208413
Jason Merrill [Fri, 7 Mar 2014 20:00:20 +0000 (15:00 -0500)]
cp-tree.h (REF_PARENTHESIZED_P): New.
* cp-tree.h (REF_PARENTHESIZED_P): New.
* semantics.c (force_paren_expr): Set it.
* pt.c (do_auto_deduction): Check it.
(tsubst) [COMPONENT_REF]: Copy it.
* typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
From-SVN: r208412
Jason Merrill [Fri, 7 Mar 2014 20:00:14 +0000 (15:00 -0500)]
decl.c (create_array_type_for_decl): Only warn about invalid C++1y VLA if flag_iso or warn_vla>0.
* decl.c (create_array_type_for_decl): Only warn about invalid
C++1y VLA if flag_iso or warn_vla>0.
(grokdeclarator): Likewise.
* pt.c (tsubst): Likewise.
* semantics.c (finish_decltype_type): Likewise.
* typeck.c (cxx_sizeof_or_alignof_type): Likewise.
(cp_build_addr_expr_1): Likewise.
* init.c (build_new_1): Improve diagnostics.
From-SVN: r208411
Paolo Carlini [Fri, 7 Mar 2014 18:33:38 +0000 (18:33 +0000)]
re PR c++/58609 ([c++11] ICE with uninitialized variable in constexpr)
/cp
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58609
* decl.c (check_initializer): Return NULL_TREE after error;
consistently use inform.
/testsuite
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58609
* g++.dg/cpp0x/constexpr-ice12.C: New.
From-SVN: r208410
Denis Chertykov [Fri, 7 Mar 2014 16:55:43 +0000 (20:55 +0400)]
MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
* MAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
From-SVN: r208406
Jason Merrill [Fri, 7 Mar 2014 16:23:57 +0000 (11:23 -0500)]
* c.opt: Add -std=c++14.
From-SVN: r208404
Ian Lance Taylor [Fri, 7 Mar 2014 15:52:48 +0000 (15:52 +0000)]
* sort.c (backtrace_qsort): Use middle element as pivot.
From-SVN: r208403
Paolo Carlini [Fri, 7 Mar 2014 14:19:53 +0000 (14:19 +0000)]
decl.c (check_initializer): Remove dead code.
2014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (check_initializer): Remove dead code.
From-SVN: r208402
Rainer Orth [Fri, 7 Mar 2014 13:55:54 +0000 (13:55 +0000)]
Handle backtrace_qsort
* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
Add ../../libbacktrace/sort.c.
* libbacktrace/Makefile.in: Regenerate.
* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.
From-SVN: r208401
Jakub Jelinek [Fri, 7 Mar 2014 12:58:27 +0000 (13:58 +0100)]
re PR bootstrap/58572 (make bootstrap-lean leads to installation failure (doing extra rebuilds and invoking system compiler))
PR bootstrap/58572
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Use -isystem instead of
-I for libstdc++-v3 includes if $(LEAN).
* Makefile.in: Regenerated.
From-SVN: r208400
Rainer Orth [Fri, 7 Mar 2014 11:33:39 +0000 (11:33 +0000)]
Improve @tlsldmplt test on Solaris 11/x86
* configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test for Solaris
11/x86 ld.
* configure: Regenerate.
From-SVN: r208399
Rainer Orth [Fri, 7 Mar 2014 11:30:40 +0000 (11:30 +0000)]
Disable local dynamic TLS model on Solaris/x86 if as/ld cannot handle it
* configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
(LIB_TLS_SPEC): Save as ld_tls_libs.
(HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
(HAVE_AS_IX86_TLSLDM): New test.
* configure, config.in: Regenerate.
* config/i386/i386.c (legitimize_tls_address): Fall back to
TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
cannot support TLS_MODEL_LOCAL_DYNAMIC.
* config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
From-SVN: r208398
Paulo Matos [Fri, 7 Mar 2014 09:34:18 +0000 (10:34 +0100)]
common.opt (fira-loop-pressure): Mark as optimization.
2014-03-07 Paulo Matos <paulo@matos-sorge.com>
* common.opt (fira-loop-pressure): Mark as optimization.
From-SVN: r208395
Thomas Schwinge [Fri, 7 Mar 2014 08:46:13 +0000 (09:46 +0100)]
The error_mark_node is not an OpenMP mappable type.
gcc/
* langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
an OpenMP mappable type.
gcc/c/
* c-decl.c (c_decl_attributes): Use
lang_hooks.types.omp_mappable_type.
* c-typeck.c (c_finish_omp_clauses): Likewise.
gcc/testsuite/
* c-c++-common/gomp/map-1.c: Extend.
From-SVN: r208394
Ian Lance Taylor [Fri, 7 Mar 2014 05:07:56 +0000 (05:07 +0000)]
sort.c: New file.
* sort.c: New file.
* stest.c: New file.
* internal.h (backtrace_qsort): Declare.
* dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort.
(read_line_info, read_function_entry): Likewise.
(read_function_info, build_dwarf_data): Likewise.
* elf.c (elf_initialize_syminfo): Likewise.
* Makefile.am (libbacktrace_la_SOURCES): Add sort.c.
(stest_SOURCES, stest_LDADD): Define.
(check_PROGRAMS): Add stest.
From-SVN: r208392
Ian Lance Taylor [Fri, 7 Mar 2014 05:04:37 +0000 (05:04 +0000)]
runtime: Fix GC bug caused by Entersyscall modifying reg.
This patch fixes a rare but serious bug. The Go garbage
collector only examines Go stacks. When Go code calls a
function that is not written in Go, it first calls
syscall.Entersyscall. Entersyscall records the position of
the Go stack pointer and saves a copy of all the registers.
If the garbage collector runs while the thread is executing
the non-Go code, the garbage collector fetches the stack
pointer and registers from the saved location.
Entersyscall saves the registers using the getcontext
function. Unfortunately I didn't consider the possibility
that Entersyscall might itself change a register before
calling getcontext. This only matters for callee-saved
registers, as caller-saved registers would be visible on the
saved stack. And it only matters if Entersyscall is compiled
to save and modify a callee-saved register before it calls
getcontext. And it only matters if a garbage collection
occurs while the non-Go code is executing. And it only
matters if the only copy of a valid Go pointer happens to be
in the callee-saved register when Entersyscall is called.
When all those conditions are true, the Go pointer might get
collected incorrectly, leading to memory corruption.
This patch tries to avoid the problem by splitting
Entersyscall into two functions. The first is a simple
function that just calls getcontext and then calls the rest of
Entersyscall. This should fix the problem, provided the
simple Entersyscall function does not itself modify any
callee-saved registers before calling getcontext. That seems
to be true on the systems I checked. But since the argument
to getcontext is an offset from a TLS variable, it won't be
true on a system which needs to save callee-saved registers in
order to get the address of a TLS variable. I don't know why
any system would work that way, but I don't know how to rule
it out. I think that on any such system this will have to be
implemented in assembler. I can't put the ucontext_t
structure on the stack, because this function can not split
stacks, and the ucontext_t structure is large enough that it
could cause a stack overflow.
From-SVN: r208390
GCC Administrator [Fri, 7 Mar 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208389
Paul Thomas [Thu, 6 Mar 2014 21:45:31 +0000 (21:45 +0000)]
re PR fortran/51976 ([F2003] Support deferred-length character components of derived types (allocatable string length))
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
* primary.c (build_actual_constructor): It is not an error if
a missing component has the deferred_parameter attribute;
equally, if one is given a value, it is an error.
* resolve.c (resolve_fl_derived0): Remove error for deferred
character length components. Add the hidden string length
field to the structure. Give it the deferred_parameter
attribute.
* trans-array.c (duplicate_allocatable): Add a strlen field
which is used as the element size if it is non-null.
(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
NULL to the new argument in duplicate_allocatable.
(structure_alloc_comps): Set the hidden string length as
appropriate. Use it in calls to duplicate_allocatable.
(gfc_alloc_allocatable_for_assignment): When a deferred length
backend declaration is variable, use that; otherwise use the
string length from the expression evaluation.
* trans-expr.c (gfc_conv_component_ref): If this is a deferred
character length component, the string length should have the
value of the hidden string length field.
(gfc_trans_subcomponent_assign): Set the hidden string length
field for deferred character length components. Allocate the
necessary memory for the string.
(alloc_scalar_allocatable_for_assignment): Same change as in
gfc_alloc_allocatable_for_assignment above.
* trans-stmt.c (gfc_trans_allocate): Likewise.
* trans-intrinsic (size_of_string_in_bytes): Make non-static.
* trans-types.c (gfc_get_derived_type): Set the tree type for
a deferred character length component.
* trans.c (gfc_deferred_strlen): New function.
* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.dg/deferred_type_component_1.f90 : New test.
* gfortran.dg/deferred_type_component_2.f90 : New test.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r208386