gcc.git
10 years agore PR target/59396 ([avr] Wrong warning with ISR() and -flto)
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

10 years agoDaily bump.
GCC Administrator [Fri, 14 Mar 2014 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r208561

10 years ago* regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).
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

10 years agore PR middle-end/36282 (Spurious warning "asm declaration ignored due to conflict...
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

10 years agore PR debug/60438 (dwarf2cfi :2239 still assert,not the same cause as PR 59575)
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

10 years agore PR tree-optimization/59779 (FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times...
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

10 years agoregex.c (bzero): Define without coma expression.
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

10 years agore PR rtl-optimization/57320 (Shrink-wrapping leaves unreachable blocks in the CFG)
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

10 years agore PR c++/60383 (ICE with invalid template specialization)
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

10 years agore PR rtl-optimization/57189 (Vector register is spilled for vector extract pattern)
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

10 years agore PR ada/51483 (cstand.adb:Register_Float_Type makes invalid assumption about FP...
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

10 years agore PR c++/60254 ([c++11] ICE with non-const expression in static_assert)
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

10 years agolto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
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

10 years agolto.exp (lto-execute): Fix error catching for dg-final.
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

10 years agore PR tree-optimization/59025 (Revision 203979 causes failure in CPU2006 benchmark...
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

10 years agore PR target/60486 ([avr] superfluous or missing comparision after addition or subtra...
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

10 years agoChangeLog: Fix whitespace.
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

10 years agore PR libfortran/38199 (missed optimization: I/O performance)
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

10 years agotree-cfgcleanup.c (remove_forwarder_block_with_phi): Record BB's single pred and...
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

10 years agoDaily bump.
GCC Administrator [Thu, 13 Mar 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r208525

10 years agovector.md (VEC_L): Add V1TI mode to vector types.
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

10 years agoarc.c (arc_predicate_delay_insns): Fix third argument passed to conditionalize_nonjump.
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

10 years agoPR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler
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

10 years agogcc/
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

10 years agosysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.
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

10 years agoEnsure UNSUPPORTED tests in tree-prof do not report absolute paths.
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

10 years agotree-ssa-ifcombine.c (forwarder_block_to): New function.
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

10 years agore PR target/60264 (ARM ICE in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1090)
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

10 years agodwarf2-signal.h: Update copyright year.
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

10 years agore PR tree-optimization/60454 (Code mistakenly detected as doing bswap)
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

10 years ago[AArch64] Fix selection of default CPU options at configure-time
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

10 years agore PR tree-optimization/60502 (ICE reassociation and vector types.)
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

10 years agore PR middle-end/60482 (Loop optimization regression)
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

10 years agolibgo: Build math package with -ffp-contract=off on non-x86.
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

10 years agoDaily bump.
GCC Administrator [Wed, 12 Mar 2014 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r208504

10 years agobuiltins.c (expand_builtin_setjmp_receiver): Use and clobber hard_frame_pointer_rtx.
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

10 years agore PR c++/60389 ([c++11] ICE with inheriting constructors and wrong usage of constexpr)
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

10 years agore PR libstdc++/60499 (non-reserved name in <debug/vector>)
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

10 years agonatObject.cc (_Jv_MonitorEnter): Add missing parenthesis around comparison with ...
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

10 years agoFix arc_predicate_delay_insns ICE suring qt build:
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

10 years agoFix post-reload predicate mismatch ICE during qt build:
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

10 years ago* c.opt: Add -std=gnu++14.
Jason Merrill [Tue, 11 Mar 2014 15:37:12 +0000 (11:37 -0400)]
* c.opt: Add -std=gnu++14.

From-SVN: r208486

10 years agotree-ssa-structalias.c (get_constraint_for_ptr_offset): Add asserts to guard possible...
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

10 years agore PR middle-end/60429 (Miscompilation (aliasing) with -finline-functions)
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

10 years agoDon't override -ffp-contract=fast if -funsafe-math-optimizations
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

10 years agonios2.c (machine_function): Add fp_save_offset field.
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

10 years ago* sv.po: Update.
Joseph Myers [Tue, 11 Mar 2014 00:24:22 +0000 (00:24 +0000)]
* sv.po: Update.

From-SVN: r208470

10 years agoDaily bump.
GCC Administrator [Tue, 11 Mar 2014 00:17:28 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r208469

10 years ago* gcc-interface/Make-lang.in (ADA_DEPFILES): Fix typo.
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

10 years agore PR c++/60367 (Default argument object is not getting constructed)
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

10 years ago* MAINTAINERS (Write After Approval): Add myself.
Anatoly Sokolov [Mon, 10 Mar 2014 19:44:14 +0000 (23:44 +0400)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r208461

10 years agomove dg-do before dg-require
Jason Merrill [Mon, 10 Mar 2014 19:31:50 +0000 (15:31 -0400)]
move dg-do before dg-require

From-SVN: r208460

10 years agore PR libgcc/60472 (Warning: array subscript is above array bounds when compiling...
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

10 years agore PR c++/53492 (ICE in retrieve_specialization, at cp/pt.c:985)
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

10 years agore PR ipa/60457 (ICE in cgraph_get_node)
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

10 years agore PR c++/60474 (Crash in tree_class_check)
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

10 years agoDaily bump.
GCC Administrator [Mon, 10 Mar 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r208447

10 years ago* g++.dg/cpp0x/alias-decl-debug-0.C: Move dg-skip after dg-do.
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

10 years agoMakefile.am: Install cilk.h.
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

10 years agore PR libfortran/38199 (missed optimization: I/O performance)
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

10 years agore PR libfortran/38199 (missed optimization: I/O performance)
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

10 years agoDaily bump.
GCC Administrator [Sun, 9 Mar 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r208437

10 years agolibgfortran.h (unlikely, likely): Add usage comment.
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

10 years agoFixes reported build failure.
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

10 years agoinvoke.texi (-fcilkplus): Update implementation status.
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

10 years agore PR fortran/60447 (Empty .s file created when using -E flag)
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

10 years agogfortran.texi (Fortran 2003 Status): Mention finalization, deferred-length character...
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

10 years agolto-wrapper.c (merge_and_complain): Ensure -fshort-double is used consistently accros...
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

10 years agore PR c++/60033 ([c++1y] ICE in retrieve_specialization while compiling recursive...
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

10 years agore PR c++/60393 ([c++1y] ICE with with invalid functions with auto parameters)
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

10 years agore PR target/58271 (ICE in gcc for a MIPS target during compilation with -mpaired...
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

10 years agore PR fortran/60128 (Wrong ouput using en edit descriptor)
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

10 years agoDaily bump.
GCC Administrator [Sat, 8 Mar 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r208422

10 years agore PR ada/60411 (Ada bootstrap failure on ARM)
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

10 years ago* Make-lang.in (check_g++_parallelize): Split dg.exp.
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

10 years agog++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.
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

10 years agoparser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if we're in a trailing...
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

10 years agotypeck.c (comp_template_parms_position): 'auto' and 'decltype(auto)' are different...
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

10 years agoparser.c (cp_parser_using_declaration): Consume the semicolon after bare parameter...
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

10 years agocp-tree.h (REF_PARENTHESIZED_P): New.
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

10 years agodecl.c (create_array_type_for_decl): Only warn about invalid C++1y VLA if flag_iso...
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

10 years agore PR c++/58609 ([c++11] ICE with uninitialized variable in constexpr)
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

10 years agoMAINTAINERS: Remove avr maintainers: Anatoly Sokolov and Eric Weddington
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

10 years ago* c.opt: Add -std=c++14.
Jason Merrill [Fri, 7 Mar 2014 16:23:57 +0000 (11:23 -0500)]
* c.opt: Add -std=c++14.

From-SVN: r208404

10 years ago* sort.c (backtrace_qsort): Use middle element as pivot.
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

10 years agodecl.c (check_initializer): Remove dead code.
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

10 years agoHandle backtrace_qsort
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

10 years agore PR bootstrap/58572 (make bootstrap-lean leads to installation failure (doing extra...
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

10 years agoImprove @tlsldmplt test on Solaris 11/x86
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

10 years agoDisable local dynamic TLS model on Solaris/x86 if as/ld cannot handle it
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

10 years agocommon.opt (fira-loop-pressure): Mark as optimization.
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

10 years agoThe error_mark_node is not an OpenMP mappable type.
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

10 years agosort.c: New file.
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

10 years agoruntime: Fix GC bug caused by Entersyscall modifying reg.
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

10 years agoDaily bump.
GCC Administrator [Fri, 7 Mar 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r208389

10 years agore PR fortran/51976 ([F2003] Support deferred-length character components of derived...
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

10 years agoMakefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if MULTILIB_OSDIRNAMES is not defined.
Matthias Klose [Thu, 6 Mar 2014 14:16:49 +0000 (14:16 +0000)]
Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if MULTILIB_OSDIRNAMES is not defined.

2014-03-06  Matthias Klose  <doko@ubuntu.com>

        * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
        MULTILIB_OSDIRNAMES is not defined.

From-SVN: r208383

10 years agore PR c/60197 (ICE with _Cilk_spawn in expression)
Marek Polacek [Thu, 6 Mar 2014 13:41:46 +0000 (13:41 +0000)]
re PR c/60197 (ICE with _Cilk_spawn in expression)

PR c/60197
c-family/
* cilk.c (contains_cilk_spawn_stmt): New function.
(contains_cilk_spawn_stmt_walker): Likewise.
(recognize_spawn): Give error on invalid use of _Cilk_spawn.
* c-common.h (contains_cilk_spawn_stmt): Add declaration.
c/
* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
of checking tree code.
cp/
* typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
of checking tree code.
testsuite/
* c-c++-common/cilk-plus/CK/pr60197.c: New test.
* c-c++-common/cilk-plus/CK/pr60197-2.c: New test.

From-SVN: r208382

10 years agoDon't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339)
Rainer Orth [Thu, 6 Mar 2014 12:24:11 +0000 (12:24 +0000)]
Don't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339)

PR libgcc/59339
* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
vtv_*.o to extra_parts if enable_vtable_verify.

From-SVN: r208381

10 years agore PR target/58595 (internal compiler error: in gen_movsi when compiling on arm some...
Jakub Jelinek [Thu, 6 Mar 2014 12:07:07 +0000 (13:07 +0100)]
re PR target/58595 (internal compiler error: in gen_movsi when compiling on arm some files of lttng-tools with -fPIE)

PR target/58595
* config/arm/arm.c (arm_tls_symbol_p): Remove.
(arm_legitimize_address): Call legitimize_tls_address for any
arm_tls_referenced_p expression, handle constant addend.  Call it
before testing for !TARGET_ARM.
(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.

* gcc.dg/tls/pr58595.c: New test.

Co-Authored-By: Meador Inge <meadori@codesourcery.com>
From-SVN: r208380