1. 01 Sep, 2013 9 commits
    • re PR ada/58239 (pretty-print.c:789: undefined reference to `operator delete(void*)') · d775b5ea
      	PR ada/58239
      gnattools/
      	* Makefile.in (CXX_LFLAGS): New.
      	(TOOLS_FLAGS_TO_PASS_NATIVE): Pass CXX and CXX_LFLAGS.
      	(TOOLS_FLAGS_TO_PASS_RE): Likewise.
      	(TOOLS_FLAGS_TO_PASS_CROSS): Pass CXX.
      gcc/ada/
      	* gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++.
      	(GCC_LINK): Use CXX instead of CC.
      	* gcc-interface/Make-lang.in (CXX_LFLAGS): New.
      	(ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native.
      
      Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
      
      From-SVN: r202150
      Eric Botcazou committed
    • pa.md: Allow "const 0" operand 1 in "scc" insns. · cec8583c
      	* config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
      
      From-SVN: r202149
      John David Anglin committed
    • * gnat.dg/specs/linker_alias.ads: Skip on Darwin. · bb092610
      From-SVN: r202148
      Eric Botcazou committed
    • Correct previous commit to the final version of patch. · ca1eedf6
      From-SVN: r202146
      Jan Hubicka committed
    • common.opt (fdevirtualize-speculatively): New function. · bbc9396b
      	* common.opt (fdevirtualize-speculatively): New function.
      	* invoke.texi (fdevirtualize-speculatively): Document.
      	* ipa-devirt.c: Include ipa-inline.h
      	(likely_target_p): New function.
      	(ipa_devirt): New function.
      	(gate_ipa_devirt): New function.
      	(pass_data_ipa_devirt): New static var.
      	(pass_ipa_devirt): Likewise.
      	(make_pass_ipa_devirt): New function.
      	* opts.c (default_options): Add OPT_fdevirtualize_speculatively.
      	(common_handle_option): Disable devirtualization when
      	value range profiling is available.
      	* passes.def (pass_ipa_devirt): Add.
      	* timever.def (TV_IPA_DEVIRT): New timevar.
      	* tree-pass.h (make_pass_ipa_devirt):
      
      From-SVN: r202145
      Jan Hubicka committed
    • darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include sanitize(undefined). · 0cea211e
      gcc:
      
              * config/darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to
              include sanitize(undefined).
      
      libsanitizer:
      
              * ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit
              libinterception.la for Darwin.
              * ubsan/Makefile.in: Regenerate.
      
      From-SVN: r202144
      Iain Sandoe committed
    • lto.c (tree_with_vars): Turn into vector. · 31f1f73b
      
      	* lto.c (tree_with_vars): Turn into vector.
      	(MAYBE_REMEMBER_WITH_VARS): Change to...
      	(CHECK_VAR): ... this one.
      	(CHECK_NO_VAR): New macro.
      	(maybe_remember_with_vars_typed): Turn to ...
      	(mentions_vars_p_typed): ... this one.
      	(maybe_remember_with_vars_common): Turn to ...
      	(mentions_vars_p_comon): ... this one.
      	(maybe_remember_with_vars_decl_minimal): Turn to ...
      	(mentions_vars_p_decl_minmal): ... this one.
      	(maybe_remember_with_vars_decl_common): Turn to ...
      	(mentions_vars_p_decl_common): ... this one.
      	(maybe_remember_with_vars_decl_with_vis): Turn to ...
      	(mentions_vars_p_decl_with_vis): ... this one.
      	(maybe_remember_with_vars_decl_non_common): Turn to ...
      	(mentions_vars_p_decl_non_common): ... this one.
      	(maybe_remember_with_vars_function): Turn to ...
      	(mentions_vars_p_function): ... this one.
      	(maybe_remember_with_vars_field_decl): Turn to ...
      	(mentions_vars_p_field_decl): ... this one.
      	(maybe_remember_with_vars_type): Turn to ...
      	(mentions_vars_p_type): ... this one.
      	(maybe_remember_with_vars_binfo): Turn to ...
      	(mentions_vars_p_binfo): ... this one.
      	(maybe_remember_with_vars_constructor): Turn to ...
      	(mentions_vars_p_constructor): ... this one.
      	(maybe_remember_with_vars_expr): Turn to ...
      	(mentions_vars_p_expr): ... this one.
      	(maybe_remember_with_vars): Turn to ...
      	(mentions_vars_p): ... this one.
      	(lto_read_decls): Update.
      	(LTO_SET_PREVAIL): Do not call function for internal decls.
      	(lto_fixup_prevailing_decls): Update to match mentions_vars_p;
      	check that something was updated.
      	(lto_fixup_state): Do not care about internal decls.
      	(lto_fixup_decls): Update.
      	(read_cgraph_and_symbols): Update.
      
      From-SVN: r202143
      Jan Hubicka committed
    • fork-instrumentation.c: New testcase. · 63bf9a90
      
      	* gcc.dg/fork-instrumentation.c: New testcase.
      	* builtins.c (expand_builtin): Do not exit early for gcov
      	instrumented functions.
      
      From-SVN: r202142
      Jan Hubicka committed
    • Daily bump. · f5c7238f
      From-SVN: r202139
      GCC Administrator committed
  2. 31 Aug, 2013 11 commits
    • ubsan.c: Include tm_p.h. · 5c0abd6a
      2013-08-31  Marek Polacek  <polacek@redhat.com>
      
      	* ubsan.c: Include tm_p.h.
      
      From-SVN: r202134
      Marek Polacek committed
    • gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused warning. · 8356c89c
      
      	* gimple-streamer-in.c (input_gimple_stmt): Silence parameter unused
      	warning.
      
      From-SVN: r202133
      Jan Hubicka committed
    • cgraph.c (cgraph_get_body): Update call of lto_input_function_body. · 5e581212
      
      	* cgraph.c (cgraph_get_body): Update call of lto_input_function_body.
      	* gimple-streamer-in.c (input_gimple_stmt): Move sanity check to ...
      	* tree-cfg.c (verify_gimple_label): ... here.
      	* ipa-utils.c: Include lto-streamer.h, ipa-inline.h
      	(ipa_merge_profiles): New function.
      	* lto-streamer-in.c (lto_read_body): Take node instead of fn_decl.
      	(lto_input_function_body): Likewise.
      	* ipa-utils.h (ipa_merge_profiles): Declare.
      	* lto-streamer.h (lto_input_function_body): Update prototype.
      	(emit_label_in_global_context_p): Remove.
      	* lto-symtab.c: Include ipa-utils.h
      	(lto_cgraph_replace_node): Use ipa_merge_profiles.
      
      From-SVN: r202131
      Jan Hubicka committed
    • cgraph.c (cgraph_get_body): Update call of lto_input_function_body. · 4843f032
      
      	* cgraph.c (cgraph_get_body): Update call of lto_input_function_body.
      	* gimple-streamer-in.c (input_gimple_stmt): Move sanity check to ...
      	* ipa-utils.c: Include lto-streamer.h, ipa-inline.h
      	(ipa_merge_profiles): New function.
      	* lto-streamer-in.c (lto_read_body): Take node instead of fn_decl.
      	(lto_input_function_body): Likewise.
      
      From-SVN: r202130
      Jan Hubicka committed
    • * cgraph.c (cgraph_speculative_call_info): Fix ref lookup · 57292ce9
      From-SVN: r202129
      Jan Hubicka committed
    • * basic-block.h (apply_scale): Make scale parmeter gcov_type. · b9cbfeeb
      From-SVN: r202128
      Jan Hubicka committed
    • alpha.c (alpha_emit_conditional_move): Update "cmp" RTX before… · 41dedebd
      alpha.c (alpha_emit_conditional_move): Update "cmp" RTX before signed_comparison_operator check to account for "code"...
      
      	* config/alpha/alpha.c (alpha_emit_conditional_move): Update
      	"cmp" RTX before signed_comparison_operator check to account
      	for "code" changes.
      
      From-SVN: r202127
      Uros Bizjak committed
    • ipa-prop.c (ipa_set_jf_known_type): Check that we add only records. · 06d65050
      
      	* ipa-prop.c (ipa_set_jf_known_type): Check that we add
      	only records.
      	(detect_type_change_1): Rename to ...
      	(detect_type_change): ... this one; early return on non-polymorphic
      	types.
      	(detect_type_change_ssa): Add comp_type parameter; update	
      	use of detect_type_change.
      	(compute_complex_assign_jump_func): Add param_type parameter;
      	update use of detect_type_change_ssa.
      	(compute_complex_ancestor_jump_func): Likewise.
      	(ipa_get_callee_param_type): New function.
      	(ipa_compute_jump_functions_for_edge): Compute parameter type;
      	update calls to the jump function computation functions.
      
      From-SVN: r202126
      Jan Hubicka committed
    • This patch sanitizes the partitioning to address issues such as edge weight… · 600b5b1d
      This patch sanitizes the partitioning to address issues such as edge weight insanities that sometimes occur due to upstream optimizations...
      
      This patch sanitizes the partitioning to address issues such as edge
      weight insanities that sometimes occur due to upstream optimizations,
      and ensures that hot blocks are not dominated by cold blocks. This
      needs to be resanitized after certain cfg optimizations that may
      cause hot blocks previously reached via both hot and cold paths to
      only be reached by cold paths.
      
      The verification code in sanitize_dominator_hotness was contributed by
      Steven Bosscher.
      
      2013-08-29  Teresa Johnson  <tejohnson@google.com>
                  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* cfgrtl.c (fixup_new_cold_bb): New routine.
      	(commit_edge_insertions): Invoke fixup_partitions.
      	(find_partition_fixes): New routine.
      	(fixup_partitions): Ditto.
      	(verify_hot_cold_block_grouping): Update comments.
      	(rtl_verify_edges): Invoke find_partition_fixes.
      	(rtl_verify_bb_pointers): Update comments.
      	(rtl_verify_bb_layout): Ditto.
      	* basic-block.h (probably_never_executed_edge_p): Declare.
              (fixup_partitions): Ditto.
      	* cfgcleanup.c (try_optimize_cfg): Invoke fixup_partitions.
      	* bb-reorder.c (sanitize_hot_paths): New function.
              (find_rarely_executed_basic_blocks_and_crossing_edges): Invoke
              sanitize_hot_paths.
      	* predict.c (probably_never_executed_edge_p): New routine.
      	* cfg.c (check_bb_profile): Add partition insanity warnings.
      
      Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
      
      From-SVN: r202125
      Teresa Johnson committed
    • Daily bump. · 7b55c620
      From-SVN: r202124
      GCC Administrator committed
  3. 30 Aug, 2013 20 commits
    • re PR libstdc++/58148 (Fails to insert iterator range into sequence container… · 32bb816a
      re PR libstdc++/58148 (Fails to insert iterator range into sequence container with -D_GLIBCXX_DEBUG when conversion is needed)
      
      2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/58148
      	* include/debug/functions.h (__foreign_iterator_aux4): Use
      	sequence const_pointer as common type to compare pointers. Add a
      	fallback overload in case pointers cannot be cast to sequence
      	const_pointer.
      	* testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
      
      From-SVN: r202121
      François Dumont committed
    • re PR libstdc++/58191 (Can't use boost transform_iterator with _GLIBCXX_DEBUG) · 8915a229
      2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/58191
      	* include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
      	__gnu_debug::__base calls on iterators passed to internal debug
      	check.
      	(__glibcxx_check_partitioned_lower_pred): Likewise.
      	(__glibcxx_check_partitioned_upper): Likewise.
      	(__glibcxx_check_partitioned_upper_pred): Likewise.
      	(__glibcxx_check_sorted): Likewise.
      	(__glibcxx_check_sorted_pred): Likewise.
      	(__glibcxx_check_sorted_set): Likewise.
      	(__glibcxx_check_sorted_set_pred): Likewise.
      	* include/debug/functions.h (__check_partitioned_lower):
      	Remove code to detect safe iterators.
      	(__check_partitioned_upper): Likewise.
      	(__check_sorted): Likewise.
      
      From-SVN: r202119
      François Dumont committed
    • MAINTAINERS (Write After Approval): Add myself. · 3ecee8f7
      2013-08-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
             * MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r202118
      Bernd Edlinger committed
    • mangle33.C (dg-final): Use match count in scan RE. · 98590ca2
      	* g++.dg/abi/mangle33.C (dg-final): Use match count in scan RE.
      
      From-SVN: r202117
      Uros Bizjak committed
    • libitm: Fix wrong initialization order introduced with r202101. · 6fb471d8
      	* config/posix/rwlock.cc: Fix initialization order.
      
      From-SVN: r202116
      Torvald Riegel committed
    • tree-vrp.c (check_array_ref): Bail out on zero-length arrays. · 0a6ea5c9
      gcc/
      
      2013-08-30  Meador Inge  <meadori@codesourcery.com>
      
      	* tree-vrp.c (check_array_ref): Bail out on zero-length arrays.
      
      gcc/testsuite/
      
      2013-08-30  Meador Inge  <meadori@codesourcery.com>
      
      	* gcc.dg/Warray-bounds-11.c: New testcase.
      
      From-SVN: r202115
      Meador Inge committed
    • Merge ubsan into trunk. · de5a5fa1
      From-SVN: r202113
      Marek Polacek committed
    • install.texi (Prerequisites): Note regression in Tcl 8.6 with RE patterns. · f07f30cf
      	* doc/install.texi (Prerequisites): Note regression in Tcl 8.6
      	with RE patterns.
      
      From-SVN: r202112
      Mike Stump committed
    • cgraph.c (cgraph_function_body_availability): Handle weakref correctly. · 8a41354f
      
      
      	* cgraph.c (cgraph_function_body_availability): Handle weakref
      	correctly.
      	* passes.def: Remove pass_fixup_cfg.
      	* ipa-inline.c (ipa_inline): When not optimizing, do not inline;
      	track when we need to remove functions.
      	(gate_ipa_inline): Execute inlining always; add comment why.
      	(pass_data_ipa_inline): Remove TODO_remove_functions.
      	* ipa-inline-analysis.c (inline_generate_summary): When not optimizing
      	do not produce summaries.
      	* symtab.c (change_decl_assembler_name): Handle renaming of weakrefs.
      	(symtab_nonoverwritable_alias): Assert we are not called on weakref.
      	* varpool.c (cgraph_variable_initializer_availability): Fix weakrefs,
      	constant pool and vtable.
      
      From-SVN: r202111
      Jan Hubicka committed
    • re PR c++/51424 ([C++11] G++ should diagnose self-delegating constructors) · a624d5fe
      /cp
      2013-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51424
      	* cp-tree.h (LOOKUP_DELEGATING_CONS): Add.
      	* init.c (perform_target_ctor): Use it.
      	* call.c (build_special_member_call): Diagnose self-delegating
      	constructors.
      
      /testsuite
      2013-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51424
      	* g++.dg/cpp0x/dc8.C: New.
      	* g++.dg/template/meminit1.C: Adjust.
      
      From-SVN: r202110
      Paolo Carlini committed
    • c-pretty-print.h (c_pretty_printer::declaration): Now a virtual member function. · 8f0e4d72
      c-family/
      	* c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
      	member function.
      	(c_pretty_printer::declaration_specifiers): Likewise.
      	(c_pretty_printer::declarator): Likewise.
      	(c_pretty_printer::abstract_declarator): Likewise.
      	(c_pretty_printer::direct_abstract_declarator): Likewise.
      	(c_pretty_printer::direct_declarator): Likewise.
      	(c_pretty_printer::function_specifier): Likewise.
      	(pp_declaration): Adjust.
      	(pp_declaration_specifiers): Likewise.
      	(pp_abstract_declarator): Likewise.
      	(pp_direct_declarator): Likewise.
      	(pp_function_specifier): Likewise.
      	(pp_direct_abstract_declarator): Remove as unused.
      	(pp_c_declaration): Remove.
      	(pp_c_declaration_specifiers): Likewise.
      	(pp_c_declarator): Likewise.
      	(pp_c_direct_declarator): Likewise.
      	(pp_c_function_specifier): Likewise.
      	(pp_c_direct_abstract_declarator): Likewise.
      	* c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
      	from pp_c_abstract_declarator.  Adjust.
      	(c_pretty_printer::direct_abstract_declarator):  Rename from
      	pp_c_direct_abstract_declarator.  Adjust.
      	(c_pretty_printer::function_specifier): Rename from
      	pp_c_function_specifier.  Adjust.
      	(c_pretty_printer::declaration_specifiers): Rename from
      	pp_c_declaration_specifiers.  Adjust.
      	(c_pretty_printer::direct_declarator): Rename from
      	pp_c_direct_declarator.  Adjust.
      	(c_pretty_printer::declarator): Rename from pp_c_declarator.  Adjust.
      	(c_pretty_printer::declaration): Rename from pp_c_declaration.  Adjust.
      	(c_pretty_printer::c_pretty_printer): Do not assign to
      	declaration, declaration_specifiers, declarator,
      	direct_declarator, direct_abstract_declarator, function_specifier.
      
      cp/
      	* cxx-pretty-print.h (cxx_pretty_printer::declaration): Declare as
      	overrider.
      	(cxx_pretty_printer::declaration_specifiers): Likewise.
      	(cxx_pretty_printer::function_specifier): Likewise.
      	(cxx_pretty_printer::declarator): Likewise.
      	(cxx_pretty_printer::direct_declarator): Likewise.
      	(cxx_pretty_printer::abstract_declarator): Likewise.
      	(cxx_pretty_printer::direct_abstract_declarator): Likewise.
      	(pp_cxx_declaration): Remove.
      	* cxx-pretty-print.c (cxx_pretty_printer::function_specifier):
      	Rename from pp_cxx_function_specifier.  Adjust.
      	(cxx_pretty_printer::declaration_specifiers): Rename from
      	pp_cxx_decl_specifier_seq.  Adjust.
      	(cxx_pretty_printer::direct_declarator): Rename from
      	pp_cxx_direct_declarator.  Adjust.
      	(cxx_pretty_printer::declarator): Rename from pp_cxx_declarator.
      	Adjust.
      	(cxx_pretty_printer::abstract_declarator): Rename from
      	pp_cxx_abstract_declarator.  Adjust.
      	(cxx_pretty_printer::direct_abstract_declarator): Rename from
      	pp_cxx_direct_abstract_declarator.  Adjust.
      	(cxx_pretty_printer::declaration): Rename from
      	pp_cxx_declaration.  Adjust.
      	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
      	declaration, declaration_specifiers, function_specifier,
      	declarator, direct_declarator, abstract_declarator,
      	direct_abstract_declarator.
      	* error.c (dump_decl): Adjust.
      
      From-SVN: r202109
      Gabriel Dos Reis committed
    • arm_neon.h (__AARCH64_UINT64_C, [...]): New arm_neon.h's internal macros to… · dc8d7a0f
      arm_neon.h (__AARCH64_UINT64_C, [...]): New arm_neon.h's internal macros to specify 64-bit constants.
      
      2013-08-30  Tejas Belagod  <tejas.belagod@arm.com>
      
      gcc/
      	* config/aarch64/arm_neon.h (__AARCH64_UINT64_C, __AARCH64_INT64_C): New
      	arm_neon.h's internal macros to specify 64-bit constants. Avoid using
      	stdint.h's macros.
      
      From-SVN: r202108
      Tejas Belagod committed
    • recog.c (verify_changes): Verify that changes[i].old is non-zero before applying REG_P. · ac7eacd2
              * recog.c (verify_changes): Verify that changes[i].old is non-zero
              before applying REG_P.
      
      From-SVN: r202107
      Joern Rennecke committed
    • Move testsuite changes to correct ChangeLog, and delete a new · 8f2ea9a3
      test that should not have been committed.
      
      2013-08-30  Teresa Johnson  <tejohnson@google.com>
      
      	* gcc.dg/inline-dump.c: Delete inadvertant commit.
      
      From-SVN: r202106
      Teresa Johnson committed
    • re PR tree-optimization/58277 (wrong code at -O3) · 8b29fd4e
      	PR tree-optimization/58277
      	* tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
      	after seeing too many stmts with vdef in between dombb and current
      	bb, invalidate everything.
      
      	* gcc.c-torture/execute/pr58277-1.c: New test.
      	* gcc.c-torture/execute/pr58277-2.c: New test.
      
      From-SVN: r202104
      Jakub Jelinek committed
    • fold-const.c (fold_single_bit_test): Fix overflow test. · 26d75703
      2013-08-30  Richard Biener  <rguenther@suse.de>
      
      	* fold-const.c (fold_single_bit_test): Fix overflow test.
      
      From-SVN: r202103
      Richard Biener committed
    • function.c (assign_parm_setup_reg): For a parameter passed by pointer and which… · f7e088e7
      function.c (assign_parm_setup_reg): For a parameter passed by pointer and which can live in a register...
      
      	* function.c (assign_parm_setup_reg): For a parameter passed by pointer
      	and which can live in a register, always retrieve the value on entry.
      	* var-tracking.c (add_stores): Treat the copy on entry for a parameter
      	passed by invisible reference specially.
      	(emit_notes_in_bb) <MO_VAL_USE>: Emit notes before the instruction.
      	(vt_add_function_parameter): Correctly deal with a parameter passed by
      	invisible reference.
      
      From-SVN: r202102
      Eric Botcazou committed
    • Add custom HTM fast path for RTM on x86_64. · bec9ec3f
      	* libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
      	(htm_fastpath): Assign an asm name.
      	* libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
      	HTM fast paths.
      	(_ITM_actions): Likewise.
      	* config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
      	x86_64.
      	* config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
      	* config/posix/rwlock.h (gtm_rwlock): Update comments.  Move summary
      	field to the start of the structure.
      	* config/linux/rwlock.h (gtm_rwlock): Update comments.
      	* beginend.cc (gtm_thread::begin_transaction): Add retry policy
      	handling for custom HTM fast paths.
      
      From-SVN: r202101
      Torvald Riegel committed
    • Correct previous patch to not mark terminate as LEAF. · 8595a07d
      	* class.c (build_vtbl_initializer): Drop LEAF
      	* decl.c (cxx_init_decl_processing): Likewise.
      	(push_throw_library_fn): Likewise.
      	* except.c (init_exception_processing): Likewise.
      	(do_begin_catch): Likewise.
      	(do_end_catch): Likewise.
      	(do_allocate_exception): Likewise.
      
      From-SVN: r202100
      Jan Hubicka committed
    • class.c (build_vtbl_initializer): Make __cxa_deleted_virtual ECF_NORETURN | ECF_LEAF · fafa0521
      	* class.c (build_vtbl_initializer): Make __cxa_deleted_virtual
      	ECF_NORETURN | ECF_LEAF
      	* cp-tree.h (build_library_fn_ptr, build_cp_library_fn_ptr,
      	push_library_fn, push_void_library_fn): Update prototype.
      	* decl.c (build_library_fn_1): Remove.
      	(push_cp_library_fn, build_cp_library_fn): Update to take ECF flags.
      	(cxx_init_decl_processing): Update; global_delete_fndecl is ECF_NOTROW;
      	__cxa_pure_virtual is ECF_NORETURN | ECF_NORETURN | ECF_LEAF.
      	(build_library_fn_1): Add ecf_flags argument; rename to ...
      	(build_library_fn): ... this one.
      	(build_cp_library_fn): Take ecf_flags; do not copy NOTHROW flag.
      	(build_library_fn_ptr): Take ecf_flags.
      	(build_cp_library_fn_ptr): Likewise.
      	(push_library_fn): Likewise.
      	(push_cp_library_fn): Likewise.
      	(push_void_library_fn): Likewise.
      	(push_throw_library_fn): All throws are ECF_NORETURN.
      	(__cxa_atexit, __cxa_thread_atexit): Add ECF_LEAF | ECF_NOTHROW attributes.
      	(expand_static_init): __cxa_guard_acquire, __cxa_guard_release,
      	__cxa_guard_abort are ECF_NOTHROW | ECF_LEAF.
      	* except.c (init_exception_processing): terminate is
      	ECF_NOTHROW | ECF_NORETURN | ECF_LEAF.
      	(declare_nothrow_library_fn): Add ecf_flags parameter.
      	(__cxa_get_exception_ptr): Is ECF_NOTHROW | ECF_PURE | ECF_LEAF |
      	ECF_TM_PURE.
      	(do_begin_catch): cxa_begin_catch and _ITM_cxa_begin_catch
      	are ECF_NOTHROW | ECF_LEAF.
      	(do_end_catch): __cxa_end_catch and _ITM_cxa_end_catch is
      	ECF_LEAF.
      	(do_allocate_exception): _cxa_allocate_exception
      	and _ITM_cxa_allocate_exception are ECF_NOTHROW | ECF_MALLOC
      	| ECF_LEAF
      	(do_free_exception): __cxa_free_exception is
      	ECF_NOTHROW | ECF_LEAF.
      	* rtti.c (build_dynamic_cast_1): __dynamic_cast
      	is ECF_LEAF | ECF_PURE | ECF_NOTHROW.
      
      From-SVN: r202099
      Jan Hubicka committed