aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-12-07libgo: Update to weekly 2011-11-09.Ian Lance Taylor386-2361/+4954
From-SVN: r182073
2011-12-07Daily bump.GCC Administrator1-1/+1
From-SVN: r182072
2011-12-06rtems.h: Switch to using global_options_set in SUBSUBTARGET_OVERRIDE_OPTIONS.Joel Sherrill2-11/+16
2011-12-06 Joel Sherrill <joel.sherrill@oarcorp.com> * config/rs6000/rtems.h: Switch to using global_options_set in SUBSUBTARGET_OVERRIDE_OPTIONS. From-SVN: r182068
2011-12-06sparc: Fix warnings when using visintrin.h with VIS level lower than 3.David S. Miller2-0/+20
* config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection. From-SVN: r182067
2011-12-06crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of ↵Andrew Pinski2-2/+8
func_ptr. 2011-12-06 Andrew Pinski <apinski@cavium.com> * crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of func_ptr. (__frame_dummy_init_array_entry): Likewise. From-SVN: r182066
2011-12-06Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]): Correctly detect cygwin...Dave Korn3-20/+72
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]): Correctly detect cygwin, which no longer has the '32' suffix, and use appropriate implementations of the sockets and memory packages. * sysdep.c (WIN_SETMODE): New define to choose the correct spelling of setmode/_setmode for MinGW and Cygwin, respectively. (__gnat_set_binary_mode [windows targets]): Use the above, and enable the windows version for Cygwin as well as MinGW. (__gnat_set_text_mode [windows targets]): Likewise. (__gnat_ttyname [windows targets]): Provide a Cygwin implementation in addition to the MinGW version. (__gnat_is_windows_xp): Make available to Cygwin as well as MinGW. (__gnat_get_stack_bounds): Likewise. From-SVN: r182065
2011-12-06re PR libstdc++/51438 (std::exception and derived classes are not compatible ↵Paolo Carlini22-117/+190
with std::nested_exception and C++11 in general) 2011-12-06 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/51438 * libsupc++/nested_exception.h (nested_exception::~nested_exception): Declare noexcept. * libsupc++/nested_exception.cc: Adjust. * testsuite/18_support/nested_exception/51438.cc: New. * testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust. * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise. * src/shared_ptr.cc: Use noexcept where appropriate. * include/std/system_error: Likewise. * include/std/functional: Likewise. * include/bits/shared_ptr_base.h: Likewise. * src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate. * include/std/stdexcept: Likewise. * libsupc++/bad_cast.cc: Likewise. * libsupc++/bad_typeid.cc: Likewise. * libsupc++/eh_exception.cc: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/exception: Likewise. * libsupc++/eh_ptr.cc: Likewise. * libsupc++/bad_alloc.cc: Likewise. * libsupc++/exception_ptr.h: Likewise. * include/std/chrono: Use noexcept where appropriate. * src/chrono.cc: Likewise. From-SVN: r182064
2011-12-06re PR c++/51430 (ICE with array as static const member)Jakub Jelinek4-1/+23
PR c++/51430 * pt.c (tsubst_decl): Don't call strip_array_domain on error_mark_node. * g++.dg/template/static32.C: New test. From-SVN: r182063
2011-12-06pr51396.C: Use dg-additional-options.Uros Bizjak2-4/+7
* g++.dg/opt/pr51396.C: Use dg-additional-options. From-SVN: r182061
2011-12-06libgo: Remove more os.Error cases.Ian Lance Taylor3-16/+15
From Rainer Orth. From-SVN: r182060
2011-12-06re PR fortran/51435 (Bad association status after null() of derived type ↵Tobias Burnus4-0/+80
component) 2011-12-06 Tobias Burnus <burnus@net-b.de> PR fortran/51435 * expr.c (gfc_has_default_initializer): Fix handling of DT with initialized pointer components. 2011-12-06 Tobias Burnus <burnus@net-b.de> PR fortran/51435 * gfortran.dg/default_initialization_5.f90: New. From-SVN: r182059
2011-12-06avr.c (avr_file_start): Fix missing ,Georg-Johann Lay2-1/+5
* config/avr/avr.c (avr_file_start): Fix missing , From-SVN: r182058
2011-12-06re PR target/51354 (ICE in maybe_record_trace_start)Jakub Jelinek4-2/+30
PR target/51354 * config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note unconditionally. * gcc.c-torture/compile/pr51354.c: New test. From-SVN: r182056
2011-12-06re PR c++/51431 (ICE with invalid use of abstract class)Paolo Carlini4-4/+25
/cp 2011-12-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51431 * init.c (build_value_init): Check build_aggr_init_expr return value for error_mark_node. /testsuite 2011-12-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51431 * g++.dg/other/abstract3.C: New. From-SVN: r182055
2011-12-06re PR libstdc++/51183 (pair piecewise_construct_t constructor copies)Jonathan Wakely4-25/+99
2011-12-06 Jonathan Wakely <jwakely.gcc@gmail.com> Chris Jefferson <chris@bubblescope.net> PR libstdc++/51183 * include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove. (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare. (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)): Declare. * include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove. (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)): Define. (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define, delegating to the latter. * testsuite/20_util/pair/piecewise2.cc: New. Co-Authored-By: Chris Jefferson <chris@bubblescope.net> From-SVN: r182054
2011-12-06avr-mcus.def (avr_mcu_types): ATtiny4313 and AT86RF401 have a 16-bit SP ↵Georg-Johann Lay2-2/+8
(their manual is bogus). * config/avr/avr-mcus.def (avr_mcu_types): ATtiny4313 and AT86RF401 have a 16-bit SP (their manual is bogus). Forward-port from gcc-4_6-branch r181936 2011-12-02. From-SVN: r182053
2011-12-06Forward-port from gcc-4_6-branch r181936 2011-12-02.Georg-Johann Lay5-56/+107
libgcc/ Forward-port from gcc-4_6-branch r181936 2011-12-02. PR target/51345 PR target/51002 * config/avr/lib1funcs.S (__prologue_saves__, __epilogue_restores__, __divdi3_moddi3): Enclose parts using __SP_H__ in !defined (__AVR_HAVE_8BIT_SP__). Add FIXME comments. gcc/ Forward-port from gcc-4_6-branch r181936 2011-12-02. PR target/51002 * config/avr/avr.md (movhi_sp_r): Set insn condition to !AVR_HAVE_8BIT_SP. * config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in %B0,__SP_H__" if AVR_HAVE_8BIT_SP. (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP. From-SVN: r182052
2011-12-06re PR target/51409 ([avr] Build fails if configured for other languages than ↵Georg-Johann Lay4-106/+175
from c-family) PR target/51409 PR target/49868 * config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum. (avr_addrspace_t): New typedef. (avr_addrspace): New declaration. * config/avr/avr-c.c (avr_toupper): New static function. (avr_register_target_pragmas, avr_cpu_cpp_builtins): Use avr_addrspace to get address space information. * config/avr/avr.c (avr_addrspace): New variable. (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes, avr_asm_named_section, avr_section_type_flags, avr_asm_select_section, avr_addr_space_address_mode, avr_addr_space_convert, avr_emit_movmemhi): Use it. (avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode. (avr_pgm_segment): Remove. From-SVN: r182051
2011-12-06re PR libgomp/51132 (FAIL: libgomp.graphite/force-parallel-[678].c)Jakub Jelinek7-9/+24
PR libgomp/51132 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays to file scope. * testsuite/libgomp.graphite/force-parallel-3.c: Likewise. * testsuite/libgomp.graphite/force-parallel-6.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. * testsuite/libgomp.graphite/force-parallel-9.c: Likewise. From-SVN: r182050
2011-12-06re PR tree-optimization/49997 (ICE in inline_small_functions with ↵Richard Guenther2-0/+30
-fnon-call-exceptions) 2011-12-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/49997 * gcc.dg/torture/pr49997.c: New testcase. From-SVN: r182049
2011-12-06re PR lto/50601 (New LTO failures)Richard Guenther3-9/+12
2011-12-06 Richard Guenther <rguenther@suse.de> PR middle-end/50601 * varasm.c (assemble_alias): Move DECL_EXTERNAL implementation quirk adjustjment ... * passes.c (rest_of_decl_compilation): ... here. From-SVN: r182048
2011-12-06re PR middle-end/51436 (ICE(segfault) in gimplify_and_update_call_from_tree ↵Richard Guenther4-1/+73
gimple-fold.c:603) 2011-12-06 Richard Guenther <rguenther@suse.de> PR middle-end/51436 * gimple-fold.c (gimplify_and_update_call_from_tree): Guard vdef check for the fact we do not have virtual operands when not optimizing. * g++.dg/torture/pr51436.C: New testcase. From-SVN: r182045
2011-12-06re PR tree-optimization/51245 (ICE in vn_reference_insert_pieces, at ↵Richard Guenther4-24/+69
tree-ssa-sccvn.c:1983) 2011-12-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/51245 * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces): New function. (vn_reference_lookup_3): Use it. Properly valueize all refs we create. * gcc.dg/torture/pr51245.c: New testcase. From-SVN: r182044
2011-12-06PR c++/51427 - Better diagnostic when union/struct tags conflictsDodji Seketeli4-4/+23
gcc/cp/ PR c++/51427 * parser.c (cp_parser_check_class_key): Add note about earlier declaration. gcc/testsuite/ PR c++/51427 * g++.dg/diagnostic/wrong-tag-1.C From-SVN: r182043
2011-12-06rs6000.c (darwin_rs6000_override_options): Initialize rs6000_current_abi.Iain Sandoe2-0/+6
gcc: * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize rs6000_current_abi. From-SVN: r182042
2011-12-06re PR tree-optimization/51363 (ICE: in gimple_rhs_has_side_effects, at ↵Richard Guenther4-69/+10
gimple.c:2530 with -O -fno-tree-ccp) 2011-12-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/51363 * gimple.c (gimple_rhs_has_side_effects): Remove. * gimple.h (gimple_rhs_has_side_effects): Likewise. * tree-ssa-dom.c (optimize_stmt): Simplify conditional. From-SVN: r182041
2011-12-06re PR target/50906 (e500 exception unwinding under "-Os" causes SIGSEGV)Alan Modra2-97/+118
PR target/50906 * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>): Do not mark r11 setup as frame-related. Pass correct offset to rs6000_emit_savres_rtx. Correct out-of-line rs6000_frame_related arguments. Correct sp_offset. Remove "offset" fudge from in-line rs6000_frame_related call. Rename misleading variable. Fix comments and whitespace. Tidy some expressions. (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx to r11 in out-of-line case. Correct sp_offset. Pass correct offset to rs6000_emit_savres_rtx. Rename misleading variable. Fix comments and whitespace. Tidy some expressions. (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset adjustment when !saving_GPRs_inline. Correct register mode used in address calcs. (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when !restoring_GPRs_inline. From-SVN: r182039
2011-12-06Fix formatting character for vmov.f64 case.Ramana Radhakrishnan2-1/+6
From-SVN: r182038
2011-12-06Daily bump.GCC Administrator1-1/+1
From-SVN: r182037
2011-12-05Fix earlier Changelog entry to match the Ramana Radhakrishnan1-2/+4
commit. From-SVN: r182033
2011-12-05initializer_list: Do not declare anything if __GXX_EXPERIMENTAL_CXX0X__ is ↵Paolo Carlini2-1/+9
not defined. 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> * libsupc++/initializer_list: Do not declare anything if __GXX_EXPERIMENTAL_CXX0X__ is not defined. From-SVN: r182031
2011-12-05Fix cp/ChangeLogFabien Chêne1-0/+6
From-SVN: r182030
2011-12-05re PR c++/51319 (Eigen3 enums not accepted)Fabien Chêne4-0/+40
gcc/testsuite/ChangeLog 2011-12-05 Fabien Chene <fabien@gcc.gnu.org> PR c++/51319 * g++.dg/lookup/using50.C: New. * g++.dg/lookup/using51.C: New. gcc/cp/ChangeLog 2011-12-05 Fabien Chene <fabien@gcc.gnu.org> PR c++/51319 * semantics.c (finish_id_expression): Strip using declarations early in the function. From-SVN: r182029
2011-12-05re PR tree-optimization/51396 (ICE: verify_flow_info failed: BB 4 can not ↵Jakub Jelinek4-0/+37
throw but has an EH edge with -O2 -fnon-call-exceptions -mfma4) PR tree-optimization/51396 * tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize if MUL_RESULT has zero uses. * g++.dg/opt/pr51396.C: New test. From-SVN: r182028
2011-12-05re PR debug/51410 (duplicate variable DIE)Jakub Jelinek4-1/+21
PR debug/51410 * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls for debug info if scope is file_scope. * gcc.dg/debug/dwarf2/pr51410.c: New test. From-SVN: r182027
2011-12-05re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and ↵Jakub Jelinek4-2/+28
parallel for) PR c/51339 * c-decl.c (c_finish_incomplete_decl, finish_decl): Call relayout_decl instead of layout_decl. * gcc.dg/gomp/pr51339.c: New test. From-SVN: r182026
2011-12-05re PR c++/51399 ([c++0x] [4.7 Regression] ICE with invalid initializer list)Paolo Carlini4-0/+23
/cp 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51399 * init.c (perform_member_init): Early return if init is error_mark_node. /testsuite 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51399 * g++.dg/cpp0x/initlist62.C: New. From-SVN: r182025
2011-12-05re PR fortran/51338 (seg fault in gfc_dep_compare_expr with -O2)Thomas Koenig4-3/+34
2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/51338 * dependency.c (are_identical_variables): Handle case where end fields of substring references are NULL. 2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/51338 * gfortran.dg/assumed_charlen_substring_1.f90: New test. From-SVN: r182024
2011-12-05resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is ↵Richard Sandiford2-9/+14
in epilogue. gcc/ * resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue. From-SVN: r182023
2011-12-05optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target to ↵Richard Sandiford2-2/+8
emit_library_call_value. gcc/ * optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target to emit_library_call_value. (expand_atomic_compare_and_swap): Likewise. From-SVN: r182021
2011-12-05pr46338.C: Add dg-require-profiling.Richard Sandiford16-1/+34
gcc/testsuite/ * g++.dg/debug/pr46338.C: Add dg-require-profiling. * g++.dg/torture/pr39732.C: Likewise. * g++.dg/torture/pr40642.C: Likewise. * gcc.c-torture/compile/pr44686.c: Likewise. * gcc.dg/20050309-1.c: Likewise. * gcc.dg/20050330-2.c: Likewise. * gcc.dg/20051201-1.c: Likewise. * gcc.dg/gomp/pr27573.c: Likewise. * gcc.dg/pr46255.c: Likewise. * gcc.dg/profile-dir-1.c: Likewise. * gcc.dg/profile-dir-2.c: Likewise. * gcc.dg/profile-dir-3.c: Likewise. * gcc.dg/profile-generate-1.c: Likewise. * gfortran.dg/gomp/pr27573.f90: Likewise. * gcc.dg/profile-generate-3.c: Be specific about the type of profiling required. From-SVN: r182020
2011-12-05re PR c++/51414 (Broken diagnostic with invalid use of __underlying_type)Paolo Carlini4-1/+15
/cp 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51414 * semantics.c (finish_underlying_type): Use %qT, not %qE for the error message. /testsuite 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51414 * g++.dg/ext/underlying_type11.C: New. From-SVN: r182017
2011-12-05re PR testsuite/51128 (New LTO failures)Uros Bizjak15-10/+32
PR testsuite/51128 * gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed. * gcc.dg/torture/pr39074.c: Ditto. * gcc.dg/torture/pr39074-2.c: Ditto. * gcc.dg/torture/pr42898.c: Ditto. * gcc.dg/torture/pr42898-2.c: Ditto. * gcc.dg/torture/pr45704.c: Ditto. * gcc.dg/torture/pr50472.c: Ditto. * gcc.dg/torture/pta-callused-1.c: Ditto. * gcc.dg/torture/pta-ptrarith-1.c: Ditto. * gcc.dg/torture/pta-ptrarith-2.c: Ditto. * gcc.dg/torture/pta-ptrarith-3.c: Ditto. * gcc.dg/torture/pta-escape-1.c: Ditto. * gcc.dg/torture/ipa-pta-1.c: Ditto. * gcc.dg/torture/ssa-pta-fn-1.c: Ditto. From-SVN: r182016
2011-12-05re PR other/50775 (Register allocator sets up frame and frame pointer with ↵Vladimir Makarov4-563/+534
low register pressure) 2011-12-05 Vladimir Makarov <vmakarov@redhat.com> PR other/50775 * ira-int.h (struct ira_object): Remove add_data. (OBJECT_ADD_DATA): Remove. * ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA initialization. * ira-color.c (object_hard_regs_t, object_hard_regs): Rename to allocno_hard_regs_t, allocno_hard_regs. (object_hard_regs_node_t, object_hard_regs_node): Rename to allocno_hard_regs_node_t and allocno_hard_regs_node. (struct allocno_color_data): Add new member last_process. Move profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start from object_color_data. (object_color_data_t, object_color_data, OBJECT_COLOR_DATA): Remove. (curr_allocno_process): New static variable. (object_hard_regs_eq, object_hard_regs_htab): Rename to allocno_hard_regs_eq and allocno_hard_regs_htab. (init_object_hard_regs, finish_object_hard_regs): Rename to init_allocno_hard_regs and finish_allocno_hard_regs. (object_hard_regs_compare, object_hard_regs_node_t): Rename to allocno_hard_regs_compare and allocno_hard_regs_node_t. (create_new_object_hard_regs_node): Rename to create_new_allocno_hard_regs_node. (add_new_object_hard_regs_node_to_forest): Rename to add_new_allocno_hard_regs_node_to_forest. (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Rename to add_allocno_hard_regs_to_forest and collect_allocno_hard_regs_cover. (setup_object_hard_regs_nodes_parent): Rename to setup_allocno_hard_regs_nodes_parent. (remove_unused_object_hard_regs_nodes): Rename to remove_unused_allocno_hard_regs_nodes. (enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num): Rename to enumerate_allocno_hard_regs_nodes and allocno_hard_regs_nodes_num. (object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to allocno_hard_regs_nodes and allocno_hard_regs_subnode_t. (object_hard_regs_subnode, object_hard_regs_subnodes): Rename to allocno_hard_regs_subnode and allocno_hard_regs_subnodes. (object_hard_regs_subnode_index): Rename to allocno_hard_regs_subnode_index. (setup_object_hard_regs_subnode_index): Rename to setup_allocno_hard_regs_subnode_index. (get_object_hard_regs_subnodes_num): Rename to get_allocno_hard_regs_subnodes_num. (form_object_hard_regs_nodes_forest): Rename to form_allocno_hard_regs_nodes_forest. (finish_object_hard_regs_nodes_tree): Rename to form_allocno_hard_regs_nodes_forest (finish_object_hard_regs_nodes_forest): Rename to finish_allocno_hard_regs_nodes_forest. (setup_left_conflict_sizes_p): Use allocno data instead of object ones. Process conflict allocnos once. (update_left_conflict_sizes_p): Use allocno data instead of object ones. Change prototype signature. (empty_profitable_hard_regs): Use allocno data instead of object ones. (setup_profitable_hard_regs): Ditto. (get_conflict_profitable_regs): Rename to get_conflict_and_start_profitable_regs. Use allocno data for profitable regs calculation. (check_hard_reg_p): Change prototype signature. Check profitable regs for allocno not the objects. (assign_hard_reg): Process conflict allocnos only once for updating conflict costs. (setup_allocno_available_regs_num): Use allocno data instead of object ones. Modify debug output. (color_pass): Remove initialization and finalization of object color data. From-SVN: r182015
2011-12-05re PR target/51408 (Miscompilation in arm.md:*minmax_arithsi)Kazu Hirata4-1/+34
gcc/ PR target/51408 * config/arm/arm.md (*minmax_arithsi): Always require the else clause in the MINUS case. gcc/testsuite/ PR target/51408 * gcc.dg/pr51408.c: New. From-SVN: r182014
2011-12-05* init.c (expand_default_init): Unshare args in ctor delegation.Jason Merrill4-7/+68
From-SVN: r182013
2011-12-05Implement C++11 delegating constructors.Ville Voutilainen13-14/+287
* cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS. * error.c (maybe_warn_cpp0x): Adjust. * parser.c (cp_parser_mem_initializer_list): Use it. Diagnose multiple initializers if a delegating initializer is present. * call.c (build_special_member_call): Convert an assert into an if. * init.c (perform_target_ctor): New. (emit_mem_initializers): Use it. (expand_member_init, expand_default_init): Adjust. Co-Authored-By: Pedro Lamarão <pedro.lamarao@gmail.com> From-SVN: r182012
2011-12-05re PR c++/51404 ([c++0x] [4.7 Regression] ICE with invalid use of auto)Paolo Carlini5-6/+26
/cp 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51404 * typeck2.c (build_functional_cast): Early return error_mark_node for invalid uses of 'auto'. * parser.c (cp_parser_direct_declarator): When cp_parser_constant_expression returns error do not produce further diagnostic for the bound. /testsuite 2011-12-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51404 * g++.dg/cpp0x/auto28.C: New. From-SVN: r182011
2011-12-05re PR tree-optimization/50904 (pessimization when -fno-protect-parens is ↵Richard Guenther2-202/+107
enabled by -Ofast) 2011-12-05 Richard Guenther <rguenther@suse.de> PR tree-optimization/50904 * tree-ssa-loop-im.c (struct mem_ref): Remove vops member. (MEM_ANALYZABLE): New. (memory_references): Remove clobbered_vops and vop_ref_map members, add all_refs_stored_in_loop member. (memref_free): Adjust. (mem_ref_alloc): Likewise. (gather_mem_refs_stmt): Do not record clobbers, instead record refs for unanalyzable stmts. (gather_mem_refs_in_loops): Do not propagate clobbers. (struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores, add_vop_ref_mapping): Remove. (create_vop_ref_mapping_loop): Adjust to simply record all stores. (analyze_memory_references): Adjust. (refs_independent_p): Check for not analyzable refs. (can_sm_ref_p): Likewise. (ref_indep_loop_p_1): Simplify. (tree_ssa_lim_finalize): Adjust. * tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE rather than magic constants. Assign zero cost to PAREN_EXPR and SSA_NAME copies. Assign cost proportional to the vector size for vector constructors. From-SVN: r182010
2011-12-05tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.Richard Guenther4-0/+33
2011-12-05 Richard Guenther <rguenther@suse.de> * tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field. * tree-ssa-alias.c (ao_ref_init): Initialize it. (ao_ref_init_from_ptr_and_size): Likewise. (refs_may_alias_p_1): Two volatile accesses conflict. (ref_maybe_used_by_call_p_1): Likewise. (call_may_clobber_ref_p_1): Likewise. * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize volatile_p field. From-SVN: r182009