aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-05-13re PR c++/57252 (GCC does not treat ref-qualified overload set as ambiguous)Jason Merrill3-0/+19
PR c++/57252 * decl.c (decls_match): Compare ref-qualifiers. From-SVN: r198841
2013-05-13compare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 ↵Mike Stump2-5/+10
doesn't like long... * compare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 doesn't like long lines (those 2055 characters or more). From-SVN: r198840
2013-05-13re PR target/57264 (cld not emitted when string instructions used, and ↵Uros Bizjak2-6/+26
'-mcld' on command line) PR target/57264 * gcc.target/i386/pr57264.c: New test. From-SVN: r198839
2013-05-13* gcc.dg/vector-shift-2.c: Add -O to dg-options.Jakub Jelinek2-1/+5
From-SVN: r198836
2013-05-13forwprop-26.c: Add -fno-short-enums to dg-options.Greta Yorsh2-1/+6
gcc/testsuite 2013-05-13 Greta Yorsh <Greta.Yorsh@arm.com> * gcc.dg/tree-ssa/forwprop-26.c: Add -fno-short-enums to dg-options. From-SVN: r198832
2013-05-13aarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases.Sofiane Naci3-66/+69
* config/aarch64/aarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases. (aarch64_simd_mov): Rename to aarch64_split_simd_mov. Update. (aarch64_simd_mov_to_<mode>low): Delete. (aarch64_simd_mov_to_<mode>high): Delete. (move_lo_quad_<mode>): Add w<-r alternative. (aarch64_simd_move_hi_quad_<mode>): Likewise. (aarch64_simd_mov_from_*): Update type attribute. * config/aarch64/aarch64.c (aarch64_split_simd_move): Refacror switch statement. From-SVN: r198831
2013-05-13mode-switching.c (optimize_mode_switching): Set correct RTL profile.Jan Hubicka3-9/+23
* mode-switching.c (optimize_mode_switching): Set correct RTL profile. * config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_epilogue, emit_i387_cw_initialization, ix86_expand_vector_move_misalign, ix86_fp_comparison_strategy, ix86_local_alignment): Fix use of size/speed predicates. From-SVN: r198825
2013-05-13Restore Solaris/amd64 Ada bootstrap (PR ada/57188)Rainer Orth2-1/+6
PR ada/57188 * gcc-interface/Makefile.in: Allow for amd64 solaris2. From-SVN: r198824
2013-05-13re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)Jakub Jelinek10-16/+871
PR tree-optimization/45216 PR tree-optimization/57157 * tree-ssa-forwprop.c (simplify_rotate): Only recognize the (-Y) & (B - 1) variant if OP is |. * expmed.c (expand_shift_1): For rotations by const0_rtx just return shifted. Use (-op1) & (prec - 1) as other_amount instead of prec - op1. * c-c++-common/rotate-1.c: Add 32 tests with +. * c-c++-common/rotate-1a.c: Adjust. * c-c++-common/rotate-2.c: Add 32 tests with +, expect only 48 rotates. * c-c++-common/rotate-2b.c: New test. * c-c++-common/rotate-3.c: Add 32 tests with +. * c-c++-common/rotate-4.c: Add 32 tests with +, expect only 48 rotates. * c-c++-common/rotate-4b.c: New test. * c-c++-common/rotate-5.c: New test. From-SVN: r198823
2013-05-13re PR middle-end/42371 (dead code not eliminated during folding with ↵Martin Jambor13-22/+740
whole-program) 2013-05-13 Martin Jambor <mjambor@suse.cz> PR middle-end/42371 * ipa-prop.h (IPA_UNDESCRIBED_USE): New macro. (ipa_constant_data): New type. (ipa_jump_func): Use ipa_constant_data to hold information about constant jump functions. (ipa_get_jf_constant): Adjust to jump function type changes. (ipa_get_jf_constant_rdesc): New function. (ipa_param_descriptor): New field controlled_uses. (ipa_get_controlled_uses): New function. (ipa_set_controlled_uses): Likewise. * ipa-ref.h (ipa_find_reference): Declare. * ipa-prop.c (ipa_cst_ref_desc): New type. (ipa_print_node_jump_functions_for_edge): Adjust for jump function type changes. (ipa_set_jf_constant): Likewise. Also create reference descriptions. New parameter cs. Adjust all callers. (ipa_analyze_params_uses): Detect uncontrolled and controlled uses. (remove_described_reference): New function. (jfunc_rdesc_usable): Likewise. (try_make_edge_direct_simple_call): Decrement controlled use count, attempt to remove reference if it hits zero. (combine_controlled_uses_counters): New function. (propagate_controlled_uses): Likewise. (ipa_propagate_indirect_call_infos): Call propagate_controlled_uses. (ipa_edge_duplication_hook): Duplicate reference descriptions. (ipa_print_node_params): Print described use counter. (ipa_write_jump_function): Adjust to jump function type changes. (ipa_read_jump_function): New parameter CS, pass it to ipa_set_jf_constant. Adjust caller. (ipa_write_node_info): Stream controlled use count (ipa_read_node_info): Likewise. * cgraph.c (cgraph_mark_address_taken_node): Bail out instead of asserting. * ipa-cp.c (ipcp_discover_new_direct_edges): Decrement controlled use count. Remove cloning-added reference if it reaches zero. * ipa-ref.c (ipa_find_reference): New function. testsuite/ * gcc.dg/ipa/remref-0.c: New test. * gcc.dg/ipa/remref-1a.c: Likewise. * gcc.dg/ipa/remref-1b.c: Likewise. * gcc.dg/ipa/remref-2a.c: Likewise. * gcc.dg/ipa/remref-2b.c: Likewise. From-SVN: r198821
2013-05-13AMD specific default alignment changesGanesh Gopalasubramanian2-5/+10
From-SVN: r198820
2013-05-13tree-vect-generic.c (uniform_vector_p): Move ...Marc Glisse7-46/+84
2013-05-13 Marc Glisse <marc.glisse@inria.fr> gcc/ * tree-vect-generic.c (uniform_vector_p): Move ... * tree.c (uniform_vector_p): ... here. * tree.h (uniform_vector_p): Declare it. * fold-const.c (fold_binary_loc) <shift>: Turn the second argument into a scalar. gcc/testsuite/ * gcc.dg/vector-shift-2.c: New testcase. From-SVN: r198819
2013-05-13re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a ↵Jakub Jelinek4-0/+43
strlen to 0) PR tree-optimization/57230 * tree-ssa-strlen.c (handle_char_store): Record length for array store from STRING_CST. * gcc.dg/strlenopt-24.c: New test. From-SVN: r198815
2013-05-13re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a ↵Jakub Jelinek4-1/+27
strlen to 0) PR tree-optimization/57230 * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop check. * gcc.dg/strlenopt-23.c: New test. From-SVN: r198813
2013-05-13Fix EH handling issue in last change:Joern Rennecke2-2/+22
* config/epiphany/epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING. (epiphany_expand_prologue): Remove CONFIG_REGNUM initial value handling code. (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG. (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise. (emit_set_fp_mode, epiphany_mode_after): Likewise. (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>: Don't return 1 for FP_MODE_NONE. * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING): Add value for EPIPHANY_MSW_ENTITY_CONFIG. (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define. * config/epiphany/epiphany.md (save_config): New pattern. From-SVN: r198811
2013-05-13Daily bump.GCC Administrator1-1/+1
From-SVN: r198810
2013-05-12epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING.Joern Rennecke4-43/+65
* config/epiphany/epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING. (epiphany_expand_prologue): Remove CONFIG_REGNUM initial value handling code. (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG. (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise. (emit_set_fp_mode): Likewise. (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>: Don't return 1 for FP_MODE_NONE. * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING): Add value for EPIPHANY_MSW_ENTITY_CONFIG. (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define. * config/epiphany/epiphany.md (save_config): New pattern. From-SVN: r198807
2013-05-12i386.md (*zero_extendsidi2): Add *x->?r alternative.Uros Bizjak2-5/+24
* config/i386/i386.md (*zero_extendsidi2): Add *x->?r alternative. From-SVN: r198806
2013-05-12Remove duplicate (and incorrect) entry for r197284.Gerald Pfeifer1-1/+0
From-SVN: r198805
2013-05-12re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in ↵Oleg Endo3-19/+23
int_mode_for_mode, at stor-layout.c:395) PR target/57108 * gcc.target/sh/pr57108.c: Move this test case to ... * gcc.c-torture/compile/pr57108.c: ... here. From-SVN: r198803
2013-05-12Daily bump.GCC Administrator1-1/+1
From-SVN: r198802
2013-05-11Daily bump.GCC Administrator1-1/+1
From-SVN: r198799
2013-05-10i386.md (memory): Handle sseishft1.Uros Bizjak3-4/+9
* config/i386/i386.md (memory): Handle sseishft1. * config/i386/sse.md (*vec_extractv4si): Remove memory attribute. (*vec_extractv2di_1): Ditto. From-SVN: r198795
2013-05-10lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call saved registers.Vladimir Makarov2-1/+6
2013-05-10 Vladimir Makarov <vmakarov@redhat.com> * lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call saved registers. From-SVN: r198792
2013-05-10re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of ↵Paolo Carlini35-96/+480
const_iterator) 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/54577 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode. (_Deque_iterator<>::_M_const_cast): Add. (deque<>::_M_erase): Declare. * include/bits/deque.tcc: ... and define. * include/bits/stl_list.h (erase): Fix signatures in C++11 mode. (_List_const_iterator<>::_M_const_cast): Add. * include/bits/list.tcc (erase (iterator)): Fix. * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): Add; include <ext/cast.h>. * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode. (vector<>::_M_erase): Declare. * include/bits/stl_bvector.h: Likewise. * include/bits/vector.tcc (vector<>::_M_erase): Define. * include/ext/vstring.h (erase): Fix signatures in C++11 mode. * include/debug/deque: Adjust. * include/debug/list: Likewise. * include/debug/vector: Likewise. * include/profile/deque: Likewise. * include/profile/list: Likewise. * include/profile/vector: Likewise. * testsuite/util/exception/safety.h (erase_base<deque>, erase_base<deque>, erase_base<vector>): Remove. (erase_base<__versa_string>): Update. * testsuite/ext/vstring/modifiers/char/54577.cc: New. * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise. * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r198790
2013-05-10Fix spacingJoel Sherrill1-1/+1
From-SVN: r198789
2013-05-10t-rtems-eabi: Remove mthumb/march=armv7 multilib.Sebastian Huber2-6/+52
2013-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de> * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib. Add mthumb/march=armv7-a multilib. Add mthumb/march=armv7-r multilib. Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib. From-SVN: r198784
2013-05-10t-rtems: Add more multilibs.Ralf Corsepius2-0/+8
2013-05-10 Ralf Corsépius <ralf.corsepius@rtems.org> * config/v850/t-rtems: Add more multilibs. From-SVN: r198781
2013-05-10re PR c++/57196 (Bogus "aggregate ... has incomplete type and cannot be ↵Jason Merrill6-2/+40
defined") PR c++/57196 * pt.c (convert_template_argument): Use dependent_template_arg_p, not uses_template_parms. From-SVN: r198778
2013-05-10re PR c++/57047 ([C++11] stl_pair.h:137:64: internal compiler error: ↵Jason Merrill3-3/+62
Segmentation fault in constexpr constructor) PR c++/57047 * semantics.c (cxx_fold_indirect_ref): Fix thinko. From-SVN: r198777
2013-05-10re PR c++/55149 (capturing VLA in lambda)Jason Merrill4-1/+21
PR c++/55149 * semantics.c (add_capture): Error rather than abort on copy capture of VLA. * typeck.c (maybe_warn_about_returning_address_of_local): Don't warn about capture proxy. From-SVN: r198776
2013-05-10Fix changelog entryRichard Biener1-2/+1
From-SVN: r198775
2013-05-10re PR tree-optimization/57214 (ice: tree check: expected ssa_name, have ↵Richard Biener4-1/+39
integer_cst in coalesce_partitions, at tree-ssa-coalesce.c:1194) 2013-05-10 Richard Biener <rguenther@suse.de> PR tree-optimization/57214 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do not propagate from SSA names that occur in abnormal PHI nodes. From-SVN: r198773
2013-05-10stor-layout.c (element_precision): New function.Marc Glisse12-32/+146
2013-05-10 Marc Glisse <marc.glisse@inria.fr> gcc/ * stor-layout.c (element_precision): New function. * machmode.h (element_precision): Declare it. * tree.c (build_minus_one_cst): New function. (element_precision): Likewise. * tree.h (build_minus_one_cst): Declare new function. (element_precision): Likewise. * fold-const.c (operand_equal_p): Use element_precision. (fold_binary_loc): Handle vector types. * convert.c (convert_to_integer): Use element_precision. * gimple.c (iterative_hash_canonical_type): Handle complex and vectors separately. gcc/c-family/ * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for vectors. gcc/testsuite/ * gcc.dg/vector-shift.c: New testcase. From-SVN: r198772
2013-05-10gcc/Richard Sandiford6-201/+125
* config/mips/mips-protos.h (m16_uimm3_b, m16_simm4_1, m16_nsimm4_1) (m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4, m16_simm8_1) (m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1, m16_uimm8_4) (m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete. * config/mips/mips.c (m16_check_op, m16_uimm3_b, m16_simm4_1) (m16_nsimm4_1, m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4) (m16_simm8_1, m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1) (m16_uimm8_4, m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete. * config/mips/constraints.md (Udb8, Usb5, Usb8, Usd8, Uub8, Uuw5) (Uuw8): New constraints. (Usb4): Move into alphabetical order. * config/mips/predicates.md (db8_operand, sb5_operand, sb8_operand) (sd8_operand, ub8_operand, uw8_operand): New predicates. * config/mips/mips.md (*xor<mode>3, *xor<mode>3_mips16): Name previously unnamed patterns. (*add<mode>3_mips16, *xor<mode>3_mips16, *<optab>si3_mips16) (*ashldi3_mips16, *ashrdi3_mips16, *lshrdi3_mips16) (*slt<u>_<GPR:mode><GPR2:mode>_mips16) (*sle<u>_<GPR:mode><GPR2:mode>_mips16): Use constraints instead of set_attr_alternative/if_then_else. Use extended_mips16 instead of specific lengths. From-SVN: r198771
2013-05-10i386.md (rotateinv): New code attr.Jakub Jelinek4-21/+45
* config/i386/i386.md (rotateinv): New code attr. (*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext, *<rotate_insn>qi3_1_slp): Emit rorl %eax instead of roll $31, %eax, etc. * gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction. From-SVN: r198770
2013-05-10re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)Jakub Jelinek11-0/+1879
PR tree-optimization/45216 PR tree-optimization/57157 * tree-ssa-forwprop.c (simplify_rotate): New function. (ssa_forward_propagate_and_combine): Call it. * c-c++-common/rotate-1.c: New test. * c-c++-common/rotate-1a.c: New test. * c-c++-common/rotate-2.c: New test. * c-c++-common/rotate-2a.c: New test. * c-c++-common/rotate-3.c: New test. * c-c++-common/rotate-3a.c: New test. * c-c++-common/rotate-4.c: New test. * c-c++-common/rotate-4a.c: New test. From-SVN: r198769
2013-05-10testsuite_abi.cc (check_version): Add CXXABI_1.3.8.Uros Bizjak2-5/+10
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8. From-SVN: r198768
2013-05-10tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable ↵Richard Biener18-142/+141
peeling when we version for aliasing. 2013-05-10 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling when we version for aliasing. (vector_alignment_reachable_p): Honor explicit user alignment. (vect_supportable_dr_alignment): Likewise. * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it. * tree-vect-loop.c (vect_transform_loop): First apply versioning, then peeling to arrange for the cost-model check to come first. * gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined. * gcc.target/i386/l_fma_double_1.c: Adjust. * gcc.target/i386/l_fma_double_2.c: Likewise. * gcc.target/i386/l_fma_double_3.c: Likewise. * gcc.target/i386/l_fma_double_4.c: Likewise. * gcc.target/i386/l_fma_double_5.c: Likewise. * gcc.target/i386/l_fma_double_6.c: Likewise. * gcc.target/i386/l_fma_float_1.c: Likewise. * gcc.target/i386/l_fma_float_2.c: Likewise. * gcc.target/i386/l_fma_float_3.c: Likewise. * gcc.target/i386/l_fma_float_4.c: Likewise. * gcc.target/i386/l_fma_float_5.c: Likewise. * gcc.target/i386/l_fma_float_6.c: Likewise. From-SVN: r198767
2013-05-10configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.Alan Modra3-53/+59
* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases. (HAVE_LD_LARGE_TOC): Don't mention AIX in help text. * configure: Regenerate. From-SVN: r198766
2013-05-10re PR target/55033 (PowerPC section type conflict error)Alan Modra4-7/+19
PR target/55033 * varasm.c (default_elf_select_section): Move !DECL_P check.. (get_named_section): ..to here before calling get_section_name. Adjust assertion. (default_section_type_flags): Add DECL_P check. * config/i386/winnt.c (i386_pe_section_type_flags): Likewise. * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise. From-SVN: r198762
2013-05-10Daily bump.GCC Administrator1-1/+1
From-SVN: r198760
2013-05-09* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.Jason Merrill2-1/+3
From-SVN: r198756
2013-05-09epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with ↵Joern Rennecke2-6/+22
a register offset... * config/epiphany/epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a register offset, add a REG_FRAME_RELATED_EXPR note. From-SVN: r198753
2013-05-09sse.md (*vec_extractv4si_0_zext): New pattern.Uros Bizjak4-12/+82
* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern. (*vec_extractv4si_zext_mem): Ditto. (*vec_extractv2di): Add 0->x and x->x alternatives. * config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern. * config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative. From-SVN: r198752
2013-05-09re PR c++/57222 (Template alias not working in argument of template class ↵Jason Merrill4-4/+37
template method) PR c++/57222 * pt.c (lookup_template_class_1): Handle getting a template template parameter as D1. From-SVN: r198747
2013-05-09N3639 C++1y VLA diagnosticsJason Merrill7-4/+110
* decl.c (grokdeclarator): Complain about reference, pointer, or typedef to VLA. (create_array_type_for_decl): Complain about array of VLA. * pt.c (tsubst): Likewise. * rtti.c (get_tinfo_decl): Talk about "array of runtime bound". * semantics.c (finish_decltype_type): Complain about decltype of VLA. * typeck.c (cp_build_addr_expr_1): Complain about VLA. (cxx_sizeof_or_alignof_type): Likewise. From-SVN: r198746
2013-05-09N3639 C++1y VLA supportJason Merrill23-30/+331
gcc/ * gimplify.c (gimplify_vla_decl): Don't touch an existing DECL_VALUE_EXPR. gcc/cp/ * decl.c (compute_array_index_type): Allow VLAs in C++1y mode. (check_array_initializer): Allow VLA init. (reshape_init_array_1): Adjust. (cp_finish_decl): Check for invalid VLA length. * typeck2.c (process_init_constructor_array): Adjust. (store_init_value): Use build_vec_init for VLAs. * semantics.c (add_capture): Capture VLA as ptr+len. (vla_capture_type): New. (build_capture_proxy): Rebuild the VLA. * typeck.c (build_simple_component_ref): Split out from... (build_ptrmemfunc_access_expr): ...here. * tree.c (array_of_runtime_bound_p): New. * init.c (throw_bad_array_length): New. (build_vec_init): Use it. * parser.c (cp_convert_range_for): When iterating over a VLA, use it directly rather than bind a reference. * cp-tree.h: Declare new functions. libstdc++-v3/ * libsupc++/new: Add std::bad_array_length. * libsupc++/bad_array_length.cc: New. * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length. * libsupc++/Makefile.in: Build them. * config/abi/pre/gnu.ver: Add new symbols. * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. From-SVN: r198745
2013-05-09tree.c (build_constructor_va): New.Jason Merrill3-0/+27
* tree.c (build_constructor_va): New. * tree.h: Declare it. From-SVN: r198744
2013-05-09re PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)Martin Jambor2-1/+7
2013-05-09 Martin Jambor <mjambor@suse.cz> PR lto/57084 * gimple-fold.c (canonicalize_constructor_val): Call cgraph_get_create_real_symbol_node instead of cgraph_get_create_node. From-SVN: r198743