platform/upstream/gcc.git
12 years agore PR libstdc++/50441 ([C++0x] <type_traits> is missing GNU extension types)
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

12 years agosparc.md (UNSPEC_EDGE8, [...]): New unspecs.
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

12 years agosse.md (VIMAX_AVX2): Change V4DI to V2TI.
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

12 years agoi386.c (ix86_build_const_vector): Handle V8SImode and V4DImode.
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

12 years agore PR fortran/50403 (SIGSEGV in gfc_use_derived)
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

12 years agohashtable.h (_Hashtable<>::__rehash_policy(const _RehashPolicy&)): Commit the modific...
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

12 years agoitanium2.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agoDaily bump.
GCC Administrator [Sat, 17 Sep 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r178925

12 years agoImprove errors for invalid use of [...]type.
Ian Lance Taylor [Sat, 17 Sep 2011 00:11:27 +0000 (00:11 +0000)]
Improve errors for invalid use of [...]type.

From-SVN: r178921

12 years agoBlock forever on send/receive to/from nil channel.
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

12 years agovisintrin.h: New file.
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

12 years agore PR c++/50424 (G++ doesn't notice possible throw from default argument)
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

12 years agoi386.c (ix86_expand_reduc_v4sf): Rename to ...
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

12 years agosse.md (vec_extract_hi_<mode>, [...]): Use vextracti128 instead of vextractf128 for...
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

12 years agoavr.md: (umulqihi3, mulqihi3): Write as one pattern.
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

12 years agore PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the enhanced...
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

12 years agoless_or_equal.cc: New.
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

12 years agoUpdate Go library to r60.
Ian Lance Taylor [Fri, 16 Sep 2011 15:47:21 +0000 (15:47 +0000)]
Update Go library to r60.

From-SVN: r178910

12 years agore PR lto/50430 (Constructors of static external vars are throwed away leading to...
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

12 years ago* gcc.target/i386/avx-round-vec.c: Declare round.
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

12 years agofoldconst-3.c: Don't use short enums.
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

12 years agoFix defer when not calling recover in function with named results.
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

12 years agotuple (make_tuple, [...]): Declare constexpr.
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

12 years agoDaily bump.
GCC Administrator [Fri, 16 Sep 2011 00:19:05 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178902

12 years agoMakefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from @SYSROOT_CFLAGS_FOR_TARGET@.
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

12 years agore PR testsuite/50322 ([avr]: fail: gcc.dg/tree-ssa/ivopts-lt.c)
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

12 years agoi386.c (output_fp_compare): Return %v prefixed instruction mnemonics for TARGET_AVX.
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

12 years agore PR fortran/50401 (SIGSEGV in resolve_transfer)
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

12 years agoarm.h (TARGET_CPU_CPP_BUILTINS): New builtin macro.
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

12 years agore PR c++/50365 (non-static data member error on valid code)
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

12 years agore PR c++/50361 ([C++0x] [4.7 Regression] ICE with std::initializer_list and nullptr)
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

12 years agoipa-inline-analysis.c (add_condition): Add conditions parameter; simplify obviously...
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

12 years agotree-vect-data-refs.c (vect_analyze_data_ref_dependence): Allow read-after-read depen...
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

12 years agoUpdate dependencies.
Arnaud Charlet [Thu, 15 Sep 2011 10:31:13 +0000 (10:31 +0000)]
Update dependencies.

From-SVN: r178879

12 years ago[multiple changes]
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

12 years ago[multiple changes]
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

12 years agoDaily bump.
GCC Administrator [Thu, 15 Sep 2011 00:19:11 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178875

12 years agoFix handling of structs with embedded global types.
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

12 years agosparc.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agosh.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agos390.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agors6000.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agomicroblaze.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agobfin.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agohashtable.h (_Hashtable<>::_M_rehash): Take and restore hash policy _M_prev_resize...
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

12 years agoname-lookup.c (lookup_arg_dependent): Use conditional timevars.
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

12 years agoFix defer/recover at high optimization levels.
Ian Lance Taylor [Wed, 14 Sep 2011 18:48:08 +0000 (18:48 +0000)]
Fix defer/recover at high optimization levels.

From-SVN: r178859

12 years agore PR c++/50391 ([C++0x] ICE on invalid code, pair with incomplete type)
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

12 years agoMAINTAINERS (Write After Approval): Add myself.
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

12 years agore PR middle-end/50251 (Revision 178353 caused many test failures)
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

12 years agore PR middle-end/50251 (Revision 178353 caused many test failures)
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

12 years agoarm.c (arm_override_options): Add unaligned_access support.
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

12 years agosimplify-rtx.c (simplify_subreg): Check that the inner mode is a scalar integer befor...
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

12 years agomips.c (mips_expand_epilogue): Generate a simple_return only if the return address...
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

12 years agoReally add:
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

12 years agore PR fortran/34547 (NULL(): Fortran 2003 changes, accepts invalid, ICE on invalid)
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

12 years agoDaily bump.
GCC Administrator [Wed, 14 Sep 2011 00:18:08 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r178839

12 years agoAlways dereference nil receiver passed to value method.
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

12 years agocfgcleanup.c (try_head_merge_bb): If get_condition returns NULL for a jump that is...
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

12 years agotestsuite-management: New.
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

12 years agore PR fortran/50379 (ICE in gfc_typenode_for_spec at fortran/trans-types.c)
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

12 years agoFix inheriting hidden methods with arguments of hidden type.
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

12 years agov850.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agopa.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agomn10300.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agom68k.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agoh8300.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agoarm.md: Use match_test rather than eq/ne symbol_ref throughout file.
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

12 years agoFix inherited hidden methods that return hidden types.
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

12 years agoneon.md (neon_vabd<mode>_2, [...]): New define_insn patterns for combine.
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

12 years agoreorg.c: Always define make_return_insns.
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

12 years agoc++/48320 - Template parameter packs cannot be expanded in default template arguments
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

12 years agore PR other/49533 (Revision 174989 (ipa-inline-transform.c) regressions)
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

12 years agoipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
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

12 years agoarm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
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

12 years agore PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the enhanced...
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

12 years agoSMS: Minor misc. fixes
Revital Eres [Tue, 13 Sep 2011 06:01:24 +0000 (06:01 +0000)]
SMS: Minor misc. fixes

From-SVN: r178804

12 years agoDaily bump.
GCC Administrator [Tue, 13 Sep 2011 00:19:50 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178803

12 years agotuple (_Head_base<>::_M_head, [...]): Change to static constexpr functions; adjust...
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

12 years agortl.c (copy_rtx): Do not handle frame_related, jump or call flags specially.
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

12 years agore PR bootstrap/50010 (bootstrap comparison failure without CFI directives)
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

12 years agomips.c (mips_epilogue): New structure.
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

12 years agomips.c (mips16e_save_restore_reg): Add a reg_parm_p argument.
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

12 years agopt.c (type_unification_real): Fix handling of DEDUCE_CONV with no deducible template...
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

12 years agocall.c (merge_conversion_sequences): Set bad_p and user_conv_p on all of the second...
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

12 years ago* call.c (convert_class_to_reference)
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

12 years agocall.c (initialize_reference): Add flags parm.
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

12 years agocp-tree.h (LOOKUP_NO_RVAL_BIND): New.
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

12 years agocall.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P before forcing insta...
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

12 years agore PR rtl-optimization/50212 (ICE: in ei_container, at basic-block.h:610 with -fnon...
Jakub Jelinek [Mon, 12 Sep 2011 17:55:36 +0000 (19:55 +0200)]
re PR rtl-optimization/50212 (ICE: in ei_container, at basic-block.h:610 with -fnon-call-exceptions -freorder-blocks-and-partition)

PR rtl-optimization/50212
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Skip also lps with NULL landing_pad or non-LABEL_P landing_pad.

* g++.dg/other/pr50212.C: New test.

From-SVN: r178785

12 years agore PR debug/50299 (entryval: bigendian 32bit->64bit extension breaks address match)
Jakub Jelinek [Mon, 12 Sep 2011 15:49:38 +0000 (17:49 +0200)]
re PR debug/50299 (entryval: bigendian 32bit->64bit extension breaks address match)

PR debug/50299
* calls.c (load_register_parameters): Use use_reg_mode instead
of use_reg when adding a single register CALL_INSN_FUNCTION_USAGE
entry.
(expand_call): Set EXPR_LIST mode to TYPE_MODE of the argument
for stack CALL_INSN_FUNCTION_USAGE uses.
* expr.h (use_reg_mode): New prototype.
(use_reg): Changed into inline around use_reg_mode.
* expr.c (use_reg): Renamed to...
(use_reg_mode): ... this.  Added MODE argument, set EXPR_LIST
mode to that mode instead of VOIDmode.
* var-tracking.c (prepare_call_arguments): Don't track parameters
whose EXPR_LIST mode is VOIDmode, BLKmode or X mode isn't convertible
to it using lowpart_subreg.  Convert VALUE and REG/MEM to the
EXPR_LIST mode.

From-SVN: r178784

12 years agore PR target/43746 (-fmerge-constants and -fmerge-all-constants don't work at AVR...
Georg-Johann Lay [Mon, 12 Sep 2011 10:06:46 +0000 (10:06 +0000)]
re PR target/43746 (-fmerge-constants and -fmerge-all-constants don't work at AVR target)

gcc/
PR target/43746
* config/avr/avr.c (AVR_SECTION_PROGMEM): New Define.
(progmem_section): New Variable.
(avr_asm_init_sections): Initialize it.
(TARGET_ASM_SELECT_SECTION): Define to...
(avr_asm_select_section): ... this new Function.
(avr_replace_prefix): New Function.
(avr_asm_function_rodata_section): Use it.
(avr_insert_attributes): Don't add section attribute for PROGMEM.
(avr_section_type_flags): Use avr_progmem_p instead of section
name to detect if object is in PROGMEM.
(avr_asm_named_section): Set section name prefix for objects in
PROGMEM.

testsuite/
PR target/43746
* testsuite/gcc.target/avr/torture/avr-torture.exp
(AVR_TORTURE_OPTIONS): Add test cases "-O2 -fdata-sections" and
"-O2 -fmerge-all-constants".

From-SVN: r178779

12 years agore PR bootstrap/50352 (arm-linux-gnueabi bootstrap failure due to -Wformat error...
Jakub Jelinek [Mon, 12 Sep 2011 09:33:36 +0000 (11:33 +0200)]
re PR bootstrap/50352 (arm-linux-gnueabi bootstrap failure due to -Wformat error in arm.md)

PR bootstrap/50352
* config/arm/arm.md (*push_fp_multi): Add % before %( and %) in the
sprintf format string.

From-SVN: r178778

12 years agore PR middle-end/50343 (FAIL: gfortran.dg/graphite/id-22.f)
Richard Guenther [Mon, 12 Sep 2011 06:01:15 +0000 (06:01 +0000)]
re PR middle-end/50343 (FAIL: gfortran.dg/graphite/id-22.f)

2011-09-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50343
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check
that the reduction is over an SSA name before checking its
definition.

From-SVN: r178775

12 years agoDaily bump.
GCC Administrator [Mon, 12 Sep 2011 00:19:00 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r178774

12 years agore PR libstdc++/50159 ([C++0x] tuple_cat only accepts two arguments)
Daniel Krugler [Sun, 11 Sep 2011 22:10:21 +0000 (22:10 +0000)]
re PR libstdc++/50159 ([C++0x] tuple_cat only accepts two arguments)

2011-09-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

PR libstdc++/50159
* include/std/tuple (tuple_cat): Reimplement according to the
resolution of LWG 1385.
* include/std/type_traits: Define __and_ and __or_ for zero
arguments too; minor tweaks.
* testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable
for now tuple_cat test.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* doc/xml/manual/status_cxx200x.xml: Update.

From-SVN: r178770

12 years agore PR fortran/50327 (Front-end optimization generates wrong code for BLAS's srotmg)
Thomas Koenig [Sun, 11 Sep 2011 20:48:26 +0000 (20:48 +0000)]
re PR fortran/50327 (Front-end optimization generates wrong code for BLAS's srotmg)

2011-09-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50327
* frontend-passes.c (dummy_expr_callback):  New function.
(convert_do_while):  New function.
(optimize_namespace):  Call code walker to convert do while loops.

2011-09-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50327
* gfortran.dg/do_while_1.f90:  New test.

From-SVN: r178768

12 years agore PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)
Janus Weil [Sun, 11 Sep 2011 20:12:24 +0000 (22:12 +0200)]
re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)

2011-09-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
PR fortran/47978
* interface.c (check_dummy_characteristics): New function to check the
characteristics of dummy arguments.
(gfc_compare_interfaces,gfc_check_typebound_override): Call it here.

2011-09-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
PR fortran/47978
* gfortran.dg/dynamic_dispatch_5.f03: Fix invalid test case.
* gfortran.dg/proc_decl_26.f90: New.
* gfortran.dg/typebound_override_2.f90: New.
* gfortran.dg/typebound_proc_6.f03: Changed wording in error message.

From-SVN: r178767

12 years agoutils.c (maybe_unconstrained_array): In the reference to unconstrained array case...
Eric Botcazou [Sun, 11 Sep 2011 19:14:51 +0000 (19:14 +0000)]
utils.c (maybe_unconstrained_array): In the reference to unconstrained array case, deal with each branch of a COND_EXPR.

* gcc-interface/utils.c (maybe_unconstrained_array): In the reference
to unconstrained array case, deal with each branch of a COND_EXPR.
* gcc-interface/utils2.c (build_allocator): Deal with each branch of
a COND_EXPR in the initializer, if present.

From-SVN: r178766

12 years agodecl.c (maybe_pad_type): Do not try to change the form of an addressable type.
Eric Botcazou [Sun, 11 Sep 2011 18:56:40 +0000 (18:56 +0000)]
decl.c (maybe_pad_type): Do not try to change the form of an addressable type.

* gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
of an addressable type.
* gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
Deal with those cases for which creating a temporary is mandatory.

From-SVN: r178764