platform/upstream/gcc.git
10 years agocompiler: Fix inconsistent check for structs using memcmp for ==.
Ian Lance Taylor [Thu, 19 Sep 2013 17:32:56 +0000 (17:32 +0000)]
compiler: Fix inconsistent check for structs using memcmp for ==.

Test is bug479.

From-SVN: r202751

10 years agore PR tree-optimization/58472 (gomp4: ICE in in vectorizable_store, at tree-vect...
Jakub Jelinek [Thu, 19 Sep 2013 16:56:40 +0000 (18:56 +0200)]
re PR tree-optimization/58472 (gomp4: ICE in in vectorizable_store, at tree-vect-stmts.c:4192)

PR tree-optimization/58472
* tree-vect-stmts.c (vectorizable_store, vectorizable_load): For
simd_lane_access set inv_p = false.
* omp-low.c (lower_rec_input_clauses): Set TREE_NO_WARNING on
the simduid magic VAR_DECL.

* c-c++-common/gomp/pr58472.c: New test.

From-SVN: r202748

10 years ago* i386.c (generic_memcpy, generic_memset): Fix 32bit template.
Jan Hubicka [Thu, 19 Sep 2013 15:42:55 +0000 (17:42 +0200)]
* i386.c (generic_memcpy, generic_memset): Fix 32bit template.

From-SVN: r202747

10 years agotree-ssa-dom.c (record_temporary_equivalences): New function split out of dom_opt_dom...
Jeff Law [Thu, 19 Sep 2013 12:49:30 +0000 (06:49 -0600)]
tree-ssa-dom.c (record_temporary_equivalences): New function split out of dom_opt_dom_walker::after_dom_children.

       * tree-ssa-dom.c (record_temporary_equivalences): New function
        split out of dom_opt_dom_walker::after_dom_children.
        (dom_opt_dom_walker::thread_across_edge): Move common code
        in here from dom_opt_dom_walker::after_dom_children.
        (dom_opt_dom_walker::after_dom_children): Corresponding simplifictions.

From-SVN: r202742

10 years agoi386.h (TARGET_GENERIC32, [...]): Remove.
Jan Hubicka [Thu, 19 Sep 2013 12:43:57 +0000 (14:43 +0200)]
i386.h (TARGET_GENERIC32, [...]): Remove.

* i386.h (TARGET_GENERIC32, TARGET_GENERIC64): Remove.
(TARGET_GENERIC): Use PROCESOR_GENERIC
(enum processor_type): Unify generic32 and 64.
* i386.md (cpu): Likewise.
* x86-tune.def (use_leave): Enable for generic32.
(avoid_vector_decode, slow_imul_imm32_mem, slow_imul_imm8): Likewise.
* athlon.md: Change generic64 to generic in all occurences.
* i386-c.c (ix86_target_macros_internal): Unify generic64 and 32.
(ix86_target_macros_internal): Likewise.
* driver-i386.c (host_detect_local_cpu): Likewise.
* i386.c (generic64_memcpy, generic64_memset, generic64_cost): Rename to ..
(generic_memcpy, generic_memset, generic_cost): This one.
(generic32_memcpy, generic32_memset, generic32_cost): Remove.
(m_GENERIC32, m_GENERIC64): Remove.
(m_GENERIC): Turn into one flag.
(processor_target): Unify generic tunnings.
(ix86_option_override_internal): Replace generic32/64 by generic.
(ix86_issue_rate): Likewise.
(ix86_adjust_cost): Likewise.

From-SVN: r202741

10 years agocgraph.c (cgraph_create_edge_1): Avoid uninitialized read of speculative flag.
Jan Hubicka [Thu, 19 Sep 2013 12:20:47 +0000 (14:20 +0200)]
cgraph.c (cgraph_create_edge_1): Avoid uninitialized read of speculative flag.

* cgraph.c (cgraph_create_edge_1): Avoid uninitialized read
of speculative flag.

From-SVN: r202740

10 years agoomp-low.c (expand_omp_sections): Always pass len - 1 to GOMP_sections_start, even...
Jakub Jelinek [Thu, 19 Sep 2013 11:52:52 +0000 (13:52 +0200)]
omp-low.c (expand_omp_sections): Always pass len - 1 to GOMP_sections_start, even if !exit_reachable.

* omp-low.c (expand_omp_sections): Always pass len - 1 to
GOMP_sections_start, even if !exit_reachable.
libgomp/
* testsuite/libgomp.c/sections-2.c: New test.

From-SVN: r202738

10 years agore PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
Marc Glisse [Thu, 19 Sep 2013 11:40:29 +0000 (13:40 +0200)]
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)

2013-09-19  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
Mark as noexcept.
(_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
operator++, operator--, operator==, operator!=]: Likewise.
(_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
operator*, operator->, operator++, operator--, operator==, operator!=]:
Likewise.
(operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
Likewise.
(_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
_M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
_S_maximum]: Likewise.
* include/debug/string (basic_string) [basic_string(const _Allocator&),
shrink_to_fit, operator[], pop_back]: Likewise.
* include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
_M_ibegin, _M_iend, __versa_string(const _Alloc&),
operator=(__versa_string&&), shrink_to_fit, operator[], front,
back, assign(__versa_string&&), swap]: Likewise.
(__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
Merge.

From-SVN: r202737

10 years agoAdd myself to MAINTAINERS file as diagnostics maintainer
Dodji Seketeli [Thu, 19 Sep 2013 07:12:13 +0000 (07:12 +0000)]
Add myself to MAINTAINERS file as diagnostics maintainer

* MAINTAINERS (diagnostic messages): Add myself as diagnostics
maintainer.

From-SVN: r202732

10 years agoDaily bump.
GCC Administrator [Thu, 19 Sep 2013 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r202731

10 years agocompiler: Fix name of unexported method of embedded imported type.
Ian Lance Taylor [Wed, 18 Sep 2013 23:28:00 +0000 (23:28 +0000)]
compiler: Fix name of unexported method of embedded imported type.

Test case is fixedbugs/bug478.go in master testsuite.

From-SVN: r202726

10 years agore PR fortran/57697 ([OOP] Segfault with defined assignment for components during...
Tobias Burnus [Wed, 18 Sep 2013 22:19:03 +0000 (00:19 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)

2013-09-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_11.f90: New.

From-SVN: r202725

10 years agocompiler: Correctly handle identical unnamed structs with methods.
Ian Lance Taylor [Wed, 18 Sep 2013 21:53:44 +0000 (21:53 +0000)]
compiler: Correctly handle identical unnamed structs with methods.

From-SVN: r202723

10 years agoexpr.c (gfc_check_assign_symbol): Free lvalue.ref.
Tobias Burnus [Wed, 18 Sep 2013 20:52:01 +0000 (22:52 +0200)]
expr.c (gfc_check_assign_symbol): Free lvalue.ref.

2013-09-18  Tobias Burnus  <burnus@net-b.de>

        * expr.c (gfc_check_assign_symbol): Free lvalue.ref.

From-SVN: r202722

10 years agolra-constraints.c (need_for_all_save_p): Use macro HARD_REGNO_CALL_PART_CLOBBERED.
Vladimir Makarov [Wed, 18 Sep 2013 19:12:16 +0000 (19:12 +0000)]
lra-constraints.c (need_for_all_save_p): Use macro HARD_REGNO_CALL_PART_CLOBBERED.

2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (need_for_all_save_p): Use macro
HARD_REGNO_CALL_PART_CLOBBERED.
* lra-lives.c (check_pseudos_live_through_calls): Use the macro to
set up pseudo conflict hard regs.

From-SVN: r202721

10 years agore PR target/58452 (GCC 4.8 and trunk do not compile simple powerpc-linuxpaired ...
Michael Meissner [Wed, 18 Sep 2013 18:54:06 +0000 (18:54 +0000)]
re PR target/58452 (GCC 4.8 and trunk do not compile simple powerpc-linuxpaired -O3 case)

2013-09-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/58452
* config/rs6000/paired.md (movmisalignv2sf): Fix to allow memory
operands.

From-SVN: r202719

10 years agocompiler: Fix type of result of shortcut calculation.
Ian Lance Taylor [Wed, 18 Sep 2013 18:36:21 +0000 (18:36 +0000)]
compiler: Fix type of result of shortcut calculation.

From-SVN: r202717

10 years agore PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
Marc Glisse [Wed, 18 Sep 2013 18:31:01 +0000 (20:31 +0200)]
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)

2013-09-18  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
_M_const_cast, operator*, operator->, operator++, operator--,
operator[], operator+=, operator+, operator-=, operator-, base]:
Mark as noexcept.
(operator==(const __normal_iterator&, const __normal_iterator&),
operator!=(const __normal_iterator&, const __normal_iterator&),
operator<(const __normal_iterator&, const __normal_iterator&),
operator>(const __normal_iterator&, const __normal_iterator&),
operator<=(const __normal_iterator&, const __normal_iterator&),
operator>=(const __normal_iterator&, const __normal_iterator&),
operator-(const __normal_iterator&, const __normal_iterator&),
operator+(difference_type, const __normal_iterator&)): Likewise.
* include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
Likewise.
(list::_M_check_equal_allocators): Abort instead of throwing.
* include/debug/array (array) [operator[], front, back]: Mark as
noexcept.
* include/profile/array (array) [operator[], front, back]: Likewise.
* include/std/array (array) [operator[], front, back]: Likewise.
* include/debug/list (list::splice): Likewise.
* include/profile/list (list::splice): Likewise.
* testsuite/23_containers/list/operations/5.cc: Remove file.
* testsuite/23_containers/list/operations/5.h: Likewise.

From-SVN: r202716

10 years agoAdd missed testsuite/g++.dg/pr58438.C
Vladimir Makarov [Wed, 18 Sep 2013 18:27:49 +0000 (18:27 +0000)]
Add missed testsuite/g++.dg/pr58438.C

From-SVN: r202715

10 years agore PR rtl-optimization/58438 (ICE: in check_rtl, at lra.c:2036)
Vladimir Makarov [Wed, 18 Sep 2013 18:24:49 +0000 (18:24 +0000)]
re PR rtl-optimization/58438 (ICE: in check_rtl, at lra.c:2036)

2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58438
* lra.c (lra): Clear lra_optional_reload_pseudos in upper loop.
* lra-constraints.c (undo_optional_reloads): Keep optional reloads
from previous subpasses.

2013-09-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58438
* g++.dg/pr58438.C: New test.

From-SVN: r202714

10 years agore PR fortran/43366 ([OOP][F08] Intrinsic assign to polymorphic variable)
Tobias Burnus [Wed, 18 Sep 2013 18:14:57 +0000 (20:14 +0200)]
re PR fortran/43366 ([OOP][F08] Intrinsic assign to polymorphic variable)

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43366
        * primary.c (gfc_variable_attr): Also handle codimension.
        * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic
        * for
        polymorphic assignment.

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43366
        * gfortran.dg/class_39.f03: Update dg-error.
        * gfortran.dg/class_5.f03: Ditto.
        * gfortran.dg/class_53.f90: Ditto.
        * gfortran.dg/realloc_on_assign_20.f90: New.
        * gfortran.dg/realloc_on_assign_21.f90: New.
        * gfortran.dg/realloc_on_assign_22.f90: New.

From-SVN: r202713

10 years agore PR c++/58457 (ICE when placement new operator is used with using keyword and custo...
Paolo Carlini [Wed, 18 Sep 2013 18:11:46 +0000 (18:11 +0000)]
re PR c++/58457 (ICE when placement new operator is used with using keyword and custom constructor)

/cp
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58457
* class.c (instantiate_type): Loosen a bit the gcc_assert.

/testsuite
2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58457
* g++.dg/parse/using4.C: New.

From-SVN: r202711

10 years agoregex.h: Add friend classes.
Tim Shen [Wed, 18 Sep 2013 15:56:20 +0000 (15:56 +0000)]
regex.h: Add friend classes.

2013-09-18  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h: Add friend classes.
(match_results<>::position, regex_iterator<>::operator++):
Implement position specification in regex_iterator.
(regex_match<>, regex_search<>):
Move match_results initializations to these function. Remove `todo`.
* include/bits/regex_compiler.tcc:
(_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
* include/bits/regex_constants.h:
Fix indentation. Change match_flag_type to enum type.
* include/bits/regex_executor.h:
Merge identical code to the base class _Executor.
Support flags in regex_constants.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Add comments.
* include/bits/regex_scanner.tcc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
Add a testcase.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc: Remove `xfail`.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
Remove `xfail` and make the case really work.

From-SVN: r202706

10 years agosearch_n.cc: Fix typo.
Paolo Carlini [Wed, 18 Sep 2013 14:49:28 +0000 (14:49 +0000)]
search_n.cc: Fix typo.

2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/performance/25_algorithms/search_n.cc: Fix typo.

From-SVN: r202704

10 years agopr58419.c (b): Change type to signed char.
Kyrylo Tkachov [Wed, 18 Sep 2013 14:01:52 +0000 (14:01 +0000)]
pr58419.c (b): Change type to signed char.

[gcc/testsuite]
2013-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.c-torture/execute/pr58419.c (b): Change type to signed char.

From-SVN: r202703

10 years agoarm.c (arm_get_frame_offsets): Validate architecture supports LDRD/STRD before accept...
Richard Earnshaw [Wed, 18 Sep 2013 13:57:27 +0000 (13:57 +0000)]
arm.c (arm_get_frame_offsets): Validate architecture supports LDRD/STRD before accepting the tuning preference.

* arm.c (arm_get_frame_offsets): Validate architecture supports
LDRD/STRD before accepting the tuning preference.
(arm_expand_prologue): Likewise.
(arm_expand_epilogue): Likewise.

From-SVN: r202702

10 years agore PR sanitizer/58443 (ubsan doesn't properly honor fsanitize= flags)
Marek Polacek [Wed, 18 Sep 2013 13:31:34 +0000 (13:31 +0000)]
re PR sanitizer/58443 (ubsan doesn't properly honor fsanitize= flags)

2013-09-18  Marek Polacek  <polacek@redhat.com>

PR sanitize/58443
cp/
* typeck.c (cp_build_binary_op): Properly honor -fsanitize options.
Remove unnecessary check.

c/
* c-typeck.c (build_binary_op): Properly honor -fsanitize options.
Remove unnecessary check.

testsuite/
* g++.dg/ubsan/div-by-zero-1.C: Use the integer-divide-by-zero option
instead of the shift option.
* c-c++-common/ubsan/pr58443-1.c: New test.
* c-c++-common/ubsan/pr58443-3.c: New test.
* c-c++-common/ubsan/pr58443-2.c: New test.

From-SVN: r202701

10 years agore PR tree-optimization/58417 (Incorrect optimization in SCEV const-prop)
Richard Biener [Wed, 18 Sep 2013 12:31:45 +0000 (12:31 +0000)]
re PR tree-optimization/58417 (Incorrect optimization in SCEV const-prop)

2013-09-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58417
* tree-chrec.c (chrec_fold_plus_1): Assert that we do not
have chrecs with symbols defined in the loop as operands.
(chrec_fold_multiply): Likewise.
* tree-scalar-evolution.c (interpret_rhs_expr): Instantiate
parameters before folding binary operations.
(struct instantiate_cache_entry_hasher): Remove.
(struct instantiate_cache_type): Use a pointer-map.
(instantiate_cache_type::instantiate_cache_type): New function.
(instantiate_cache_type::get): Likewise.
(instantiate_cache_type::set): Likewise.
(instantiate_cache_type::~instantiate_cache_type): Adjust.
(get_instantiated_value_entry): Likewise.
(global_cache): New global.
(instantiate_scev_r, instantiate_scev_poly, instantiate_scev_binary,
instantiate_array_ref, instantiate_scev_convert, instantiate_scev_3,
instantiate_scev_2, instantiate_scev_1): Do not pass along cache.
(instantiate_scev_name): Adjust.
(instantiate_scev): Construct global instead of local cache.
(resolve_mixers): Likewise.

* gcc.dg/torture/pr58417.c: New testcase.

From-SVN: r202700

10 years agore PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
Marc Glisse [Wed, 18 Sep 2013 11:21:51 +0000 (13:21 +0200)]
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)

2013-09-18  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
noexcept.
* include/bits/stl_list.h (_List_iterator) [_List_iterator,
_M_const_cast, operator*, operator->, operator++, operator--,
operator==, operator!=]: Likewise.
(_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
operator->, operator++, operator--, operator==, operator!=]: Likewise.
(operator==(const _List_iterator&, const _List_const_iterator&),
operator!=(const _List_iterator&, const _List_const_iterator&)):
Likewise.
(_List_impl) [_List_impl(const _Node_alloc_type&),
_List_impl(_Node_alloc_type&&)]: Likewise.
(_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
_List_base(_List_base&&), _M_clear, _M_init]: Likewise.
(list) [list(), list(const allocator_type&)]: Merge.
(list) [list(const allocator_type&), front, back, pop_front, pop_back,
erase, _M_erase]: Mark as noexcept.
* include/debug/list (list) [list(const _Allocator&), front, back,
pop_front, pop_back, _M_erase, erase]: Likewise.
* include/profile/list (list) [list(const _Allocator&), front, back,
pop_front, pop_back, erase]: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line number.
* 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.

From-SVN: r202699

10 years agore PR c++/58458 (ISO 14882 typo in docs)
Daniel Morris [Wed, 18 Sep 2013 11:06:15 +0000 (11:06 +0000)]
re PR c++/58458 (ISO 14882 typo in docs)

2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58458
* doc/implement-cxx.texi: Fix references to the C++ standards.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r202696

10 years agore PR ada/58264 (incorrect bounds of string when assigned from dereference of functio...
Eric Botcazou [Wed, 18 Sep 2013 10:51:43 +0000 (10:51 +0000)]
re PR ada/58264 (incorrect bounds of string when assigned from dereference of function result)

PR ada/58264
* gcc-interface/trans.c (Attribute_to_gnu): Define GNAT_PREFIX local
variable and use it throughout.
<Attr_Length>: Note whether the prefix is the dereference of a pointer
to unconstrained array and, in this case, capture the result for both
Attr_First and Attr_Last.

From-SVN: r202694

10 years agoomp-fesdr.C: Check for fopenmp effective target.
Kyrylo Tkachov [Wed, 18 Sep 2013 10:50:49 +0000 (10:50 +0000)]
omp-fesdr.C: Check for fopenmp effective target.

[gcc/testsuite/]
2013-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* g++.dg/debug/dwarf2/omp-fesdr.C: Check for fopenmp effective target.
* gcc.dg/debug/dwarf2/omp-fesdr.c: Likewise.

From-SVN: r202693

10 years ago* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.
Eric Botcazou [Wed, 18 Sep 2013 10:35:53 +0000 (10:35 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: New.

From-SVN: r202690

10 years ago* gcc-interface/trans.c (gigi): Remove dead code.
Eric Botcazou [Wed, 18 Sep 2013 10:31:03 +0000 (10:31 +0000)]
* gcc-interface/trans.c (gigi): Remove dead code.

From-SVN: r202688

10 years agotrans.c (Subprogram_Body_to_gnu): Pop the stack of return variables for subprograms...
Eric Botcazou [Wed, 18 Sep 2013 10:21:37 +0000 (10:21 +0000)]
trans.c (Subprogram_Body_to_gnu): Pop the stack of return variables for subprograms using the CICO mechanism.

* gcc-interface/trans.c (Subprogram_Body_to_gnu): Pop the stack of
return variables for subprograms using the CICO mechanism.

From-SVN: r202684

10 years agoomp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.
Jakub Jelinek [Wed, 18 Sep 2013 10:14:31 +0000 (12:14 +0200)]
omp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.

* omp-low.c (copy_var_decl): Copy DECL_ATTRIBUTES.
* tree-vect-data-refs.c (vect_analyze_data_refs): For
simd_lane_access drs, update also DR_ALIGNED_TO.

From-SVN: r202683

10 years agore PR sanitizer/58411 (no_sanitize_undefined function attribute)
Marek Polacek [Wed, 18 Sep 2013 10:01:40 +0000 (10:01 +0000)]
re PR sanitizer/58411 (no_sanitize_undefined function attribute)

2013-09-18  Marek Polacek  <polacek@redhat.com>

PR sanitizer/58411
* doc/extend.texi: Document no_sanitize_undefined attribute.
* builtins.c (fold_builtin_0): Don't sanitize function if it has the
no_sanitize_undefined attribute.

From-SVN: r202682

10 years agomsp430.h (ASM_SPEC): Pass -md on to the assembler.
Nick Clifton [Wed, 18 Sep 2013 08:05:50 +0000 (08:05 +0000)]
msp430.h (ASM_SPEC): Pass -md on to the assembler.

* config/msp430/msp430.h (ASM_SPEC): Pass -md on to the assembler.
(ASM_DECLARE_FUNCTION_NAME): Define.

From-SVN: r202681

10 years agocompare-elim.c (find_comparison_dom_walker): New class
Trevor Saunders [Wed, 18 Sep 2013 02:39:50 +0000 (02:39 +0000)]
compare-elim.c (find_comparison_dom_walker): New class

* compare-elim.c (find_comparison_dom_walker): New class
(find_comparisons_in_bb): Rename to
find_comparison_dom_walker::before_dom_children
(find_comparisons): Adjust
* domwalk.c (walk_dominator_tree): Rename to dom_walker::walk, and
adjust.
(init_walk_dominator_tree, fini_walk_dominator_tree): Remove
* domwalk.h (dom_walk_data): Convert it To a class dom_walker.
(init_walk_dominator_tree): Remove declaration.
(fini_walk_dominator_tree): Remove declaration.
* fwprop.c (single_def_use_dom_walker): New class
(single_def_use_enter_block): Convert to
single_def_use_dom_walker::before_dom_children.
(single_def_use_leave_block): Convert to
single_def_use_dom_walker::after_dom_children.
(build_single_def_use_links): Adjust.
* gimple-ssa-strength-reduction.c (find_candidates_dom_walker): New
class.
(find_candidates_in_block): Convert to
find_candidates_dom_walker::before_dom_children.
(execute_strength_reduction): Adjust.
* graphite-sese-to-poly.c (struct bsc, build_sese_conditions): Remove.
(sese_dom_walker): New class.
(sese_dom_walker::sese_dom_walker): New constructor.
(sese_dom_walker::~sese_dom_walker): New destructor.
(build_sese_conditions_before): Convert to
sese_dom_walker::before_dom_children.
(build_sese_conditions_after): Convert to
sese_dom_walker::after_dom_children.
(build_poly_scop): Adjust
* tree-into-ssa.c (rewrite_dom_walker): New class
(rewrite_enter_block): Convert to
rewrite_dom_walker::before_dom_children.
(rewrite_leave_block): Convert to
rewrite_dom_walker::after_dom_children.
(rewrite_update_dom_walker): New class.
(rewrite_update_enter_block): Convert to
rewrite_update_dom_walker::before_dom_children.
(rewrite_update_leave_block): Convert to
rewrite_update_dom_walker::after_dom_children.
(rewrite_blocks, rewrite_into_ssa): Adjust.
(mark_def_dom_walker): New class.
(mark_def_dom_walker::mark_def_dom_walker): New constructor.
(mark_def_dom_walker::~mark_def_dom_walker): New destructor.
(mark_def_sites_blocks): Convert to
mark_def_dom_walker::before_dom_children.
(mark_def_site_blocks): Remove.
* tree-ssa-dom.c (dom_opt_dom_walker): New class.
(tree_ssa_dominator_optimize): Adjust.
(dom_thread_across_edge): Convert to method
dom_opt_dom_walker::thread_across_edge.
(dom_opt_enter_block): Convert to member function
dom_opt_dom_walker::before_dom_children.
(dom_opt_leave_block): Convert to member function
dom_opt_dom_walker::after_dom_children.
* tree-ssa-dse.c (dse_dom_walker): New class.
(dse_enter_block): Convert to member function
dse_dom_walker::before_dom_children.
(tree_ssa_dse): Adjust.
* tree-ssa-loop-im.c (invariantness_dom_walker): New class.
(determine_invariantness_stmt): Convert to method
invariantness_dom_walker::before_dom_children.
(determine_invariantness): Remove
(move_computations_dom_walker): New class.
(move_computations_stmt): Convert to method
move_computations_dom_walker::before_dom_children.
(move_computations, tree_ssa_lim): Adjust.
* tree-ssa-phiopt.c (nontrapping_dom_walker): new class
(nt_init_block): Make method
notrappping_dom_walker::before_dom_children.
(nt_fini_block): Make
method nontrapping_dom_walker::after_dom_children.
(get_non_trapping): Adjust.
* tree-ssa-pre.c (eliminate_dom_walker): New class.
(eliminate_bb): Make method eliminate_dom_walker::before_dom_children.
(eliminate_leave_block): Make method.
eliminate_dom_walker::after_dom_children.
(eliminate): Adjust
* tree-ssa-strlen.c (strlen_dom_walker): New class.
(strlen_enter_block): Make method
strlen_dom_walker::before_dom_children.
(strlen_leave_block): Make
method strlen_dom_walker::after_dom_children.
(tree_ssa_strlen): Adjust.
* tree-ssa-uncprop.c (uncprop_dom_walker): New class.
(tree_ssa_uncprop): Adjust.
(uncprop_leave_block): Make method
uncprop_dom_walker::after_dom_children.
(uncprop_leave_block): Make method
uncprop_dom_walker::before_dom_children.

From-SVN: r202679

10 years agoarm.c (thumb1_reorg): Search for flag setting insn before branch in same basic block.
Bin Cheng [Wed, 18 Sep 2013 02:01:07 +0000 (02:01 +0000)]
arm.c (thumb1_reorg): Search for flag setting insn before branch in same basic block.

* config/arm/arm.c (thumb1_reorg): Search for flag setting insn
before branch in same basic block.  Check both src and dest of
the move insn.

From-SVN: r202678

10 years agorl78-real.md (bf): New pattern.
Nick Clifton [Wed, 18 Sep 2013 00:58:18 +0000 (00:58 +0000)]
rl78-real.md (bf): New pattern.

* config/rl78/rl78-real.md (bf): New pattern.
(bt): New pattern.
* config/rl78/rl78.c (rl78_print_operand_1): Handle %B.
(rl78_print_operand): Do not put a # before a %B.
* config/rl78/rl78.opt: Tweak doc strings.

From-SVN: r202676

10 years agoDaily bump.
GCC Administrator [Wed, 18 Sep 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202675

10 years agoreflect: Fix bug calling method on indirect value.
Ian Lance Taylor [Tue, 17 Sep 2013 22:11:43 +0000 (22:11 +0000)]
reflect: Fix bug calling method on indirect value.

The gccgo-specific iword function was checking v.kind, but for
a method value that is always Func.  Fix to check v.typ.Kind()
instead.

From-SVN: r202670

10 years agoconstraints.md (Wcv): Allow up to $r31.
DJ Delorie [Tue, 17 Sep 2013 22:06:53 +0000 (18:06 -0400)]
constraints.md (Wcv): Allow up to $r31.

* config/rl78/constraints.md (Wcv): Allow up to $r31.
* config/rl78/rl78.c (rl78_asm_file_start: Likewise.
(rl78_option_override): Likewise, if -mallregs.
(is_virtual_register): Likewise.
* config/rl78/rl78.h (reg_class): Extend VREGS to $r31.
(REGNO_OK_FOR_BASE_P): Likewise.
* config/rl78/rl78.opt (-mallregs): New.

From-SVN: r202669

10 years agorl78.c (need_to_save): Change return type to bool.
Nick Clifton [Tue, 17 Sep 2013 21:10:38 +0000 (21:10 +0000)]
rl78.c (need_to_save): Change return type to bool.

* config/rl78/rl78.c (need_to_save): Change return type to bool.
For interrupt functions: save all call clobbered registers if the
interrupt handler is not a leaf function.
(rl78_expand_prologue): Always recompute the frame information.
For interrupt functions: only select bank 0 if one of the bank 0
registers is going to be psuhed.

From-SVN: r202667

10 years agoconstraints.md: For each W* constraint...
DJ Delorie [Tue, 17 Sep 2013 21:00:59 +0000 (17:00 -0400)]
constraints.md: For each W* constraint...

* config/rl78/constraints.md: For each W* constraint, rename to C*
and create a W* constraint that checks for an optional ES: prefix
pattern also.
* config/rl78/rl78.md (UNS_ES_ADDR): New.
(es_addr): New.  Used to wrap far addresses.
* config/rl78/rl78-protos.h (rl78_es_addr): New.
(rl78_es_base): New.
* config/rl78/rl78.c (rl78_as_legitimate_address): Accept "unspec"
wrapped far addresses.
(rl78_print_operand_1): Unwrap far addresses before processing.
(rl78_lo16): Wrap far addresses in unspecs.
(rl78_es_addr): New.
(rl78_es_base): New.
(insn_ok_now): Check for not-yet-wrapped far addresses.
(transcode_memory_rtx): Properly re-wrap far addresses.

From-SVN: r202666

10 years agot-rtems: Add leon3 multilibs.
Sebastian Huber [Tue, 17 Sep 2013 18:23:00 +0000 (18:23 +0000)]
t-rtems: Add leon3 multilibs.

2013-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* config/sparc/t-rtems: Add leon3 multilibs.

From-SVN: r202664

10 years agotree-vect-patterns.c (vect_recog_dot_prod_pattern): Fix a bug when checking the dot...
Cong Hou [Tue, 17 Sep 2013 18:20:08 +0000 (14:20 -0400)]
tree-vect-patterns.c (vect_recog_dot_prod_pattern): Fix a bug when checking the dot production pattern.

2013-09-17  Cong Hou  <congh@google.com>

    * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Fix a bug
      when checking the dot production pattern. The type of rhs operand
      of multiply is now checked correctly.

    * gcc.dg/vect/vect-reduc-dot-s16c.c: Add a test case with dot product
      on two arrays with short and int types. This should not be recognized
      as a dot product pattern.

From-SVN: r202663

10 years agore PR c++/58435 (Applying a type transformation to a list: const ignored)
Paolo Carlini [Tue, 17 Sep 2013 17:46:03 +0000 (17:46 +0000)]
re PR c++/58435 (Applying a type transformation to a list: const ignored)

/cp
2013-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58435
* pt.c (tsubst, [BOUND_TEMPLATE_TEMPLATE_PARM]): Take into account
the cp_type_quals (r) too.

/testsuite
2013-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58435
* g++.dg/cpp0x/alias-decl-38.C: New.

From-SVN: r202662

10 years agore PR ipa/58332 (error: inlined_to pointer is set but no predecessors found)
Jan Hubicka [Tue, 17 Sep 2013 17:45:00 +0000 (19:45 +0200)]
re PR ipa/58332 (error: inlined_to pointer is set but no predecessors found)

PR middle-end/58332
* gcc.c-torture/compile/pr58332.c: New testcase.
* cif-code.def (FUNCTION_NOT_OPTIMIZED): New CIF code.
* ipa-inline.c (can_inline_edge_p): Do not downgrade
FUNCTION_NOT_OPTIMIZED.
* ipa-inline-analysis.c (compute_inline_parameters): Function
not optimized is not inlinable unless it is alwaysinline.
(inline_analyze_function): Force calls in not optimized
function not inlinable.

From-SVN: r202661

10 years agopr58387.c: New test.
Jeff Law [Tue, 17 Sep 2013 17:27:41 +0000 (11:27 -0600)]
pr58387.c: New test.

* gcc.c-torture/execute/pr58387.c: New test.

* tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
edge implied equivalences into successor phis.
* tree-ssa-threadupdate.c (phi_args_equal_on_edges): Moved into
here from tree-ssa-threadedge.c.
(mark_threaded_blocks): When threading through a joiner, if both
successors of the joiner's clone reach the same block, verify the
PHI arguments are equal.  If not, cancel the jump threading request.
* tree-ssa-threadedge.c (phi_args_equal_on_edges): Moved into
tree-ssa-threadupdate.c
(thread_across_edge): Don't check PHI argument equality when
threading through joiner block here.

From-SVN: r202660

10 years agotree-flow.h (ssa_undefined_value_p): Remove prototype.
Andrew MacLeod [Tue, 17 Sep 2013 17:22:05 +0000 (17:22 +0000)]
tree-flow.h (ssa_undefined_value_p): Remove prototype.

2013-09-17  Andrew MacLeod <amacleod@redhat.com>

* tree-flow.h (ssa_undefined_value_p): Remove prototype.
* tree-ssa.c (ssa_undefined_value_p): Move pass independent parts here.
(warn_uninit, warn_uninitialized_vars, execute_early_warn_uninitialized,
make_pass_early_warn_uninitialized): Move to tree-ssa-uninit.c.
* tree-ssa-uninit.c (ssa_undefined_value_p): Move to tree-ssa.c
(has_undefined_value_p): New.  Pass dependant parts of
ssa_undefined_value_p.
(uninit_undefined_value_p): Use has_undefined_value_p.
(warn_uninit, warn_uninitialized_vars, execute_early_warn_uninitialized,
make_pass_early_warn_uninitialized): Move from tree-ssa.c
* tree-ssa.h: Adjust prototypes

From-SVN: r202659

10 years agore PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11conv...
Jan Hubicka [Tue, 17 Sep 2013 16:07:21 +0000 (16:07 +0000)]
re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)

PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
to return NULL.
* ipa.c (function_and_variable_visibility): Likewise.
* ipa-profile.c (ipa_profile): Likewise.

From-SVN: r202658

10 years agore PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11conv...
Jan Hubicka [Tue, 17 Sep 2013 15:46:06 +0000 (17:46 +0200)]
re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)

PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
to return NULL.
* ipa.c (function_and_variable_visibility): Likewise.
* ipa-profile.c (ipa_profile): Likewise.

From-SVN: r202657

10 years agore PR ipa/58398 (gcc.dg/attr-ifunc-4.c runfail regression after r202111)
Bernd Edlinger [Tue, 17 Sep 2013 14:51:06 +0000 (14:51 +0000)]
re PR ipa/58398 (gcc.dg/attr-ifunc-4.c runfail regression after r202111)

2013-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/58398
        * cgraph.c (cgraph_function_body_availability): Check for ifunc
        attribute, and don't inline the resolver in this case.

From-SVN: r202655

10 years agocoverage.c (get_coverage_counts): Add missing newline.
Teresa Johnson [Tue, 17 Sep 2013 14:26:44 +0000 (14:26 +0000)]
coverage.c (get_coverage_counts): Add missing newline.

2013-09-17  Teresa Johnson  <tejohnson@google.com>

* coverage.c (get_coverage_counts): Add missing newline.

From-SVN: r202654

10 years agore PR tree-optimization/58088 (ICE in gcc.c)
Kyrylo Tkachov [Tue, 17 Sep 2013 13:29:41 +0000 (13:29 +0000)]
re PR tree-optimization/58088 (ICE in gcc.c)

[gcc/]
2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR tree-optimization/58088
* fold-const.c (mask_with_trailing_zeros): New function.
(fold_binary_loc): Make sure we don't recurse infinitely
when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
Use mask_with_trailing_zeros where appropriate.

[gcc/testsuite]
2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR tree-optimization/58088
* gcc.c-torture/compile/pr58088.c: New test.

From-SVN: r202652

10 years agotarget-supports.exp (check_effective_target_trampolines): Add MSP430 to the list...
Nick Clifton [Tue, 17 Sep 2013 12:54:11 +0000 (12:54 +0000)]
target-supports.exp (check_effective_target_trampolines): Add MSP430 to the list of targets that do not support trampolines.

* lib/target-supports.exp (check_effective_target_trampolines):
Add MSP430 to the list of targets that do not support
trampolines.
(check_profiling_available): Add MSP430 to the list of targets
that do not support profiling.
(check_effective_target_tls_runtime): Add MSP430 to the list of
targets that do not support TLS.

From-SVN: r202651

10 years agore PR libstdc++/58338 (Add noexcept to functions with a narrow contract)
Marc Glisse [Tue, 17 Sep 2013 12:23:54 +0000 (14:23 +0200)]
re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)

2013-09-17  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/58338
* include/bits/stl_vector.h (vector::vector(),
vector::vector(const allocator_type&)): Merge.
(_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
_Vector_impl::_Vector_impl(_Tp_alloc_type&&),
_Vector_impl::_M_swap_data,
_Vector_base::_Vector_base(const allocator_type&),
_Vector_base::_Vector_base(allocator_type&&),
_Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
vector::vector(const allocator_type&), vector::operator[],
vector::operator[] const, vector::front, vector::front const,
vector::back, vector::back const, vector::pop_back,
vector::_M_erase_at_end): Mark as noexcept.
* include/debug/vector (vector::vector(const _Allocator&),
vector::operator[], vector::operator[] const, vector::front,
vector::front const, vector::back, vector::back const, vector::pop_back,
_M_requires_reallocation, _M_update_guaranteed_capacity,
_M_invalidate_after_nth): Mark as noexcept.
* include/profile/vector (vector::vector(const _Allocator&),
vector::operator[], vector::operator[] const, vector::front,
vector::front const, vector::back, vector::back const): Mark as
noexcept.
(vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust line number.
* 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: r202650

10 years agoi386.c (distance_agu_use_in_bb): Proper initialization of 'prev' var to get better...
Yuri Rumyantsev [Tue, 17 Sep 2013 12:01:28 +0000 (12:01 +0000)]
i386.c (distance_agu_use_in_bb): Proper initialization of 'prev' var to get better distance estimation.

* config/i386/i386.c (distance_agu_use_in_bb) : Proper initialization
  of 'prev' var to get better distance estimation.

From-SVN: r202649

10 years agogthr-win32.c: CreateSemaphoreW instead of CreateSemaphoreA.
Jacek Caban [Tue, 17 Sep 2013 11:46:47 +0000 (11:46 +0000)]
gthr-win32.c: CreateSemaphoreW instead of CreateSemaphoreA.

2013-09-17  Jacek Caban  <jacek@codeweavers.com>

* config/i386/gthr-win32.c: CreateSemaphoreW instead of
CreateSemaphoreA.
* config/i386/gthr-win32.h: Likewise.

From-SVN: r202648

10 years agotree-inline.h (struct copy_body_data): Add transform_parameter.
Eric Botcazou [Tue, 17 Sep 2013 11:05:31 +0000 (11:05 +0000)]
tree-inline.h (struct copy_body_data): Add transform_parameter.

* tree-inline.h (struct copy_body_data): Add transform_parameter.
* tree-inline.c (is_parameter_of): New predicate.
(remap_gimple_op_r): Do not propagate TREE_THIS_NOTRAP on MEM_REF if
a parameter has been remapped.
(copy_tree_body_r): Likewise on INDIRECT_REF and MEM_REF.
(optimize_inline_calls): Initialize transform_parameter.
(copy_gimple_seq_and_replace_locals): Likewise.
(tree_function_versioning): Likewise.
(maybe_inline_call_in_expr): Likewise.

From-SVN: r202647

10 years ago* gcc.dg/tree-ssa/ldist-22.c (main): Return zero.
Andreas Schwab [Tue, 17 Sep 2013 09:07:08 +0000 (09:07 +0000)]
* gcc.dg/tree-ssa/ldist-22.c (main): Return zero.

From-SVN: r202646

10 years agomsp430-protos.h: Add prototypes for new functions.
Nick Clifton [Tue, 17 Sep 2013 08:15:03 +0000 (08:15 +0000)]
msp430-protos.h: Add prototypes for new functions.

* config/msp430/msp430-protos.h: Add prototypes for new functions.
* config/msp430/msp430.c (msp430_preserve_reg_p): Add support for
interrupt handlers.
(is_attr_func): New function.
(msp430_is_interrupt_func): New function.
(is_naked_func): New function.
(is_reentrant_func): New function.
(is_critical_func): New function.
(msp430_start_function): Add annotations for function attributes.
(msp430_attr): New function.
(msp430_attribute_table): New.
(msp430_function_section): New function.
(TARGET_ASM_FUNCTION_SECTION): Define.
(msp430_builtin): New enum.
(msp430_init_builtins): New function.
(msp430_builtin_devl): New function.
(msp430_expand_builtin): New function.
(TARGET_INIT_BUILTINS): Define.
(TARGET_EXPAND_BUILTINS): Define.
(TARGET_BUILTIN_DECL): Define.
(msp430_expand_prologue): Add support for naked, interrupt,
critical and reentrant functions.
(msp430_expand_epilogue): Likewise.
(msp430_print_operand): Handle 'O' character.
* config/msp430/msp430.h (TARGET_CPU_CPP_BUILTINS): Define
NO_TRAMPOLINES.
* config/msp430/msp430.md (unspec): Add UNS_DINT, UNS_EINT,
UNS_PUSH_INTR, UNS_POP_INTR, UNS_BIC_SR, UNS_BIS_SR.
(pushm): Use a 'n' rather than an 'i' constraint.
(msp_return): Add generation of the interrupt return instruction.
(disable_interrupts): New pattern.
(enable_interrupts): New pattern.
(push_intr_state): New pattern.
(pop_intr_state): New pattern.
(bic_SR): New pattern.
(bis_SR): New pattern.
* doc/extend.texi: Document MSP430 function attributes and builtin
functions.

From-SVN: r202645

10 years agore PR tree-optimization/58432 (ICE: in insert_value_copy_on_edge, at tree-outof-ssa...
Richard Biener [Tue, 17 Sep 2013 07:47:49 +0000 (07:47 +0000)]
re PR tree-optimization/58432 (ICE: in insert_value_copy_on_edge, at tree-outof-ssa.c:233)

2013-09-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58432
* tree-loop-distribution.c (tree_loop_distribution): Also
scan PHIs for outside loop uses and seed a partition from them.

* gcc.dg/pr58432.c: New testcase.

From-SVN: r202644

10 years agogimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.
Bin Cheng [Tue, 17 Sep 2013 04:59:08 +0000 (04:59 +0000)]
gimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.

* gimple-ssa-strength-reduction.c (backtrace_base_for_ref): New.
(restructure_reference): Call backtrace_base_for_ref.

* gcc.dg/tree-ssa/slsr-39.c: New test.

From-SVN: r202643

10 years agore PR target/57589 (Linux powerpc -mcpu=native returns pointer to variable on stack...
Alan Modra [Tue, 17 Sep 2013 02:04:49 +0000 (11:34 +0930)]
re PR target/57589 (Linux powerpc -mcpu=native returns pointer to variable on stack in driver-rs6000.c)

PR target/57589
* config/rs6000/driver-rs6000.c (elf_platform): Revert 2013-06-11 patch.

From-SVN: r202642

10 years agoDaily bump.
GCC Administrator [Tue, 17 Sep 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202641

10 years ago* config/rl78/vregs.h: Add G10 register definitions.
DJ Delorie [Mon, 16 Sep 2013 21:58:05 +0000 (17:58 -0400)]
* config/rl78/vregs.h: Add G10 register definitions.

From-SVN: r202638

10 years agorl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10.
DJ Delorie [Mon, 16 Sep 2013 21:15:46 +0000 (17:15 -0400)]
rl78.c (rl78_asm_file_start): Specify alternate vregs location for RL78/G10.

* config/rl78/rl78.c (rl78_asm_file_start): Specify alternate
vregs location for RL78/G10.
(rl78_expand_prologue): Avoid SEL on G10.
(rl78_expand_epilogue): Likewise.
(rl78_peep_movhi_p): Can't move a constant to memory in HImode.
* config/rl78/rl78.h (TARGET_CPU_CPP_BUILTINS): Define
__RL78_G10__ when appropriate.
(ASM_SPEC): Pass -mg10 along to the assembler.
* config/rl78/rl78.md (sel_rb): Disable for G10.
* config/rl78/rl78.opt: Add -mg10 option.
* config/rl78/t-rl78: Add -mg10 multilib.

* config/rl78/lib2mul.c: Enable for RL78/G10.
* config/rl78/lib2div.c: Likewise.
* config/rl78/lshrsi3.S: Use vregs.h.
* config/rl78/cmpsi2.S: Likewise.
* config/rl78/trampoline.S: Likewise.
* config/rl78/mulsi2.S: Likewise.  Disable for RL78/G10.

From-SVN: r202637

10 years agoIntroduce -ftree-loop-vectorize option
Xinliang David Li [Mon, 16 Sep 2013 19:55:40 +0000 (19:55 +0000)]
Introduce -ftree-loop-vectorize option

From-SVN: r202636

10 years agopr58419.c: New test.
Jeff Law [Mon, 16 Sep 2013 19:31:25 +0000 (13:31 -0600)]
pr58419.c: New test.

       * gcc.c-torture/execute/pr58419.c: New test.
        * gcc.c-torture/execute/pr58431.c: New test.

From-SVN: r202635

10 years agotm.texi.in (Cond Exec Macros): Remove node.
Andreas Schwab [Mon, 16 Sep 2013 18:20:32 +0000 (18:20 +0000)]
tm.texi.in (Cond Exec Macros): Remove node.

* doc/tm.texi.in (Cond Exec Macros): Remove node.
(Condition Code): Don't reference it.
* doc/tm.texi: Regenerate.

From-SVN: r202634

10 years agore PR fortran/58356 (ICE with finalization and type extension)
Tobias Burnus [Mon, 16 Sep 2013 18:01:59 +0000 (20:01 +0200)]
re PR fortran/58356 (ICE with finalization and type extension)

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58356
        * class.c (generate_finalization_wrapper): Init proc_tree if
        not yet resolved.

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58356
        * gfortran.dg/finalize_19.f90: New.

From-SVN: r202633

10 years agoalpha.c: Include tree-ssanames.h.
Jan-Benedict Glaw [Mon, 16 Sep 2013 16:01:45 +0000 (16:01 +0000)]
alpha.c: Include tree-ssanames.h.

* config/alpha.c: Include tree-ssanames.h.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r202631

10 years agore PR middle-end/58418 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 32-bit...
Vladimir Makarov [Mon, 16 Sep 2013 15:12:22 +0000 (15:12 +0000)]
re PR middle-end/58418 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in 32-bit mode))

2013-09-16  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/58418
* lra-constraints.c (undo_optional_reloads): Consider all optional
reload even if it did not get a hard reg.

2013-09-16  Vladimir Makarov  <vmakarov@redhat.com>

* gcc.target/i386/pr58418.c: New.

From-SVN: r202630

10 years agodumpfile.c (dump_loc): Remove newline emission.
Teresa Johnson [Mon, 16 Sep 2013 13:40:02 +0000 (13:40 +0000)]
dumpfile.c (dump_loc): Remove newline emission.

2013-09-16  Teresa Johnson  <tejohnson@google.com>

* dumpfile.c (dump_loc): Remove newline emission.
* tree-vect-data-refs.c (vect_lanes_optab_supported_p): Add newline
emission to dump_printf_loc calls where missing.
(vect_mark_for_runtime_alias_test): Ditto.
(vect_analyze_data_ref_dependence): Ditto.
(vect_analyze_data_ref_dependences): Ditto.
(vect_slp_analyze_data_ref_dependence): Ditto.
(vect_slp_analyze_data_ref_dependences): Ditto.
(vect_compute_data_ref_alignment): Ditto.
(vect_update_misalignment_for_peel): Ditto.
(vect_verify_datarefs_alignment): Ditto.
(vector_alignment_reachable_p): Ditto.
(vect_get_data_access_cost): Ditto.
(vect_enhance_data_refs_alignment): Ditto.
(vect_find_same_alignment_drs): Ditto.
(vect_analyze_data_refs_alignment): Ditto.
(vect_analyze_group_access): Ditto.
(vect_analyze_data_ref_access): Ditto.
(vect_analyze_data_ref_accesses): Ditto.
(vect_prune_runtime_alias_test_list): Ditto.
(vect_analyze_data_refs): Ditto.
(vect_create_addr_base_for_vector_ref): Ditto.
(vect_create_data_ref_ptr): Ditto.
(vect_grouped_store_supported): Ditto.
(vect_grouped_load_supported): Ditto.
* value-prof.c (check_counter): Ditto.
(check_ic_target): Ditto.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Ditto.
(vect_recog_widen_mult_pattern): Ditto.
(vect_recog_widen_sum_pattern): Ditto.
(vect_recog_over_widening_pattern): Ditto.
(vect_recog_widen_shift_pattern): Ditto.
(vect_recog_rotate_pattern): Ditto.
(vect_recog_vector_vector_shift_pattern): Ditto.
(vect_recog_divmod_pattern): Ditto.
(vect_recog_mixed_size_cond_pattern): Ditto.
(vect_recog_bool_pattern): Ditto.
(vect_pattern_recog_1): Ditto.
(vect_pattern_recog): Ditto.
* tree-vect-loop.c (vect_determine_vectorization_factor): Ditto.
(vect_is_simple_iv_evolution): Ditto.
(vect_analyze_scalar_cycles_1): Ditto.
(vect_get_loop_niters): Ditto.
(vect_analyze_loop_1): Ditto.
(vect_analyze_loop_form): Ditto.
(vect_analyze_loop_operations): Ditto.
(vect_analyze_loop_2): Ditto.
(vect_analyze_loop): Ditto.
(report_vect_op): Ditto.
(vect_is_slp_reduction): Ditto.
(vect_is_simple_reduction_1): Ditto.
(vect_get_known_peeling_cost): Ditto.
(vect_estimate_min_profitable_iters): Ditto.
(vect_model_reduction_cost): Ditto.
(vect_model_induction_cost): Ditto.
(get_initial_def_for_induction): Ditto.
(vect_create_epilog_for_reduction): Ditto.
(vectorizable_reduction): Ditto.
(vectorizable_induction): Ditto.
(vectorizable_live_operation): Ditto.
(vect_loop_kill_debug_uses): Ditto.
(vect_transform_loop): Ditto.
* tree-vect-stmts.c (vect_mark_relevant): Ditto.
(vect_stmt_relevant_p): Ditto.
(process_use): Ditto.
(vect_mark_stmts_to_be_vectorized): Ditto.
(vect_model_simple_cost): Ditto.
(vect_model_promotion_demotion_cost): Ditto.
(vect_model_store_cost): Ditto.
(vect_get_store_cost): Ditto.
(vect_model_load_cost): Ditto.
(vect_get_load_cost): Ditto.
(vect_init_vector_1): Ditto.
(vect_get_vec_def_for_operand): Ditto.
(vect_finish_stmt_generation): Ditto.
(vectorizable_call): Ditto.
(vectorizable_conversion): Ditto.
(vectorizable_assignment): Ditto.
(vectorizable_shift): Ditto.
(vectorizable_operation): Ditto.
(vectorizable_store): Ditto.
(vectorizable_load): Ditto.
(vectorizable_condition): Ditto.
(vect_analyze_stmt): Ditto.
(vect_transform_stmt): Ditto.
(vect_is_simple_use): Ditto.
* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Ditto.
(vect_can_advance_ivs_p): Ditto.
(vect_update_ivs_after_vectorizer): Ditto.
(vect_do_peeling_for_loop_bound): Ditto.
(vect_gen_niters_for_prolog_loop): Ditto.
(vect_update_inits_of_drs): Ditto.
(vect_create_cond_for_alias_checks): Ditto.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Ditto.
(vect_build_slp_tree_1): Ditto.
(vect_supported_load_permutation_p): Ditto.
(vect_analyze_slp_instance): Ditto.
(vect_analyze_slp): Ditto.
(vect_make_slp_decision): Ditto.
(vect_detect_hybrid_slp): Ditto.
(vect_bb_vectorization_profitable_p): Ditto.
(vect_slp_analyze_bb_1): Ditto.
(vect_update_slp_costs_according_to_vf): Ditto.
(vect_get_mask_element): Ditto.
(vect_transform_slp_perm_load): Ditto.
(vect_schedule_slp_instance): Ditto.
(vect_schedule_slp): Ditto.
(vect_slp_transform_bb): Ditto.
* profile.c (read_profile_edge_counts): Ditto.
(compute_branch_probabilities): Ditto.
* coverage.c (get_coverage_counts): Ditto.

From-SVN: r202628

10 years agotree-core.h: Add missing comment lines from refactoring of tree.h.
Diego Novillo [Mon, 16 Sep 2013 13:37:25 +0000 (09:37 -0400)]
tree-core.h: Add missing comment lines from refactoring of tree.h.

* tree-core.h: Add missing comment lines from refactoring
of tree.h.

From-SVN: r202627

10 years agogimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept abstract functions...
Jan Hubicka [Mon, 16 Sep 2013 11:47:48 +0000 (13:47 +0200)]
gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept abstract functions; for static functions check the presence of body.

* gimple-fold.c (can_refer_decl_in_current_unit_p): Do not accept
abstract functions; for static functions check the presence
of body.

From-SVN: r202626

10 years ago[AArch64] Improve arm_neon.h vml<as>_lane handling.
James Greenhalgh [Mon, 16 Sep 2013 09:53:11 +0000 (09:53 +0000)]
[AArch64] Improve arm_neon.h vml<as>_lane handling.

gcc/
* config/aarch64/aarch64-simd-builtins.def (fma): New.
* config/aarch64/aarch64-simd.md
(aarch64_mla_elt<mode>): New.
(aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
(aarch64_mls_elt<mode>): Likewise.
(aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fma4_elt<mode>): Likewise.
(aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fma4_elt_to_128v2df): Likewise.
(aarch64_fma4_elt_to_64df): Likewise.
(fnma<mode>4): Likewise.
(aarch64_fnma4_elt<mode>): Likewise.
(aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
(aarch64_fnma4_elt_to_128v2df): Likewise.
(aarch64_fnma4_elt_to_64df): Likewise.
* config/aarch64/iterators.md (VDQSF): New.
* config/aarch64/arm_neon.h
(vfm<as><sdq>_lane<q>_f<32, 64>): Convert to C implementation.
(vml<sa><q>_lane<q>_<fsu><16, 32, 64>): Likewise.

gcc/testsuite/
* gcc.target/aarch64/fmla-intrinsic.c: New.
* gcc.target/aarch64/mla-intrinsic.c: Likewise.
* gcc.target/aarch64/fmls-intrinsic.c: Likewise.
* gcc.target/aarch64/mls-intrinsic.c: Likewise.

From-SVN: r202625

10 years ago[AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in C
James Greenhalgh [Mon, 16 Sep 2013 09:50:21 +0000 (09:50 +0000)]
[AArch64] Implement vmul<q>_lane<q>_<fsu><16,32,64> intrinsics in C

gcc/
* config/aarch64/aarch64-simd.md (aarch64_mul3_elt<mode>): New.
(aarch64_mul3_elt_<vswap_width_name><mode>): Likewise.
(aarch64_mul3_elt_to_128df): Likewise.
(aarch64_mul3_elt_to_64v2df): Likewise.
* config/aarch64/iterators.md (VEL): Also handle DFmode.
(VMUL): New.
(VMUL_CHANGE_NLANES) Likewise.
(h_con): Likewise.
(f): Likewise.
* config/aarch64/arm_neon.h
(vmul<q>_lane<q>_<suf><16,32,64>): Convert to C implementation.

gcc/testsuite/
* gcc.target/aarch64/mul_intrinsic_1.c: New.
* gcc.target/aarch64/fmul_intrinsic_1.c: Likewise.

From-SVN: r202624

10 years ago[AArch64] Fix parameters to vcvtx_high
James Greenhalgh [Mon, 16 Sep 2013 09:45:43 +0000 (09:45 +0000)]
[AArch64] Fix parameters to vcvtx_high

* config/aarch64/arm_neon.h
(vcvtx_high_f32_f64): Fix parameters.

From-SVN: r202623

10 years agoalpha.c: Include tree-ssa.h.
Jan-Benedict Glaw [Mon, 16 Sep 2013 09:03:33 +0000 (11:03 +0200)]
alpha.c: Include tree-ssa.h.

* config/alpha.c: Include tree-ssa.h.

From-SVN: r202621

10 years agotree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
Richard Biener [Mon, 16 Sep 2013 08:10:28 +0000 (08:10 +0000)]
tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.

2013-09-16  Richard Biener  <rguenther@suse.de>

* tree-loop-distribution.c (enum rdg_dep_type): Add control_dd.
(dot_rdg_1): Handle control_dd.
(create_edge_for_control_dependence): New function.
(create_rdg_edges): Add control dependences if asked for.
(build_rdg): Likewise.
(generate_loops_for_partition): If there are not necessary
control stmts remove all their dependencies.
(collect_condition_stmts, rdg_flag_loop_exits): Remove.
(distribute_loop): Pass on control dependences.
(tree_loop_distribution): Compute control dependences and remove
restriction on number of loop nodes.

* gcc.dg/tree-ssa/ldist-22.c: New testcase.

From-SVN: r202619

10 years agoChange log update for 202610-202612.
Adam Butcher [Mon, 16 Sep 2013 08:04:45 +0000 (09:04 +0100)]
Change log update for 202610-202612.

From-SVN: r202615

10 years agoipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal calls.
Jakub Jelinek [Mon, 16 Sep 2013 08:03:31 +0000 (10:03 +0200)]
ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early for internal calls.

* ipa-prop.c (ipa_compute_jump_functions_for_edge): Return early
for internal calls.

From-SVN: r202614

10 years agocse.c (try_const_anchors): Punt on CC modes.
Richard Sandiford [Mon, 16 Sep 2013 07:24:15 +0000 (07:24 +0000)]
cse.c (try_const_anchors): Punt on CC modes.

gcc/
* cse.c (try_const_anchors): Punt on CC modes.

From-SVN: r202613

10 years agoSupport using 'auto' in a function parameter list to introduce an implicit template...
Adam Butcher [Mon, 16 Sep 2013 07:14:34 +0000 (08:14 +0100)]
Support using 'auto' in a function parameter list to introduce an implicit template parameter.

gcc/cp/
* cp-tree.h (type_uses_auto_or_concept): Declare.
(is_auto_or_concept): Declare.
* decl.c (grokdeclarator): Allow 'auto' parameters in lambdas with
-std=gnu++1y or -std=c++1y or, as a GNU extension, in plain functions.
* type-utils.h: New header defining ...
(find_type_usage): ... this new function based on pt.c (type_uses_auto)
for searching a type tree given a predicate.
* pt.c (type_uses_auto): Reimplement via type-utils.h (find_type_usage).
(is_auto_or_concept): New function.
(type_uses_auto_or_concept): New function.
* parser.h (struct cp_parser): Add fully_implicit_function_template_p.
* parser.c (cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_new): Initialize fully_implicit_function_template_p.
(cp_parser_lambda_expression): Copy and restore value of
fully_implicit_function_template_p as per other parser fields.
(cp_parser_parameter_declaration_list): Count generic
parameters and call ...
(add_implicit_template_parms): ... this new function to synthesize them
with help from type-utils.h (find_type_usage), ...
(tree_type_is_auto_or_concept): ... this new static function and ...
(make_generic_type_name): ... this new static function.
(cp_parser_direct_declarator): Account for implicit template parameters.
(cp_parser_lambda_declarator_opt): Finish fully implicit template if
necessary by calling ...
(finish_fully_implicit_template): ... this new function.
(cp_parser_init_declarator): Likewise.
(cp_parser_function_definition_after_declarator): Likewise.
(cp_parser_member_declaration): Likewise.
* Make-lang.in (cp/pt.o): Add dependency on type-utils.h.
(cp/parser.o): Likewise.

gcc/testsuite/
g++.dg/cpp0x/auto9.C: Downgrade two previously expected errors (now
interpreted as implicit templates) to be expected pedwarns instead.

From-SVN: r202612

10 years agoSupport lambda templates.
Adam Butcher [Mon, 16 Sep 2013 07:14:21 +0000 (08:14 +0100)]
Support lambda templates.

* parser.c (cp_parser_lambda_declarator_opt): Accept template parameter
list with std=c++1y or std=gnu++1y.
(cp_parser_lambda_body): Don't call 'expand_or_defer_fn' for lambda call
operator template to avoid adding template result to symbol table.
* lambda.c (lambda_function): Return template result if call operator is
a template.
(maybe_add_lambda_conv_op): Move declarations to point of use.  Refactor
operator call building in order to support conversion of a non-capturing
lambda template to a function pointer with help from ...
(prepare_op_call): ... this new function.
* decl2.c (check_member_template): Don't reject lambda call operator
template in local [lambda] class.
* pt.c (instantiate_class_template_1): Don't instantiate lambda call
operator template when instantiating lambda class.

From-SVN: r202611

10 years ago* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.
Adam Butcher [Mon, 16 Sep 2013 07:14:11 +0000 (08:14 +0100)]
* pt.c (make_auto_1): Use input_location rather than BUILTINS_LOCATION.

From-SVN: r202610

10 years agore PR fortran/57697 ([OOP] Segfault with defined assignment for components during...
Tobias Burnus [Mon, 16 Sep 2013 06:42:02 +0000 (08:42 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * resolve.c (generate_component_assignments): Correctly handle
        * the
        case that the LHS is not allocated.

2013-09-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_10.f90: Comment print
        * statement.

From-SVN: r202609

10 years agoDaily bump.
GCC Administrator [Mon, 16 Sep 2013 00:16:55 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202608

10 years agoCore DR 904 PR c++/41933
Jason Merrill [Sun, 15 Sep 2013 19:34:42 +0000 (15:34 -0400)]
Core DR 904 PR c++/41933

Core DR 904
PR c++/41933
* parser.c (cp_parser_lambda_introducer): Handle variadic capture.
* lambda.c (add_capture): Handle variadic capture.
(add_default_capture, lambda_capture_field_type): Likewise.
(build_capture_proxy, register_capture_members): Likewise.
* pt.c (register_specialization): Allow FIELD_DECL.
(retrieve_specialization): Likewise.
(find_parameter_packs_r): Handle FIELD_DECL and VAR_DECL.
(tsubst_pack_expansion): Handle FIELD_DECL packs.
(gen_elem_of_pack_expansion_instantiation): Likewise.
(instantiate_class_template_1): Likewise.
(tsubst_decl, tsubst_copy): Likewise.
(tsubst_expr) [DECL_EXPR]: Handle capture proxy packs.
(tsubst_copy_and_build) [VAR_DECL]: Likewise.
* semantics.c (finish_non_static_data_member): Don't try to represent
the type of a COMPOUND_REF of a FIELD_DECL pack.

From-SVN: r202605

10 years agore PR c++/41933 ([c++0x] lambdas and variadic templates don't work together)
Jason Merrill [Sun, 15 Sep 2013 19:34:34 +0000 (15:34 -0400)]
re PR c++/41933 ([c++0x] lambdas and variadic templates don't work together)

PR c++/41933
* cp-tree.h (DECL_PACK_P): Replace FUNCTION_PARAMETER_PACK_P.
* cxx-pretty-print.c (direct_declarator): Adjust.
* decl2.c (cp_build_parm_decl): Adjust.
* pt.c (function_parameter_pack_p): Adjust.
(find_parameter_packs_r, push_template_decl_real): Adjust.
(tsubst_pack_expansion, tsubst_decl): Adjust.
(regenerate_decl_from_template, instantiate_decl): Adjust.

From-SVN: r202604

10 years ago* lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.
Jason Merrill [Sun, 15 Sep 2013 19:34:27 +0000 (15:34 -0400)]
* lambda.c (add_capture): Don't add DECL_LANG_SPECIFIC.

From-SVN: r202603

10 years agore PR fortran/57697 ([OOP] Segfault with defined assignment for components during...
Tobias Burnus [Sun, 15 Sep 2013 10:54:10 +0000 (12:54 +0200)]
re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * resolve.c (generate_component_assignments): Handle unallocated
        LHS with defined assignment of components.

2013-09-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57697
        * gfortran.dg/defined_assignment_10.f90: New.

From-SVN: r202601

10 years ago* config/vax/constraints.md (T): Add missing CONSTANT_P check.
Jan-Benedict Glaw [Sun, 15 Sep 2013 09:44:29 +0000 (09:44 +0000)]
* config/vax/constraints.md (T): Add missing CONSTANT_P check.

From-SVN: r202600

10 years agoDaily bump.
GCC Administrator [Sun, 15 Sep 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202599

10 years agore PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at explow.c:55)
John David Anglin [Sat, 14 Sep 2013 16:58:01 +0000 (16:58 +0000)]
re PR target/58382 (unwind.inc:136:1: ICE: in trunc_int_for_mode, at explow.c:55)

PR target/58382
* config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
calls to word_mode.

From-SVN: r202594

10 years agore PR target/48094 (ld: warning: section has unexpectedly large size errors in objc...
Iain Sandoe [Sat, 14 Sep 2013 15:36:41 +0000 (15:36 +0000)]
re PR target/48094 (ld: warning: section has unexpectedly large size errors in objc/obj-c++ lto)

gcc:

       PR target/48094
        * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata is seen.
        (darwin_objc1_section): Likewise.
        (darwin_file_end): Emit Image Info section when required.

gcc/c-family:

       PR target/48094
        * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
        fobjc-gc, freplace-objc-classes): Accept for LTO.

gcc/objc:

       PR target/48094
        * objc-next-runtime-abi-01.c (generate_objc_image_info): Remove.
        (objc_generate_v1_next_metadata): Remove generation of ImageInfo.
        * objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove.
        (objc_generate_v2_next_metadata): Remove generation of ImageInfo.

From-SVN: r202593