Commit Graph

123126 Commits

Author SHA1 Message Date
Xinliang David Li
473b1e05c3 Display profile info in graph cfg dump
From-SVN: r198165
2013-04-23 00:14:38 +00:00
Catherine Moore
b1485a33a3 configure.ac (gcc_cv_as_micromips_support): Use the --fatal-warnings option.
2013-04-22  Catherine Moore  <clm@codesourcery.com>
            David Daney <ddaney.cavm@gmail.com>

        * configure.ac (gcc_cv_as_micromips_support):  Use the
        --fatal-warnings option.
        * configure: Regenerate.


Co-Authored-By: David Daney <ddaney.cavm@gmail.com>

From-SVN: r198164
2013-04-22 18:16:45 -04:00
Jason Merrill
3df70c625a Core 1586
Core 1586
	* parser.c (cp_parser_unqualified_id): Handle ~auto.
	(cp_parser_pseudo_destructor_name): Likewise.
	(cp_parser_postfix_dot_deref_expression): Adjust.
	(cp_lexer_nth_token_is_keyword): New.
	* semantics.c (finish_pseudo_destructor_expr): Handle ~auto.
	* typeck.c (lookup_destructor): Handle ~auto.

From-SVN: r198162
2013-04-22 16:59:02 -04:00
Jason Merrill
3579964bee pt.c (fn_type_unification): Push tinst level around type_unification_real if we aren't explaining.
gcc/cp/
	* pt.c (fn_type_unification): Push tinst level around
	type_unification_real if we aren't explaining.
	* cp-tree.h (TFF_NO_TEMPLATE_BINDINGS): New.
	* error.c (dump_function_decl): Respect it.
	(subst_to_string): Pass it.
libstdc++-v3/
	* testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
	substitution" lines.

From-SVN: r198161
2013-04-22 16:40:54 -04:00
Jason Merrill
80f7a782fd re PR c++/48665 (type of const member function)
PR c++/48665
	* rtti.c (get_typeid): Diagnose qualified function type.
	* pt.c (tsubst) [POINTER_TYPE]: Likewise.

From-SVN: r198160
2013-04-22 16:35:58 -04:00
Jason Merrill
af580858ea error.c (dump_aggr_type): Fix lambda detection.
* error.c (dump_aggr_type): Fix lambda detection.
	(dump_simple_decl): Pretty-print capture field.

From-SVN: r198159
2013-04-22 16:33:01 -04:00
François Dumont
0462b6aa20 hashtable_policy.h: Add C++11 allocator support.
2013-04-22  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h: Add C++11 allocator support.
	* include/bits/hashtable.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/unordered_map: Likewise.
	* include/std/unordered_set: Remove bits/algobase.h
	include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
	* include/std/unordered_map: Likewise.
	* include/ext/throw_allocator.h: Add checks on calls to allocator
	construct/destroy.
	(std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
	(std::hash<__gnu_cxx::throw_value_random>): Likewise.
	* testsuite/util/regression/rand/priority_queue
	/container_rand_regression_test.tcc: Adapt.
	* testsuite/util/regression/rand/assoc
	/container_rand_regression_test.tcc: Likewise.
	* testsuite/util/testsuite_counter_type.h: Add count of destructors.
	* testsuite/23_containers/unordered_set
	/not_default_constructible_hash_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
	* testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
	* testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
	* testsuite/23_containers/unordered_set/allocator/swap.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
	New.
	* testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
	New.
	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
	* testsuite/23_containers/unordered_map/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
	* testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
	New.
	* testsuite/23_containers/unordered_map/allocator/swap.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
	New.
	* testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
	New.
	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.

From-SVN: r198158
2013-04-22 20:22:07 +00:00
Jason Merrill
ca45eca116 N3323
* cvt.c (build_expr_type_conversion): Two conversions that return
	the same type aren't necessarily ambiguous.

From-SVN: r198157
2013-04-22 15:25:23 -04:00
Jason Merrill
d3d50a6185 N3648
* parser.c (cp_parser_lambda_introducer): Make lambda capture init
	pedwarn unconditional except in C++1y mode.

From-SVN: r198156
2013-04-22 15:19:55 -04:00
Janus Weil
e361d18df7 re PR fortran/53685 (surprising warns about transfer with explicit character range)
2013-04-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/53685
	PR fortran/57022
	* check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
	expressions.
	* simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
	of special treatment for EXPR_ARRAY.
	* target-memory.h (gfc_element_size): New prototype.
	* target-memory.c (size_array): Remove.
	(gfc_element_size): New function.
	(gfc_target_expr_size): Modified to always return the full size of the
	expression.


2013-04-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/53685
	PR fortran/57022
	* gfortran.dg/transfer_check_4.f90: New.

From-SVN: r198155
2013-04-22 21:14:22 +02:00
Jason Merrill
cefb0898eb semantics.c (potential_constant_expression_1): Don't crash on 'this' in NSDMI.
* semantics.c (potential_constant_expression_1): Don't crash on
	'this' in NSDMI.

From-SVN: r198154
2013-04-22 15:13:19 -04:00
Jason Merrill
08afbd3bca Core 1612
Core 1612
	* semantics.c (finish_id_expression): Reject capture of anonymous
	union member.

From-SVN: r198153
2013-04-22 14:52:50 -04:00
Jason Merrill
c10f41938a Core 1609
Core 1609
	* decl2.c (check_default_args): Check for pack expansion.

From-SVN: r198152
2013-04-22 14:50:35 -04:00
Jason Merrill
a7ddca92d6 * mangle.c (write_type): Mangle decltype(auto).
From-SVN: r198150
2013-04-22 14:49:01 -04:00
Uros Bizjak
e973d6dda0 * testsuite/ChangeLog: Fix whitespace.
From-SVN: r198148
2013-04-22 19:05:26 +02:00
Marek Polacek
829d0168e6 re PR sanitizer/56990 (ICE: SIGFPE with -fsanitize=thread and empty struct)
PR sanitizer/56990
	* tsan.c (instrument_expr): Don't instrument expression
	in case its size is zero.

	* gcc.dg/pr56990.c: New test.

From-SVN: r198147
2013-04-22 17:02:49 +00:00
Uros Bizjak
6d9b720879 re PR rtl-optimization/57032 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))
PR target/57032
	Revert:
	2013-03-17  Uros Bizjak  <ubizjak@gmail.com>

	* config/alpha/alpha.c (TARGET_LRA_P): New define.

From-SVN: r198145
2013-04-22 18:58:30 +02:00
Paolo Carlini
6a4b1a00fa type_traits (is_signed): Simplify.
2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_signed): Simplify.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r198144
2013-04-22 15:27:54 +00:00
James Greenhalgh
ea679d553f [Mid-end] Add TARGET_GIMPLE_FOLD_BUILTIN target hook.
gcc/

	* coretypes.h (gimple_stmt_iterator_d): Forward declare.
	(gimple_stmt_iterator): New typedef.
	* gimple.h (gimple_stmt_iterator): Rename to...
	(gimple_stmt_iterator_d): ... This.
	* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Detail restriction that
	trees be valid for GIMPLE and GENERIC.
	(TARGET_GIMPLE_FOLD_BUILTIN): New.
	* gimple-fold.c (gimple_fold_call): Call target hook
	gimple_fold_builtin.
	* hooks.c (hook_bool_gsiptr_false): New.
	* hooks.h (hook_bool_gsiptr_false): New.
	* target.def (fold_stmt): New.
	* doc/tm.texi: Regenerate.

From-SVN: r198142
2013-04-22 14:50:32 +00:00
Paolo Carlini
9191d7a84a complex (complex<float>::real, [...]): Declare as const member functions.
2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	N3669
	* include/std/complex (complex<float>::real, complex<float>::imag,
	complex<double>::real, complex<double>::imag,
	complex<long double>::real, complex<long double>::imag): Declare
	as const member functions.
	* include/std/type_traits (integral_constant<>::operator value_type):
	Likewise.

From-SVN: r198141
2013-04-22 14:37:34 +00:00
Vladimir Makarov
88a581daa7 re PR target/57018 (Miscompilation of bison 2.7.1 under "-Os -fomit-frame-pointer")
2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/57018
	* lra-eliminations.c (mark_not_eliminable): Prevent elimination of
	a set sp if no stack realignment.

2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/57018
	* gcc.target/i386/pr57018.c: New test.

From-SVN: r198140
2013-04-22 14:26:51 +00:00
Nick Clifton
92be22dc74 config.gcc (tilegx-linux): Extend extra_objs rather than overwriting it.
* config.gcc (tilegx-linux): Extend extra_objs rather than
	overwriting it.
	(tilepro-linux): Likewise.

From-SVN: r198138
2013-04-22 12:48:36 +00:00
James Greenhalgh
0ddec79f52 [AArch64] Map standard pattern names to NEON intrinsics directly.
gcc/
	* config/aarch64/aarch64-builtins.c
	(CF): Remove.
	(CF0, CF1, CF2, CF3, CF4, CF10): New.
	(VAR<1-12>): Add MAP parameter.
	(BUILTIN_*): Likewise.
	* config/aarch64/aarch64-simd-builtins.def: Set MAP parameter.
	* config/aarch64/aarch64-simd.md (aarch64_sshl_n<mode>): Remove.
	(aarch64_ushl_n<mode>): Likewise.
	(aarch64_sshr_n<mode>): Likewise.
	(aarch64_ushr_n<mode>): Likewise.
	(aarch64_<maxmin><mode>): Likewise.
	(aarch64_sqrt<mode>): Likewise.
	* config/aarch64/arm_neon.h (vshl<q>_n_*): Use new builtin names.
	(vshr<q>_n_*): Likewise.

From-SVN: r198137
2013-04-22 12:46:38 +00:00
James Greenhalgh
0050faf8aa [AArch64] Support vrecp<esx> neon intrinsics in RTL.
gcc/
	* config/aarch64/aarch64-builtins.c
	(aarch64_simd_builtin_type_mode): Handle SF types.
	(sf_UP): Define.
	(BUILTIN_GPF): Define.
	(aarch64_init_simd_builtins): Handle SF types.
	* config/aarch64/aarch64-simd-builtins.def (frecpe): Add support.
	(frecps): Likewise.
	(frecpx): Likewise.
	* config/aarch64/aarch64-simd.md
	(simd_types): Update simd_frcp<esx> to simd_frecp<esx>.
	(aarch64_frecpe<mode>): New.
	(aarch64_frecps<mode>): Likewise.
	* config/aarch64/aarch64.md (unspec): Add UNSPEC_FRECP<ESX>.
	(v8type): Add frecp<esx>.
	(aarch64_frecp<FRECP:frecp_suffix><mode>): New.
	(aarch64_frecps<mode>): Likewise.
	* config/aarch64/iterators.md (FRECP): New.
	(frecp_suffix): Likewise.
	* config/aarch64/arm_neon.h
	(vrecp<esx><qsd>_<fd><32, 64>): Convert to using builtins.

gcc/testsuite/
	* gcc.target/aarch64/vrecps.c: New.
	* gcc.target/aarch64/vrecpx.c: Likewise.

From-SVN: r198136
2013-04-22 12:36:52 +00:00
Yannick Moy
ee40cdc0f9 exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored.
2013-04-22  Yannick Moy  <moy@adacore.com>

	* exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
	null statement if ignored.
	* sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
	* sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.

From-SVN: r198135
2013-04-22 12:58:05 +02:00
Arnaud Charlet
807b4ca202 [multiple changes]
2013-04-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Contract_Case): New routine.
	(Analyze_Pragma): Aspect/pragma Contract_Cases can
	now be associated with a library level subprogram.
	Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
	in a subprogram body.
	(Chain_Contract_Cases): Rename formal parameter Subp_Decl to
	Subp_Id. Remove local constant Subp. The entity of the subprogram
	is now obtained via the formal paramter.

2013-04-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Do not set
	Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
	if the expression is a source entity.

From-SVN: r198134
2013-04-22 12:52:55 +02:00
Arnaud Charlet
b2c3b5375f [multiple changes]
2013-04-22  Yannick Moy  <moy@adacore.com>

	* exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in
	comments.
	* sem_ch6.adb (Expand_Contract_Cases): Add location to message.

2013-04-22  Thomas Quinot  <quinot@adacore.com>

	* sem_prag.adb (Fix_Error): For a pragma rewritten from another
	pragma, fix up error message to include original pragma name.
	* par_sco.adb: Minor reformatting.

From-SVN: r198133
2013-04-22 12:50:34 +02:00
Robert Dewar
1a83142efc sem_prag.adb, [...]: Minor reformatting.
2013-04-22  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb,
	sem_ch6.adb, opt.ads: Minor reformatting.

From-SVN: r198132
2013-04-22 12:48:43 +02:00
Ed Schonberg
1de0ffecde exp_ch6.adb: Omit check for init proc.
2013-04-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb: Omit check for init proc.

From-SVN: r198131
2013-04-22 12:47:36 +02:00
Arnaud Charlet
f6820c2d0e [multiple changes]
2013-04-22  Pascal Obry  <obry@adacore.com>

	* gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
	Library_Standalone and Library_Kind.

2013-04-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Actuals): If the call is to an
	inherited operation and the actual is a by-reference type with
	predicates, add predicate call to post-call actions.
	* sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
	error: a type declaration has a defining identifier, not an Etype.
	* sem_res.adb: Restore code removed because of above error.

2013-04-22  Doug Rupp  <rupp@adacore.com>

	* init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.

From-SVN: r198130
2013-04-22 12:44:46 +02:00
Arnaud Charlet
16d3a85360 [multiple changes]
2013-04-22  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
	opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.

2013-04-22  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
	No_Path_Information only when Directories_Must_Exist_In_Projects
	is False.
	(Get_Directories): Set Object_Directory
	or Exec_Directory to No_Path_Information only when
	Directories_Must_Exist_In_Projects is False.

From-SVN: r198129
2013-04-22 12:42:42 +02:00
Yannick Moy
ddb8a2c7c1 par-prag.adb, [...]: Remove all references to Pragma_Contract_Case and Name_Contract_Case.
2013-04-22  Yannick Moy  <moy@adacore.com>

	* par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb,
	snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to
	Pragma_Contract_Case and Name_Contract_Case.

From-SVN: r198128
2013-04-22 12:41:08 +02:00
Yannick Moy
541fb4d9bc aspects.ads, [...]: Removal of references to Contract_Case.
2013-04-22  Yannick Moy  <moy@adacore.com>

	* aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to
	Contract_Case.
	* gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by
	description of Contract_Cases.

From-SVN: r198127
2013-04-22 12:38:57 +02:00
Paolo Carlini
177d2b74b5 re PR libstdc++/57010 ([c++0x] priority_queue<>::pop() calls self-move-assignment operator)
2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57010
	* include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
	* testsuite/25_algorithms/pop_heap/57010.cc: New.

From-SVN: r198125
2013-04-22 10:07:31 +00:00
Christian Bruel
0fad3dbc21 fix date
From-SVN: r198124
2013-04-22 09:39:54 +02:00
Christian Bruel
1818d01c42 re PR target/56995 (sh4 -mfmovd: ICE in find_costs_and_classes)
2013-04-18  Christian Bruel  <christian.bruel@st.com>

       PR target/56995
       * config/sh/sh.h (enum reg_class): Remove DF_HI_REGS.
       (REG_CLASS_NAMES): Idem.
       (REG_CLASS_CONTENTS): Idem.
       (REGCLASS_HAS_FP_REG): Idem.
       * config/sh/sh.c (sh_cannot_change_mode_class): Idem.
       (sh_conditional_register_usage): Idem.

From-SVN: r198123
2013-04-22 09:16:21 +02:00
Jeff Law
3e8a33f96b tree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function.
* tree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function.
	(ssa_forward_propagate_and_combine): Use it.

	* gcc.dg/tree-ssa/forwprop-26.c: New test.

From-SVN: r198121
2013-04-21 20:59:00 -06:00
GCC Administrator
27747ea573 Daily bump.
From-SVN: r198120
2013-04-22 00:16:42 +00:00
Evgeniy Stepanov
1cbe724ceb system_error.cc (generic_category_instance): Add initializer.
2013-04-21  Evgeniy Stepanov  <eugenis@google.com>

	* src/c++11/system_error.cc (generic_category_instance): Add
	initializer.
	(system_category_instance): Likewise.
	* src/c++11/future.cc (__fec): Likewise.

From-SVN: r198115
2013-04-21 09:40:24 +01:00
GCC Administrator
b10717ebaf Daily bump.
From-SVN: r198113
2013-04-21 00:16:36 +00:00
Jonathan Wakely
fcb2185b89 * doc/xml/manual/extensions.xml: Fix anachronism.
From-SVN: r198110
2013-04-20 20:40:28 +01:00
Tobias Burnus
6fbcd30990 re PR fortran/56907 (C_LOC shall not call internal-PACK when an array argument is used)
2013-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56907
        * trans-intrinsic.c (conv_isocbinding_function): Don't pack
        * array
        passed to C_LOC

2013-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56907
        * gfortran.dg/c_loc_test_22.f90: New.

From-SVN: r198109
2013-04-20 13:01:55 +02:00
GCC Administrator
21ec136ace Daily bump.
From-SVN: r198108
2013-04-20 00:16:45 +00:00
Vladimir Makarov
f38e1b0a2b lra.c: Update the flow chart diagram.
2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>

	* lra.c: Update the flow chart diagram.

From-SVN: r198102
2013-04-19 21:09:33 +00:00
Vladimir Makarov
682303da79 re PR rtl-optimization/56847 ('-fpie' triggers - internal compiler error: in gen_add2_insn, at optabs.c:4705)
2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/56847
	* lra-constraints.c (process_alt_operands): Discourage alternative
	with non-matche doffsettable memory constraint fro memory with
	known offset.

From-SVN: r198101
2013-04-19 19:55:57 +00:00
Jason Merrill
79d8a27242 N3638 changes to return type deduction
* decl.c (undeduced_auto_decl): New.
	(require_deduced_type): New.
	(fndecl_declared_return_type): New.
	(decls_match): Use it.
	(duplicate_decls): Don't check for auto return.
	(grokdeclarator): Reject virtual auto.
	* class.c (resolve_address_of_overloaded_function): Handle
	auto function templates.
	* decl2.c (mark_used): Use undeduced_auto_decl, require_deduced_type.
	* cp-tree.h: Declare new fns.
	* error.c (dump_function_decl): Use fndecl_declared_return_type.
	* search.c (check_final_overrider): Likewise.
	* pt.c (make_decltype_auto): New.
	(do_auto_deduction): Require plain decltype(auto).
	(is_auto): Adjust.

From-SVN: r198099
2013-04-19 12:28:24 -04:00
Jason Merrill
86c0810c72 DR 941
DR 941
	* decl.c (duplicate_decls): Don't propagate DECL_DELETED_FN to
	template specializations.

From-SVN: r198098
2013-04-19 12:28:03 -04:00
Richard Biener
f6b64c3501 re PR tree-optimization/56982 (Bad optimization with setjmp())
2013-04-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56982
	* builtins.def (BUILT_IN_LONGJMP): longjmp is not a leaf
	function.
	* gimplify.c (gimplify_call_expr): Notice special calls.
	(gimplify_modify_expr): Likewise.
	* tree-cfg.c (make_abnormal_goto_edges): Handle setjmp-like
	abnormal control flow receivers.
	(call_can_make_abnormal_goto): Handle cfun->calls_setjmp
	in the same way as cfun->has_nonlocal_labels.
	(gimple_purge_dead_abnormal_call_edges): Likewise.
	(stmt_starts_bb_p): Make setjmp-like abnormal control flow
	receivers start a basic-block.

	* gcc.c-torture/execute/pr56982.c: New testcase.

From-SVN: r198096
2013-04-19 13:39:16 +00:00
Richard Biener
01d8bf070a re PR tree-optimization/56270 (loop over array of struct float causes compiler error: segmentation fault)
2013-04-19  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (struct _slp_instance): Move load_permutation
	member ...
	(struct _slp_tree): ... here.  Make it a vector of unsigned ints.
	(SLP_INSTANCE_LOAD_PERMUTATION): Remove.
	(SLP_TREE_LOAD_PERMUTATION): Add.
	(vect_transform_slp_perm_load): Adjust prototype.
	* tree-vect-slp.c (vect_free_slp_tree): Adjust.
	(vect_free_slp_instance): Likewise.
	(vect_create_new_slp_node): Likewise.
	(vect_supported_slp_permutation_p): Remove.
	(vect_slp_rearrange_stmts): Adjust.
	(vect_supported_load_permutation_p): Likewise.  Inline
	vect_supported_slp_permutation_p here.
	(vect_analyze_slp_instance): Compute load permutations per
	slp node instead of per instance.
	(vect_get_slp_defs): Adjust.
	(vect_transform_slp_perm_load): Likewise.
	(vect_schedule_slp_instance): Remove redundant code.
	(vect_schedule_slp): Remove hack for PR56270, add it ...
	* tree-vect-stmts.c (vectorizable_load): ... here, do not
	CSE loads for SLP.  Adjust.

From-SVN: r198095
2013-04-19 13:37:12 +00:00
Greta Yorsh
ede22fc330 arm.c (load_multiple_sequence, [...]): Fix spelling in two comments.
2013-04-19  Greta Yorsh  <Greta.Yorsh@arm.com>

	* config/arm/arm.c (load_multiple_sequence, ldm_stm_operation_p): Fix
	spelling in two comments.

From-SVN: r198093
2013-04-19 14:25:09 +01:00