Robert Dewar [Mon, 19 Sep 2011 08:26:39 +0000 (08:26 +0000)]
errout.ads: Minor reformatting.
2011-09-19 Robert Dewar <dewar@adacore.com>
* errout.ads: Minor reformatting.
From-SVN: r178958
Arnaud Charlet [Mon, 19 Sep 2011 08:25:34 +0000 (10:25 +0200)]
[multiple changes]
2011-09-19 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): When the expression
function is transformed into a declaration and a body, insert
body at the end of the declarative part, to prevent premature
freeze actions, and preserve original specification in the
subprogram declaration.
2011-09-19 Vincent Celier <celier@adacore.com>
* projects.texi: Minor editing.
From-SVN: r178957
Arnaud Charlet [Mon, 19 Sep 2011 08:21:37 +0000 (10:21 +0200)]
[multiple changes]
2011-09-19 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
exp_aggr.adb: Minor reformatting.
2011-09-19 Yannick Moy <moy@adacore.com>
* lib-xref.adb (Generate_Reference): Change entity referenced
to underlying object if any, or else reference to the HEAP.
From-SVN: r178956
GCC Administrator [Mon, 19 Sep 2011 00:19:17 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r178950
Eric Botcazou [Sun, 18 Sep 2011 22:00:52 +0000 (22:00 +0000)]
re PR target/50091 (-fstack-check generates wrong assembly)
PR target/50091
* config/rs6000/rs6000.md (probe_stack): Use explicit operand.
* config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
Co-Authored-By: Iain Sandoe <developer@sandoe-acoustics.co.uk>
From-SVN: r178944
H.J. Lu [Sun, 18 Sep 2011 15:39:18 +0000 (15:39 +0000)]
Remove tmp from bmiintrin.h and tbmintrin.h.
2011-09-18 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/bmiintrin.h: Remove tmp.
* config/i386/tbmintrin.h: Likewise.
From-SVN: r178943
Dominique d'Humieres [Sun, 18 Sep 2011 11:41:43 +0000 (13:41 +0200)]
re PR testsuite/50435 (FAIL: gcc.dg/vect/bb-slp-25.c (-flto)? scan-tree-dump-times slp "basic block vectorized using SLP" 1)
PR testsuite/50435
* gcc.dg/vect/bb-slp-25.c: Add an if to avoid loop vectorization.
Fix underscores around restrict.
Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>
From-SVN: r178942
Ira Rosen [Sun, 18 Sep 2011 11:36:15 +0000 (11:36 +0000)]
re PR tree-optimization/50414 (gfortran -Ofast SIGSEGV in store_constructor)
PR tree-optimization/50414
* tree-vect-slp.c (vect_get_constant_vectors): Handle MAX_EXPR
and MIN_EXPR.
From-SVN: r178941
Ira Rosen [Sun, 18 Sep 2011 08:59:52 +0000 (08:59 +0000)]
re PR tree-optimization/50412 (gfortran -Ofast ICE in vect_do_peeling_for_loop_bound)
PR tree-optimization/50412
* tree-vect-data-refs.c (vect_analyze_group_access): Fail for
acceses that require epilogue loop if vectorizing outer loop.
From-SVN: r178940
David S. Miller [Sun, 18 Sep 2011 01:36:55 +0000 (01:36 +0000)]
sparc.c (niagara2_costs): Adjust integer divide costs.
* gcc/config/sparc/sparc.c (niagara2_costs): Adjust integer
divide costs.
(niagara3_costs): New.
(sparc_option_override): Use it.
* gcc/config/sparc/niagara2.md: Adjust with more accurate
Niagara-3 reservations.
From-SVN: r178938
GCC Administrator [Sun, 18 Sep 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178937
Paolo Carlini [Sat, 17 Sep 2011 23:53:26 +0000 (23:53 +0000)]
re PR libstdc++/50441 ([C++0x] <type_traits> is missing GNU extension types)
2011-09-17 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50441
* acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add.
* configure.ac: Call it.
* include/std/type_traits (__is_integral_helper<__int128_t>,
__is_integral_helper<__uint128_t>,
__is_floating_point_helper<__float128>,
__make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/is_signed/value.cc: Likewise.
* testsuite/20_util/is_unsigned/value.cc: Likewise.
* testsuite/20_util/is_integral/value.cc: Likewise.
* testsuite/20_util/is_floating_point/value.cc: New.
* testsuite/20_util/is_floating_point/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_floating_point/requirements/
explicit_instantiation.cc: Likewise.
* 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.
* configure: Regenerate.
* config.h.in: Likewise.
From-SVN: r178933
David S. Miller [Sat, 17 Sep 2011 20:49:34 +0000 (20:49 +0000)]
sparc.md (UNSPEC_EDGE8, [...]): New unspecs.
* config/sparc/sparc.md (UNSPEC_EDGE8, UNSPEC_EDGE8L,
UNSPEC_EDGE16, UNSPEC_EDGE16L, UNSPEC_EDGE32, UNSPEC_EDGE32L):
New unspecs.
(define_attr type): New type 'edge'.
(edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
edge32l_vis): New patterns.
* config/sparc/ultra1_2.md: Add insn reservation for 'edge'.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/sparc.d (sparc_vis_init_builtins): Generate
builtins for VIS edge instructions.
* config/sparc/visintrin.h (__vis_edge8, __vis_edge8l)
(__vis_edge16, __vis_edge16l, __vis_edge32, __vis_edge32l): New
intrinsics.
(__v8qi, __v4qi): Make unsigned.
(__vis_faligndatadi, ___vis_faligndatav2si, __vis_faligndatav4hi,
__vis_faligndatav8qi, __vis_fmul8x16au, __vis_fmul8x16al,
__vis_fpack32): Fix types.
* doc/extend.texi: Document new 'edge' VIS intrinsics.
From-SVN: r178931
Jakub Jelinek [Sat, 17 Sep 2011 15:24:59 +0000 (17:24 +0200)]
sse.md (VIMAX_AVX2): Change V4DI to V2TI.
* config/i386/sse.md (VIMAX_AVX2): Change V4DI to V2TI.
(sse2_avx, sseinsnmode): Add V2TI.
(REDUC_SMINMAX_MODE): New mode iterator.
(reduc_smax_v4sf, reduc_smin_v4sf, reduc_smax_v8sf,
reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df): Remove.
(reduc_<code>_<mode>): New smaxmin and umaxmin expanders.
(sse2_lshrv1ti3): Rename to...
(<sse2_avx2>_lshr<mode>3): ... this. Use VIMAX_AVX2 mode
iterator. Move before umaxmin expanders.
* config/i386/i386.h (VALID_AVX256_REG_MODE,
SSE_REG_MODE_P): Accept V2TImode.
* config/i386/i386.c (ix86_expand_reduc): Handle V32QImode,
V16HImode, V8SImode and V4DImode.
From-SVN: r178930
Jakub Jelinek [Sat, 17 Sep 2011 15:22:42 +0000 (17:22 +0200)]
i386.c (ix86_build_const_vector): Handle V8SImode and V4DImode.
* config/i386/i386.c (ix86_build_const_vector): Handle V8SImode
and V4DImode.
(ix86_build_signbit_mask): Likewise.
(ix86_expand_int_vcond): Likewise. Handle V16HImode and
V32QImode.
(bdesc_args): Use CODE_FOR_{s,u}m{ax,in}v{32q,16h,8s}i3
instead of CODE_FOR_avx2_{s,u}m{ax,in}v{32q,16h,8s}i3.
* config/i386/sse.md (avx2_<code><mode>3 umaxmin expand): Rename
to...
(<code><mode>3) ... this.
(avx2_<code><mode>3 smaxmin expand): Rename to...
(<code><mode>3) ... this.
(smax<mode>3, smin<mode>3): Macroize using smaxmin code iterator.
(smaxv2di3, sminv2di3): Macroize using smaxmin code iterator and
VI8_AVX2 mode iterator.
(umaxv2di3, uminv2di3): Macroize using umaxmin code iterator and
VI8_AVX2 mode iterator.
(vcond<V_256:mode><VI_256:mode>, vcondu<V_256:mode><VI_256:mode>):
New expanders.
From-SVN: r178929
Janus Weil [Sat, 17 Sep 2011 10:54:50 +0000 (12:54 +0200)]
re PR fortran/50403 (SIGSEGV in gfc_use_derived)
2011-09-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/50403
* symbol.c (gfc_use_derived): Fix coding style.
From-SVN: r178928
François Dumont [Sat, 17 Sep 2011 09:12:24 +0000 (09:12 +0000)]
hashtable.h (_Hashtable<>::__rehash_policy(const _RehashPolicy&)): Commit the modification of the policy only if no exception occured.
2011-09-17 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const
_RehashPolicy&)): Commit the modification of the policy only if no
exception occured.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
New.
From-SVN: r178927
Richard Sandiford [Sat, 17 Sep 2011 06:43:55 +0000 (06:43 +0000)]
itanium2.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/ia64/itanium2.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178926
GCC Administrator [Sat, 17 Sep 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178925
Ian Lance Taylor [Sat, 17 Sep 2011 00:11:27 +0000 (00:11 +0000)]
Improve errors for invalid use of [...]type.
From-SVN: r178921
Ian Lance Taylor [Fri, 16 Sep 2011 22:56:32 +0000 (22:56 +0000)]
Block forever on send/receive to/from nil channel.
From-SVN: r178920
David S. Miller [Fri, 16 Sep 2011 21:21:38 +0000 (21:21 +0000)]
visintrin.h: New file.
* config/sparc/visintrin.h: New file.
* config.gcc: Add it to extra_headers on sparc.
From-SVN: r178919
Jason Merrill [Fri, 16 Sep 2011 21:16:16 +0000 (17:16 -0400)]
re PR c++/50424 (G++ doesn't notice possible throw from default argument)
PR c++/50424
* call.c (set_flags_from_callee): Split out from build_call_a.
* cp-tree.h: Declare it.
* tree.c (bot_manip): Call it.
From-SVN: r178918
Jakub Jelinek [Fri, 16 Sep 2011 19:15:45 +0000 (21:15 +0200)]
i386.c (ix86_expand_reduc_v4sf): Rename to ...
* config/i386/i386.c (ix86_expand_reduc_v4sf): Rename to ...
(ix86_expand_reduc): ... this. Handle also V8SFmode and V4DFmode.
* config/i386/sse.md (reduc_splus_v4sf, reduc_smax_v4sf,
reduc_smin_v4sf): Adjust callers.
(reduc_smax_v8sf, reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df):
New expanders.
* gcc.dg/vect/vect-reduc-10.c: New test.
* gcc.target/i386/avx-reduc-1.c: New test.
From-SVN: r178916
Jakub Jelinek [Fri, 16 Sep 2011 19:14:36 +0000 (21:14 +0200)]
sse.md (vec_extract_hi_<mode>, [...]): Use vextracti128 instead of vextractf128 for -mavx2 and integer vectors.
* config/i386/sse.md (vec_extract_hi_<mode>,
vec_extract_hi_v16hi, vec_extract_hi_v32qi): Use
vextracti128 instead of vextractf128 for -mavx2 and
integer vectors. For V4DFmode fix up mode attribute.
(VEC_EXTRACT_MODE): For TARGET_AVX add 32-byte vectors.
(vec_set_lo_<mode>, vec_set_hi_<mode>): For VI8F_256 modes use V4DF
instead of V8SF mode attribute.
(avx2_extracti128): Change into define_expand.
* config/i386/i386.c (ix86_expand_vector_extract): Handle
32-byte vector modes if TARGET_AVX.
* gcc.target/i386/sse2-extract-1.c: New test.
* gcc.target/i386/avx-extract-1.c: New test.
From-SVN: r178915
Georg-Johann Lay [Fri, 16 Sep 2011 18:28:32 +0000 (18:28 +0000)]
avr.md: (umulqihi3, mulqihi3): Write as one pattern.
* config/avr/avr.md: (umulqihi3, mulqihi3): Write as one pattern.
(umulqi3_highpart, smulqi3_highpart): Ditto.
(*maddqihi4.const, *umaddqihi4.uconst): Ditto.
(*msubqihi4.const, *umsubqihi4.uconst): Ditto.
(*muluqihi3.uconst, *mulsqihi3.sconst): Ditto.
From-SVN: r178913
Georg-Johann Lay [Fri, 16 Sep 2011 18:27:10 +0000 (18:27 +0000)]
re PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the enhanced core)
PR target/50358
* config/avr/avr.md (*ashiftqihi2.signx.1): New insn.
(*maddqi4, *maddqi4.const): New insns.
(*msubqi4, *msubqi4.const): New insns.
* config/avr/avr.c (avr_rtx_costs): Record costs of above in cases
PLUS:QI and MINUS:QI. Increase costs of multiply-add/-sub for
HImode by 1 in the case of multiplying with a CONST_INT.
Record cost of *ashiftqihi2.signx.1 in case ASHIFT:QI.
From-SVN: r178912
Paolo Carlini [Fri, 16 Sep 2011 16:28:31 +0000 (16:28 +0000)]
less_or_equal.cc: New.
2011-09-16 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/array/comparison_operators/
less_or_equal.cc: New.
* testsuite/23_containers/array/comparison_operators/
greater_or_equal.cc: Likewise.
* testsuite/23_containers/array/comparison_operators/less.cc: Likewise.
* testsuite/23_containers/array/comparison_operators/equal.cc: Likewise.
* testsuite/23_containers/array/comparison_operators/not_equal.cc:
Likewise.
* testsuite/23_containers/array/comparison_operators/greater.cc:
Likewise.
* testsuite/23_containers/array/iterators/end_is_one_past.cc: Likewise.
* testsuite/23_containers/array/capacity/empty.cc: Likewise.
* testsuite/23_containers/array/capacity/max_size.cc: Likewise.
* testsuite/23_containers/array/capacity/size.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
Likewise.
* testsuite/23_containers/array/element_access/at_out_of_range.cc:
Likewise.
* testsuite/23_containers/array/element_access/back.cc: Likewise.
* testsuite/23_containers/array/element_access/front.cc: Likewise.
* testsuite/23_containers/array/element_access/data.cc: Likewise.
* testsuite/23_containers/array/cons/aggregate_initialization.cc:
Likewise.
* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
Likewise.
* testsuite/23_containers/array/requirements/contiguous.cc: Likewise.
* testsuite/23_containers/array/requirements/member_swap.cc: Likewise.
* testsuite/23_containers/array/specialized_algorithms/swap.cc:
Likewise.
* testsuite/23_containers/array/constexpr_get.cc: Move...
* testsuite/23_containers/array/tuple_interface/constexpr_get.cc:
... here.
* testsuite/23_containers/array/requirements/get.cc: Move...
* testsuite/23_containers/array/tuple_interface/get: ... here.
* testsuite/23_containers/array/at_neg.cc: Move...
* testsuite/23_containers/array/element_access: ... here.
* testsuite/23_containers/array/requirements/constexpr_functions.cc:
Move...
* testsuite/23_containers/array/capacity: ... here.
* testsuite/23_containers/array/requirements/
constexpr_element_access.cc: Move...
* testsuite/23_containers/array/element_access: ... here.
* testsuite/20_util/duration/cons/1_neg.cc: Avoid -Wall warnings.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
* testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
* testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
* testsuite/23_containers/bitset/operations/constexpr.cc: Likewise.
* testsuite/20_util/duration/cons/1_neg.cc: Discard bogus warning.
* testsuite/20_util/forward/1_neg.cc: Likewise.
From-SVN: r178911
Ian Lance Taylor [Fri, 16 Sep 2011 15:47:21 +0000 (15:47 +0000)]
Update Go library to r60.
From-SVN: r178910
Jan Hubicka [Fri, 16 Sep 2011 14:40:06 +0000 (16:40 +0200)]
re PR lto/50430 (Constructors of static external vars are throwed away leading to missed optimizations (and ipa-cp ICE).)
PR lto/50430
* gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on
error_mark_node in the DECL_INITIAL of vtable.
From-SVN: r178908
Uros Bizjak [Fri, 16 Sep 2011 12:20:54 +0000 (14:20 +0200)]
* gcc.target/i386/avx-round-vec.c: Declare round.
From-SVN: r178907
Terry Guo [Fri, 16 Sep 2011 08:55:41 +0000 (08:55 +0000)]
foldconst-3.c: Don't use short enums.
* gcc.dg/tree-ssa/foldconst-3.c: Don't use short enums.
From-SVN: r178906
Ian Lance Taylor [Fri, 16 Sep 2011 05:47:20 +0000 (05:47 +0000)]
Fix defer when not calling recover in function with named results.
From-SVN: r178905
Paolo Carlini [Fri, 16 Sep 2011 00:41:33 +0000 (00:41 +0000)]
tuple (make_tuple, [...]): Declare constexpr.
2011-09-15 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (make_tuple, forward_as_tuple): Declare constexpr.
(_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Likewise.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Enable
make_tuple test.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line number.
From-SVN: r178904
GCC Administrator [Fri, 16 Sep 2011 00:19:05 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r178902
Diego Novillo [Thu, 15 Sep 2011 21:00:03 +0000 (17:00 -0400)]
Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from @SYSROOT_CFLAGS_FOR_TARGET@.
* Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from
@SYSROOT_CFLAGS_FOR_TARGET@.
* configure.ac (SYSROOT_CFLAGS_FOR_TARGET): Set from
build-sysroot.
* configure: Regenerate.
(site.exp): Add definition of TEST_ALWAYS_FLAGS.
Remove setting of GCC_UNDER_TEST.
testsuite/ChangeLog
* lib/g++.exp (g++_init): Add $TEST_ALWAYS_FLAGS to
ALWAYS_CXXFLAGS, if defined.
* lib/gfortran.exp (gfortran_init): Add $TEST_ALWAYS_FLAGS to
ALWAYS_GFORTRANFLAGS, if defined.
* lib/go.exp (go_target_compile): Add $TEST_ALWAYS_FLAGS to
ALWAYS_GOCFLAGS, if defined.
* lib/obj-c++.exp (obj-c++_init): Add $TEST_ALWAYS_FLAGS to
ALWAYS_OBJCXXFLAGS, if defined.
* lib/gcc.exp (gcc_target_compile): Add $TEST_ALWAYS_FLAGS to
additional_flags, if defined.
* lib/gnat.exp (gnat_target_compile): Likewise.
* lib/objc.exp (objc_target_compile): Likewise.
* lib/target-supports-dg.exp (dg-add-options): Handle
TEST_ALWAYS_FLAGS.
From-SVN: r178897
Tom de Vries [Thu, 15 Sep 2011 20:44:30 +0000 (20:44 +0000)]
re PR testsuite/50322 ([avr]: fail: gcc.dg/tree-ssa/ivopts-lt.c)
2011-09-15 Tom de Vries <tom@codesourcery.com>
PR testsuite/50322
* gcc.dg/tree-ssa/ivopts-lt.c: require stdint_types. include stdint.h.
Use uintptr_t in f1. Undo avr xfails.
From-SVN: r178895
Uros Bizjak [Thu, 15 Sep 2011 19:11:45 +0000 (21:11 +0200)]
i386.c (output_fp_compare): Return %v prefixed instruction mnemonics for TARGET_AVX.
* config/i386/i386.c (output_fp_compare): Return %v prefixed
instruction mnemonics for TARGET_AVX.
* config/i386/i386.md (*movdf_internal_rex64): use cond RTX in
"type" attribute calculation.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.
From-SVN: r178891
Janus Weil [Thu, 15 Sep 2011 17:48:27 +0000 (19:48 +0200)]
re PR fortran/50401 (SIGSEGV in resolve_transfer)
2011-09-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/50401
* resolve.c (resolve_transfer): Check if component 'ref' is defined.
PR fortran/50403
* symbol.c (gfc_use_derived): Check if argument 'sym' is defined.
2011-09-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/50401
PR fortran/50403
* gfortran.dg/function_types_3.f90: New.
From-SVN: r178889
James Greenhalgh [Thu, 15 Sep 2011 14:41:46 +0000 (14:41 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): New builtin macro.
2011-09-15 James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): New builtin macro.
From-SVN: r178884
Jason Merrill [Thu, 15 Sep 2011 14:33:37 +0000 (10:33 -0400)]
re PR c++/50365 (non-static data member error on valid code)
PR c++/50365
* parser.c (cp_parser_late_return_type_opt): Check quals parameter
for clearing current_class_ptr, too.
From-SVN: r178883
Jason Merrill [Thu, 15 Sep 2011 14:33:24 +0000 (10:33 -0400)]
re PR c++/50361 ([C++0x] [4.7 Regression] ICE with std::initializer_list and nullptr)
PR c++/50361
* expr.c (count_type_elements): Handle NULLPTR_TYPE.
From-SVN: r178882
Jan Hubicka [Thu, 15 Sep 2011 12:15:43 +0000 (14:15 +0200)]
ipa-inline-analysis.c (add_condition): Add conditions parameter; simplify obviously true clauses.
* ipa-inline-analysis.c (add_condition): Add conditions parameter;
simplify obviously true clauses.
(and_predicates, or_predicates): Add conditions parameter.
(inline_duplication_hoook): Update.
(mark_modified): New function.
(unmodified_parm): New function.
(eliminated_by_inlining_prob, (set_cond_stmt_execution_predicate,
set_switch_stmt_execution_predicate, will_be_nonconstant_predicate):
Use unmodified_parm.
(estimate_function_body_sizes): Update.
(remap_predicate): Update.
From-SVN: r178881
Ira Rosen [Thu, 15 Sep 2011 10:46:39 +0000 (10:46 +0000)]
tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Allow read-after-read dependencies in basic block SLP.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Allow
read-after-read dependencies in basic block SLP.
From-SVN: r178880
Arnaud Charlet [Thu, 15 Sep 2011 10:31:13 +0000 (10:31 +0000)]
Update dependencies.
From-SVN: r178879
Arnaud Charlet [Thu, 15 Sep 2011 10:26:49 +0000 (12:26 +0200)]
[multiple changes]
2011-09-15 Robert Dewar <dewar@adacore.com>
* tree_io.ads: Minor reformatting.
* a-intnam.ads: Fix bad header.
2011-09-15 Thomas Quinot <quinot@adacore.com>
* a-exexpr-gcc.adb: Minor reformatting.
2011-09-15 Yannick Moy <moy@adacore.com>
* sem_ch6.adb: Propagate information that an expression function comes
from source (otherwise references to this entity are not stored).
From-SVN: r178878
Arnaud Charlet [Thu, 15 Sep 2011 10:22:54 +0000 (12:22 +0200)]
[multiple changes]
2011-09-15 Robert Dewar <dewar@adacore.com>
* a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
2011-09-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
if the expression function is not a completion, create a
new specification for the generated declaration, and keep the
original specification in the generated body. Shorter code also
ensures that proper warnings are generated for unused formals
in all cases.
2011-09-15 Sergey Rybin <rybin@adacore.com>
* tree_io.ads: Update ASIS_Version_Number because of the changes
in the tree structures for expression functions.
2011-09-15 Arnaud Charlet <charlet@adacore.com>
* s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
(CLOCK_REALTIME): Fix wrong value on some OSes.
* s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
From-SVN: r178877
GCC Administrator [Thu, 15 Sep 2011 00:19:11 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r178875
Ian Lance Taylor [Wed, 14 Sep 2011 22:28:10 +0000 (22:28 +0000)]
Fix handling of structs with embedded global types.
From-SVN: r178870
Richard Sandiford [Wed, 14 Sep 2011 21:18:09 +0000 (21:18 +0000)]
sparc.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/sparc/sparc.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178869
Richard Sandiford [Wed, 14 Sep 2011 21:17:43 +0000 (21:17 +0000)]
sh.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/sh/sh.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178868
Richard Sandiford [Wed, 14 Sep 2011 21:17:14 +0000 (21:17 +0000)]
s390.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/s390/s390.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178867
Richard Sandiford [Wed, 14 Sep 2011 21:16:45 +0000 (21:16 +0000)]
rs6000.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/rs6000/rs6000.md: Use match_test rather than eq/ne symbol_ref
throughout file.
* config/rs6000/constraints.md: Likewise.
From-SVN: r178866
Richard Sandiford [Wed, 14 Sep 2011 21:16:05 +0000 (21:16 +0000)]
microblaze.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/microblaze/microblaze.md: Use match_test rather than
eq/ne symbol_ref throughout file.
From-SVN: r178865
Richard Sandiford [Wed, 14 Sep 2011 21:15:09 +0000 (21:15 +0000)]
bfin.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/bfin/bfin.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178864
François Dumont [Wed, 14 Sep 2011 19:50:20 +0000 (19:50 +0000)]
hashtable.h (_Hashtable<>::_M_rehash): Take and restore hash policy _M_prev_resize on exception.
2011-09-14 François Dumont <fdumont@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore
hash policy _M_prev_resize on exception.
(_Hashtable<>::_M_insert_bucket): Capture hash policy next resize
before using it and use latter method to have it restored on exception.
(_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise.
(_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise.
(_Hashtable<>::rehash): Likewise.
* testsuite/23_containers/unordered_set/insert/hash_policy.cc: New.
* testsuite/23_containers/unordered_multiset/insert/hash_policy.cc:
Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r178861
Diego Novillo [Wed, 14 Sep 2011 19:32:03 +0000 (15:32 -0400)]
name-lookup.c (lookup_arg_dependent): Use conditional timevars.
* name-lookup.c (lookup_arg_dependent): Use conditional
timevars.
* decl.c (xref_tag): Likewise.
From-SVN: r178860
Ian Lance Taylor [Wed, 14 Sep 2011 18:48:08 +0000 (18:48 +0000)]
Fix defer/recover at high optimization levels.
From-SVN: r178859
Paolo Carlini [Wed, 14 Sep 2011 16:19:59 +0000 (16:19 +0000)]
re PR c++/50391 ([C++0x] ICE on invalid code, pair with incomplete type)
/cp
2011-09-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50391
* pt.c (regenerate_decl_from_template): Don't pass an error_mark_node
to build_exception_variant.
/testsuite
2011-09-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50391
* g++.dg/cpp0x/noexcept15.C: New.
From-SVN: r178857
Tom de Vries [Wed, 14 Sep 2011 15:42:35 +0000 (15:42 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2011-09-14 Tom de Vries <tom@codesourcery.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r178856
Tom de Vries [Wed, 14 Sep 2011 14:33:35 +0000 (14:33 +0000)]
re PR middle-end/50251 (Revision 178353 caused many test failures)
2011-09-14 Tom de Vries <tom@codesourcery.com>
PR middle-end/50251
* gcc.dg/pr50251.c: New test.
From-SVN: r178854
Tom de Vries [Wed, 14 Sep 2011 14:32:07 +0000 (14:32 +0000)]
re PR middle-end/50251 (Revision 178353 caused many test failures)
2011-09-14 Tom de Vries <tom@codesourcery.com>
PR middle-end/50251
* explow.c (emit_stack_restore): Set crtl->need_drap if
stack_restore is emitted.
From-SVN: r178853
Julian Brown [Wed, 14 Sep 2011 13:47:42 +0000 (13:47 +0000)]
arm.c (arm_override_options): Add unaligned_access support.
gcc/
* config/arm/arm.c (arm_override_options): Add unaligned_access
support.
(arm_file_start): Emit attribute for unaligned access as
appropriate.
* config/arm/arm.md (UNSPEC_UNALIGNED_LOAD)
(UNSPEC_UNALIGNED_STORE): Add constants for unspecs.
(insv, extzv): Add unaligned-access support.
(extv): Change to expander. Likewise.
(extzv_t1, extv_regsi): Add helpers.
(unaligned_loadsi, unaligned_loadhis, unaligned_loadhiu)
(unaligned_storesi, unaligned_storehi): New.
(*extv_reg): New (previous extv implementation).
* config/arm/arm.opt (munaligned_access): Add option.
* config/arm/constraints.md (Uw): New constraint.
* expmed.c (store_bit_field_1): Adjust bitfield numbering according
to size of access, not size of unit, when BITS_BIG_ENDIAN !=
BYTES_BIG_ENDIAN. Don't use bitfield accesses for
volatile accesses when -fstrict-volatile-bitfields is in effect.
(extract_bit_field_1): Likewise.
From-SVN: r178852
Richard Sandiford [Wed, 14 Sep 2011 12:17:03 +0000 (12:17 +0000)]
simplify-rtx.c (simplify_subreg): Check that the inner mode is a scalar integer before applying integer-only...
gcc/
* simplify-rtx.c (simplify_subreg): Check that the inner mode is
a scalar integer before applying integer-only optimisations to
inner arithmetic.
From-SVN: r178848
Bernd Schmidt [Wed, 14 Sep 2011 11:15:09 +0000 (11:15 +0000)]
mips.c (mips_expand_epilogue): Generate a simple_return only if the return address is in r31.
* config/mips/mips.c (mips_expand_epilogue): Generate a
simple_return only if the return address is in r31.
From-SVN: r178847
Tobias Burnus [Wed, 14 Sep 2011 06:27:25 +0000 (08:27 +0200)]
Really add:
2011-09-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34547
PR fortran/50375
* gfortran.dg/null_5.f90: New.
* gfortran.dg/null_6.f90: New.
From-SVN: r178842
Tobias Burnus [Wed, 14 Sep 2011 06:26:07 +0000 (08:26 +0200)]
re PR fortran/34547 (NULL(): Fortran 2003 changes, accepts invalid, ICE on invalid)
2011-09-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34547
PR fortran/50375
* check.c (gfc_check_null): Allow allocatables as MOLD to NULL.
* resolve.c (resolve_transfer): Reject NULL without MOLD.
* interface.c (gfc_procedure_use): Reject NULL without MOLD
if no explicit interface is known.
(gfc_search_interface): Reject NULL without MOLD if it would
lead to ambiguity.
2011-09-14 Tobias Burnus <burnus@net-b.de>
PR fortran/34547
PR fortran/50375
* gfortran.dg/null_5.f90: New.
* gfortran.dg/null_6.f90: New.
From-SVN: r178841
GCC Administrator [Wed, 14 Sep 2011 00:18:08 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178839
Ian Lance Taylor [Tue, 13 Sep 2011 21:34:24 +0000 (21:34 +0000)]
Always dereference nil receiver passed to value method.
From-SVN: r178835
Bernd Schmidt [Tue, 13 Sep 2011 20:40:53 +0000 (20:40 +0000)]
cfgcleanup.c (try_head_merge_bb): If get_condition returns NULL for a jump that is a cc0 insn...
* cfgcleanup.c (try_head_merge_bb): If get_condition returns
NULL for a jump that is a cc0 insn, pick the previous insn for
move_before.
* gcc.c-torture/compile/
20110913-1.c: New test.
From-SVN: r178834
Diego Novillo [Tue, 13 Sep 2011 20:24:47 +0000 (16:24 -0400)]
testsuite-management: New.
* testsuite-management: New.
* testsuite-management/validate_failures.py: New.
From-SVN: r178833
Janus Weil [Tue, 13 Sep 2011 18:37:33 +0000 (20:37 +0200)]
re PR fortran/50379 (ICE in gfc_typenode_for_spec at fortran/trans-types.c)
2011-09-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/50379
* symbol.c (check_conflict): Check conflict between GENERIC and RESULT
attributes.
2011-09-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/50379
* gfortran.dg/result_2.f90: New.
From-SVN: r178829
Ian Lance Taylor [Tue, 13 Sep 2011 18:24:45 +0000 (18:24 +0000)]
Fix inheriting hidden methods with arguments of hidden type.
From-SVN: r178827
Richard Sandiford [Tue, 13 Sep 2011 18:17:03 +0000 (18:17 +0000)]
v850.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/v850/v850.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178826
Richard Sandiford [Tue, 13 Sep 2011 18:14:26 +0000 (18:14 +0000)]
pa.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/pa/pa.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178825
Richard Sandiford [Tue, 13 Sep 2011 18:14:00 +0000 (18:14 +0000)]
mn10300.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/mn10300/mn10300.md: Use match_test rather than eq/ne
symbol_ref throughout file.
From-SVN: r178824
Richard Sandiford [Tue, 13 Sep 2011 18:13:24 +0000 (18:13 +0000)]
m68k.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/m68k/m68k.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178823
Richard Sandiford [Tue, 13 Sep 2011 18:12:53 +0000 (18:12 +0000)]
h8300.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/h8300/h8300.md: Use match_test rather than eq/ne symbol_ref
throughout file.
From-SVN: r178822
Richard Sandiford [Tue, 13 Sep 2011 18:11:00 +0000 (18:11 +0000)]
arm.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
* config/arm/arm.md: Use match_test rather than eq/ne symbol_ref
throughout file.
* config/arm/neon.md: Likewise.
* config/arm/vfp.md: Likewise.
* config/arm/thumb2.md: Likewise.
* config/arm/cortex-m4.md: Likewise.
From-SVN: r178821
Ian Lance Taylor [Tue, 13 Sep 2011 17:21:40 +0000 (17:21 +0000)]
Fix inherited hidden methods that return hidden types.
From-SVN: r178818
Sevak Sargsyan [Tue, 13 Sep 2011 16:21:38 +0000 (16:21 +0000)]
neon.md (neon_vabd<mode>_2, [...]): New define_insn patterns for combine.
2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
* config/arm/neon.md (neon_vabd<mode>_2, neon_vabd<mode>_3): New
define_insn patterns for combine.
* gcc.target/arm/neon-combine-sub-abs-into-vabd.c: New test.
From-SVN: r178817
Giuseppe Scrivano [Tue, 13 Sep 2011 14:42:29 +0000 (14:42 +0000)]
reorg.c: Always define make_return_insns.
gcc/
2011-09-13 Giuseppe Scrivano <gscrivano@gnu.org>
* reorg.c: Always define make_return_insns.
From-SVN: r178813
Dodji Seketeli [Tue, 13 Sep 2011 14:39:15 +0000 (14:39 +0000)]
c++/48320 - Template parameter packs cannot be expanded in default template arguments
gcc/cp/
PR c++/48320
* pt.c (template_parameter_pack_p): Support TEMPLATE_PARM_INDEX
nodes. Add a comment.
(arg_from_parm_pack_p): New static function, factorized out from
tsubst_pack_expansion and extended to support non-type parameter
packs represented with TEMPLATE_PARM_INDEX nodes.
(tsubst_pack_expansion): Use arg_from_parm_pack_p.
gcc/testsuite/
PR c++/48320
* g++.dg/cpp0x/variadic116.C: New test case.
From-SVN: r178811
Jan Hubicka [Tue, 13 Sep 2011 14:28:39 +0000 (16:28 +0200)]
re PR other/49533 (Revision 174989 (ipa-inline-transform.c) regressions)
PR other/49533
* cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.
From-SVN: r178810
Jan Hubicka [Tue, 13 Sep 2011 14:03:04 +0000 (16:03 +0200)]
ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
other/49533
* ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
From-SVN: r178809
Paul Brook [Tue, 13 Sep 2011 12:48:33 +0000 (12:48 +0000)]
arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2011-09-13 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
(ARM_TARGET2_DWARF_FORMAT): Provide default definition.
* config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
* config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
* config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
* config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
* config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
* config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
enabling unwind tables.
(c6x_debug_unwind_info): New function.
(TARGET_ARM_EABI_UNWINDER): Define.
(TARGET_DEBUG_UNWIND_INFO): Define.
* config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
(TARGET_EXTRA_CFI_SECTION): Remove.
* config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
* ginclude/unwind-arm-common.h: New file.
libgcc/
* config.host (tic6x-*-*): Add c6x/t-c6x-elf. Set unwind_header.
* unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG.
* unwind-arm-common.inc: New file.
* config/arm/unwind-arm.c: Use unwind-arm-common.inc.
* config/arm/unwind-arm.h: Use unwind-arm-common.h.
(_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define.
* config/c6x/libunwind.S: New file.
* config/c6x/pr-support.c: New file.
* config/c6x/unwind-c6x.c: New file.
* config/c6x/unwind-c6x.h: New file.
* config/c6x/t-c6x-elf: New file.
libstdc++-v3/
* libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
* libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
__ARM_EABI_UNWINDER__ check.
(parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
(get_ttype_entry): Use generic implementation on ARM EABI.
(check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
UNWIND_STACK_REG.
(PERSONALITY_FUNCTION): Set ttype_base.
From-SVN: r178808
Georg-Johann Lay [Tue, 13 Sep 2011 09:23:36 +0000 (09:23 +0000)]
re PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the enhanced core)
PR target/50358
* config/avr/predicates.md (const_1_to_6_operand): New predicate.
* config/avr/avr.md: (extend_s): New code attribute.
(mul_r_d): New code attribute.
(*maddqihi4, *umaddqihi4): New insns.
(*msubqihi4, *umsubqihi4): New insns.
(*usmaddqihi4, *sumaddqihi4): New insns.
(*usmsubqihi4, *susubdqihi4): New insns.
(*umaddqihi4.uconst, *maddqihi4.sconst): New insn-and-splits.
(*umsubqihi4.uconst, *msubqihi4.sconst): New insn-and-splits.
(*umsubqihi4.uconst.ashift): New insn-and-split.
(*msubqihi4.sconst.ashift): New insn-and-split.
(*sumaddqihi4.uconst): New insn-and-split.
(*sumsubqihi4.uconst): New insn-and-split.
* config/avr/avr.c (avr_rtx_costs): Report costs of above in case
PLUS:HI and MINUS:HI.
From-SVN: r178806
Revital Eres [Tue, 13 Sep 2011 06:01:24 +0000 (06:01 +0000)]
SMS: Minor misc. fixes
From-SVN: r178804
GCC Administrator [Tue, 13 Sep 2011 00:19:50 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r178803
Daniel Krugler [Tue, 13 Sep 2011 00:06:25 +0000 (00:06 +0000)]
tuple (_Head_base<>::_M_head, [...]): Change to static constexpr functions; adjust everywhere.
2011-09-12 Daniel Krugler <daniel.kruegler@googlemail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail,
_Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static
constexpr functions; adjust everywhere.
(__get_helper, get): Declare constexpr all three overloads.
(tuple_cat): Declare constexpr; use late return type to improve
error messages.
* include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get,
__pair_get<>::__const_get, get): Declare all constexpr.
* include/std/array (get): Likewise.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable
tuple_cat test.
* testsuite/23_containers/array/constexpr_get.cc: New.
* testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise.
* testsuite/20_util/pair/constexpr_get.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r178799
Bernd Schmidt [Mon, 12 Sep 2011 23:38:21 +0000 (23:38 +0000)]
rtl.c (copy_rtx): Do not handle frame_related, jump or call flags specially.
* rtl.c (copy_rtx): Do not handle frame_related, jump or call
flags specially.
From-SVN: r178798
Jakub Jelinek [Mon, 12 Sep 2011 19:29:31 +0000 (21:29 +0200)]
re PR bootstrap/50010 (bootstrap comparison failure without CFI directives)
PR bootstrap/50010
* dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between
NOTE_INSN_CFI notes, with the exception of
NOTE_INSN_SWITCH_TEXT_SECTIONS.
From-SVN: r178795
Richard Sandiford [Mon, 12 Sep 2011 19:25:59 +0000 (19:25 +0000)]
mips.c (mips_epilogue): New structure.
gcc/
2011-09-11 Bernd Schmidt <bernds@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c (mips_epilogue): New structure.
(mips16e_save_restore_reg): Queue REG_CFA_RESTORE notes when
restoring registers.
(mips_epilogue_emit_cfa_restores): New function.
(mips_epilogue_set_cfa): Likewise.
(mips_restore_reg): Queue REG_CFA_RESTORE notes. When restoring
the current CFA register from the stack, redefine the CFA in terms
of the stack pointer.
(mips_expand_epilogue): Set up mips_epilogue. Attach CFA information
to the epilogue instructions.
gcc/testsuite/
* gcc.target/mips/mips.exp (mips_option_groups): Add debug options.
* gcc.target/mips/interrupt_handler-2.c: New test.
* gcc.target/mips/interrupt_handler-3.c: Likewise.
From-SVN: r178794
Richard Sandiford [Mon, 12 Sep 2011 19:25:39 +0000 (19:25 +0000)]
mips.c (mips16e_save_restore_reg): Add a reg_parm_p argument.
gcc/
* config/mips/mips.c (mips16e_save_restore_reg): Add a reg_parm_p
argument.
(mips16e_build_save_restore): Update accordingly.
From-SVN: r178793
Jason Merrill [Mon, 12 Sep 2011 18:05:03 +0000 (14:05 -0400)]
pt.c (type_unification_real): Fix handling of DEDUCE_CONV with no deducible template parameters.
* pt.c (type_unification_real): Fix handling of DEDUCE_CONV
with no deducible template parameters.
* call.c (rejection_reason_code): Add rr_template_conversion.
(print_z_candidate): Handle it.
(template_conversion_rejection): New.
(build_user_type_conversion_1): Use it.
From-SVN: r178791
Jason Merrill [Mon, 12 Sep 2011 18:04:55 +0000 (14:04 -0400)]
call.c (merge_conversion_sequences): Set bad_p and user_conv_p on all of the second conversion sequence.
* call.c (merge_conversion_sequences): Set bad_p and user_conv_p
on all of the second conversion sequence.
(build_user_type_conversion_1): Set bad_p on the ck_user conv.
(convert_like_real): Handle bad ck_ref_bind with user_conv_p in the
first section. Fix loop logic.
(initialize_reference): Call convert_like for diagnostics when
we have a (bad) conversion.
From-SVN: r178790
Jason Merrill [Mon, 12 Sep 2011 18:04:46 +0000 (14:04 -0400)]
* call.c (convert_class_to_reference)
(convert_class_to_reference_1): Remove.
(reference_binding): Use build_user_type_conversion_1 instead.
From-SVN: r178789
Jason Merrill [Mon, 12 Sep 2011 18:04:39 +0000 (14:04 -0400)]
call.c (initialize_reference): Add flags parm.
* call.c (initialize_reference): Add flags parm.
* decl.c (grok_reference_init): Likewise.
(check_initializer): Pass it.
* typeck.c (convert_for_initialization): Likewise.
* cp-tree.h: Adjust.
From-SVN: r178788
Jason Merrill [Mon, 12 Sep 2011 18:04:31 +0000 (14:04 -0400)]
cp-tree.h (LOOKUP_NO_RVAL_BIND): New.
* cp-tree.h (LOOKUP_NO_RVAL_BIND): New.
* call.c (conditional_conversion): Use it.
(reference_binding): Fix handling of xvalues.
From-SVN: r178787
Jason Merrill [Mon, 12 Sep 2011 18:04:23 +0000 (14:04 -0400)]
call.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P before forcing instantiation.
* call.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P
before forcing instantiation.
From-SVN: r178786