gcc.git
11 years ago* .gitignore: Import from gdb repository.
Jason Merrill [Thu, 10 Jan 2013 15:48:46 +0000 (10:48 -0500)]
* .gitignore: Import from gdb repository.

From-SVN: r195087

11 years agobuiltins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
Richard Biener [Thu, 10 Jan 2013 13:58:51 +0000 (13:58 +0000)]
builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.

2013-01-10  Richard Biener  <rguenther@suse.de>

* builtins.c (expand_builtin_init_trampoline): Use
set_mem_attributes.

From-SVN: r195086

11 years agoFix g++.dg/tls/thread_local* on Solaris 9
Rainer Orth [Thu, 10 Jan 2013 13:55:33 +0000 (13:55 +0000)]
Fix g++.dg/tls/thread_local* on Solaris 9

* g++.dg/tls/thread_local-cse.C: Don't xfail on *-*-solaris2.9.
Add tls options.
* g++.dg/tls/thread_local2.C: Likewise.
* g++.dg/tls/thread_local2g.C: Likewise.
* g++.dg/tls/thread_local6.C: Likewise.
* g++.dg/tls/thread_local-order1.C: Add tls options.
* g++.dg/tls/thread_local-order2.C: Likewise.
* g++.dg/tls/thread_local3.C: Likewise.
* g++.dg/tls/thread_local3g.C: Likewise.
* g++.dg/tls/thread_local4.C: Likewise.
* g++.dg/tls/thread_local4g.C: Likewise.
* g++.dg/tls/thread_local5.C: Likewise.
* g++.dg/tls/thread_local5g.C: Likewise.
* g++.dg/tls/thread_local6g.C: Likewise.

From-SVN: r195085

11 years agore PR bootstrap/55792 (Bad memory access with profiledbootstrap and LTO)
Richard Biener [Thu, 10 Jan 2013 13:42:27 +0000 (13:42 +0000)]
re PR bootstrap/55792 (Bad memory access with profiledbootstrap and LTO)

2013-01-10  Richard Biener  <rguenther@suse.de>

PR bootstrap/55792
* tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
locations for virtual PHI arguments.
(rewrite_update_phi_arguments): Likewise.

From-SVN: r195084

11 years agolibsanitizer mege from upstream r171973
Kostya Serebryany [Thu, 10 Jan 2013 12:44:08 +0000 (12:44 +0000)]
libsanitizer mege from upstream r171973

From-SVN: r195083

11 years agortems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi on to assembler.
Joel Sherrill [Thu, 10 Jan 2013 10:05:29 +0000 (10:05 +0000)]
rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi on to assembler.

* config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
on to assembler.

From-SVN: r195082

11 years agoAdd email address for Nguyen Duy Dat
Nguyen Duy Dat [Thu, 10 Jan 2013 09:59:29 +0000 (09:59 +0000)]
Add email address for Nguyen Duy Dat

From-SVN: r195081

11 years agore PR middle-end/55921 (Crash in verify_ssa for asm to side-steps complex pessimization)
Jakub Jelinek [Thu, 10 Jan 2013 09:25:12 +0000 (10:25 +0100)]
re PR middle-end/55921 (Crash in verify_ssa for asm to side-steps complex pessimization)

PR tree-optimization/55921
* tree-complex.c (expand_complex_asm): New function.
(expand_complex_operations_1): Call it for GIMPLE_ASM.

* gcc.c-torture/compile/pr55921.c: New test.

From-SVN: r195080

11 years agore PR target/55718 (ICE in gen_reg_rtx, at emit-rtl.c:866)
Andreas Krebbel [Thu, 10 Jan 2013 08:15:07 +0000 (08:15 +0000)]
re PR target/55718 (ICE in gen_reg_rtx, at emit-rtl.c:866)

2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

PR target/55718
* config/s390/s390.c (s390_symref_operand_p)
(s390_loadrelative_operand_p): Merge the two functions.
(s390_check_qrst_address, print_operand_address): Add parameters
to s390_loadrelative_operand_p invokation.
(s390_check_symref_alignment): Use s390_loadrelative_operand_p.
(s390_reload_larl_operand, s390_secondary_reload): Use
s390_loadrelative_operand_p instead of s390_symref_operand_p.
(legitimize_pic_address): Handle @GOTENT and @PLT + addend.

From-SVN: r195078

11 years agoaarch64.c (aarch64_print_operand): Replace %r in asm_fprintf with reg_names.
Naveen H.S [Thu, 10 Jan 2013 07:34:49 +0000 (07:34 +0000)]
aarch64.c (aarch64_print_operand): Replace %r in asm_fprintf with reg_names.

* config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
in asm_fprintf with reg_names.
(aarch64_print_operand_address): Likewise.
(aarch64_return_addr): Likewise.
* config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.

From-SVN: r195077

11 years agoUpdate my e-mail address in MAINTAINERS.
Naveen H.S [Thu, 10 Jan 2013 06:21:45 +0000 (06:21 +0000)]
Update my e-mail address in MAINTAINERS.

From-SVN: r195076

11 years agore PR c++/55878 (--enable-checking=yes rejection of typeid)
Jason Merrill [Thu, 10 Jan 2013 02:54:39 +0000 (21:54 -0500)]
re PR c++/55878 (--enable-checking=yes rejection of typeid)

PR c++/55878
* rtti.c (build_typeid, get_typeid): Add complain parm.
(get_tinfo_decl_dynamic): Likewise.
* cp-tree.h, parser.c, pt.c: Adjust.

From-SVN: r195075

11 years ago* dse.c (record_store): Remove unnecessary assert.
Mike Stump [Thu, 10 Jan 2013 01:17:13 +0000 (01:17 +0000)]
* dse.c (record_store): Remove unnecessary assert.

From-SVN: r195074

11 years agoDaily bump.
GCC Administrator [Thu, 10 Jan 2013 00:19:05 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r195072

11 years agore PR tree-optimization/55569 (ICE: in check_probability, at basic-block.h:944 with...
Jan Hubicka [Wed, 9 Jan 2013 21:29:07 +0000 (22:29 +0100)]
re PR tree-optimization/55569 (ICE: in check_probability, at basic-block.h:944 with -ftree-vectorize)

PR tree-optimization/55569
* cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
* cfgloop.h (scale_loop_profile): Likewise.

From-SVN: r195067

11 years agore PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
Jan Hubicka [Wed, 9 Jan 2013 21:22:26 +0000 (22:22 +0100)]
re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)

PR lto/45375
* ipa-inline.c (ipa_inline): Remove extern inlines and virtual functions.
* cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
* lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.

From-SVN: r195066

11 years agore PR fortran/47203 (USE of module with same name as SUBROUTINE not reject, but also...
Mikael Morin [Wed, 9 Jan 2013 20:18:44 +0000 (20:18 +0000)]
re PR fortran/47203 (USE of module with same name as SUBROUTINE not reject, but also not working)

PR fortran/47203
* module.c (check_for_ambiguous): Get the current program unit using
gfc_current_ns.

PR fortran/47203
* gfortran.dg/use_28.f90: New test.

From-SVN: r195065

11 years agointrinsic_size_3.f90: Make scan-tree-dump-times number matching more robust.
Uros Bizjak [Wed, 9 Jan 2013 19:32:07 +0000 (20:32 +0100)]
intrinsic_size_3.f90: Make scan-tree-dump-times number matching more robust.

* gfortran.dg/intrinsic_size_3.f90: Make scan-tree-dump-times
number matching more robust.

From-SVN: r195064

11 years agore PR c++/55893 ([C++11] runtime segfault with static const object with virtual destr...
Jason Merrill [Wed, 9 Jan 2013 18:55:12 +0000 (13:55 -0500)]
re PR c++/55893 ([C++11] runtime segfault with static const object with virtual destructor)

PR c++/55893
* decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
needs destruction.

From-SVN: r195062

11 years agore PR middle-end/55114 (gcc.dg/builtins-53.c ICEs on mips64 soft-float)
Richard Sandiford [Wed, 9 Jan 2013 18:19:16 +0000 (18:19 +0000)]
re PR middle-end/55114 (gcc.dg/builtins-53.c ICEs on mips64 soft-float)

gcc/
PR middle-end/55114
* expr.h (maybe_emit_group_store): Declare.
* expr.c (maybe_emit_group_store): New function.
* builtins.c (expand_builtin_int_roundingfn): Call it.
(expand_builtin_int_roundingfn_2): Likewise.

From-SVN: r195060

11 years agoPR rtl-optimization/pr55829
Vladimir Makarov [Wed, 9 Jan 2013 17:02:11 +0000 (17:02 +0000)]
PR rtl-optimization/pr55829

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

PR rtl-optimization/pr55829
* lra-constraints.c (match_reload): Add code for absent output.
(curr_insn_transform): Add code for reloads of matched inputs
without output.

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

PR rtl-optimization/pr55829
* gcc.target/i386/pr55829.c: New.

From-SVN: r195057

11 years agosse.md (*vec_interleave_highv2df): Change mode attribute of movddup insn to DF.
Uros Bizjak [Wed, 9 Jan 2013 16:53:29 +0000 (17:53 +0100)]
sse.md (*vec_interleave_highv2df): Change mode attribute of movddup insn to DF.

* config/i386/sse.md (*vec_interleave_highv2df): Change mode
attribute of movddup insn to DF.
(*vec_interleave_lowv2df): Ditto.
(vec_dupv2df): Ditto.

From-SVN: r195056

11 years agore PR fortran/55758 (LOGICAL and BIND(C): Reject kind=2/4/8/16 with -std=f2008, impro...
Tobias Burnus [Wed, 9 Jan 2013 16:20:33 +0000 (17:20 +0100)]
re PR fortran/55758 (LOGICAL and BIND(C): Reject kind=2/4/8/16 with -std=f2008, improve warning, switch to nonBOOLEAN_TYPE for those)

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

        PR fortran/55758
        * resolve.c (resolve_symbol): Reject non-C_Bool logicals
        in BIND(C) procedures with -std=f*.

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

        PR fortran/55758
        * gfortran.dg/bind_c_bool_1.f90: New.
        * gfortran.dg/do_5.f90: Add dg-warning.

From-SVN: r195055

11 years agore PR tree-optimization/55875 (IVopts caused miscompilation)
Jan Hubicka [Wed, 9 Jan 2013 15:10:43 +0000 (16:10 +0100)]
re PR tree-optimization/55875 (IVopts caused miscompilation)

PR tree-optimiation/55875
* gcc.c-torture/execute/pr55875.c: New testcase.
* g++.dg/torture/pr55875.C: New testcase.

* tree-ssa-loop-niter.c (number_of_iterations_cond): Add
EVERY_ITERATION parameter.
(number_of_iterations_exit): Check if exit is executed every
iteration.
(idx_infer_loop_bounds): Similarly here.
(n_of_executions_at_most): Simplify
to only test for cases where statement is dominated by the
particular bound; handle correctly the "postdominance"
test.
(scev_probably_wraps_p): Use max loop iterations info
as a global bound first.

From-SVN: r195054

11 years agov850.md (cbranchsf4): New pattern.
Nguyen Duy Dat [Wed, 9 Jan 2013 15:07:08 +0000 (15:07 +0000)]
v850.md (cbranchsf4): New pattern.

* config/v850/v850.md (cbranchsf4): New pattern.
(cstoresf4): New pattern.
(cbranchdf4): New pattern.
(cstoredf4): New pattern.
(movsicc): Disallow floating point comparisons.
(cmpsf_le_insn): Fix order of operators.
(cmpsf_lt_insn): Likewise.
(cmpsf_eq_insn): Likewise.
(cmpdf_le_insn): Likewise.
(cmpdf_lt_insn): Likewise.
(cmpdf_eq_insn): Likewise.
(cmpsf_ge_insn): Use LE comparison.
(cmpdf_ge_insn): Likewise.
(cmpsf_gt_insn): Use LT comparison.
(cmpdf_gt_insn): Likewise.
(cmpsf_ne_insn): Delete pattern.
(cmpdf_ne_insn): Delete pattern.
* config/v850/v850.c (v850_gen_float_compare): Use
gen_cmpdf_eq_insn for NE comparison.
(v850_float_z_comparison_operator)
(v850_float_nz_comparison_operator): Move from here ...
* config/v850/predicates.md: ... to here.  Move GT and GE
comparisons into v850_float_z_comparison_operator.
* config/v850/v850-protos.h (v850_float_z_comparison_operator):
Delete prototype.
(v850_float_nz_comparison_operator): Likewise.

From-SVN: r195053

11 years agoBuild gmp before configuring gcc
H.J. Lu [Wed, 9 Jan 2013 15:00:41 +0000 (15:00 +0000)]
Build gmp before configuring gcc

* Makefile.def (configure-gcc): Depend on all-gmp.
(all-gcc): Remove dependency on all-gmp.
* Makefile.in: Regenerated.

From-SVN: r195052

11 years agore PR c/48418 (Bit shift operator >>=)
Jakub Jelinek [Wed, 9 Jan 2013 14:51:09 +0000 (15:51 +0100)]
re PR c/48418 (Bit shift operator >>=)

PR c/48418
* c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
and is either negative or bigger or equal to type precision
of the first operand.

* typeck.c (cp_build_binary_op): For LSHIFT_EXPR and RSHIFT_EXPR,
call maybe_constant_value for the negative or too big shift
count warnings.

* c-c++-common/pr48418.c: New test.

From-SVN: r195051

11 years agore PR c++/55801 (ICE with thread_local after ill-formed declaration)
Paolo Carlini [Wed, 9 Jan 2013 14:43:50 +0000 (14:43 +0000)]
re PR c++/55801 (ICE with thread_local after ill-formed declaration)

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

PR c++/55801
* decl2.c (var_needs_tls_wrapper): Return false when error_operand_p
of the argument is true.

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

PR c++/55801
* g++.dg/tls/thread_local-ice.C: New.

From-SVN: r195050

11 years agopa.c (pa_emit_move_sequence): Replace calls to gen_insv with calls to gen_insvsi...
John David Anglin [Wed, 9 Jan 2013 13:24:04 +0000 (13:24 +0000)]
pa.c (pa_emit_move_sequence): Replace calls to gen_insv with calls to gen_insvsi/gen_insvdi.

* config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
with calls to gen_insvsi/gen_insvdi.

From-SVN: r195049

11 years ago* gcc.dg/guality/pr54693.c: Null-terminate arr.
Andreas Schwab [Wed, 9 Jan 2013 11:56:08 +0000 (11:56 +0000)]
* gcc.dg/guality/pr54693.c: Null-terminate arr.

From-SVN: r195048

11 years agoSet up X86_TUNE_AVX128_OPTIMAL for m_BTVER2
Venkataramanan Kumar [Wed, 9 Jan 2013 09:22:50 +0000 (09:22 +0000)]
Set up X86_TUNE_AVX128_OPTIMAL for m_BTVER2

From-SVN: r195047

11 years agore PR tree-optimization/48189 (ICE: SIGFPE (division by zero) in in predict_loops...
Jakub Jelinek [Wed, 9 Jan 2013 09:00:22 +0000 (10:00 +0100)]
re PR tree-optimization/48189 (ICE: SIGFPE (division by zero) in in predict_loops () at predict.c:991 with --param max-predicted-iterations=0)

PR tree-optimization/48189
* predict.c (predict_loops): If max is 0, don't call compare_tree_int.
If nitercst is 0, don't predict the exit edge.

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

From-SVN: r195046

11 years agopa.h (VAL_U6_BITS_P): Define.
John David Anglin [Wed, 9 Jan 2013 03:01:07 +0000 (03:01 +0000)]
pa.h (VAL_U6_BITS_P): Define.

* config/pa/pa.h (VAL_U6_BITS_P): Define.
(INT_U6_BITS): Likewise.
* config/pa/predicates.md (uint6_operand): New predicate.
(shift5_operand, shift6_operand): Likewise.
* config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
arith32_operand.
(lshrdi3): Use shift6_operand.
(shrpsi4, shrpdi4): New insn patterns.
(extzv): Delete expander.
(extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
predicates in unamed zero extract patterns.  Tighten common constraint.
(extv): Delete expander.
(extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
predicates in unamed sign extract patterns.  Tighten common constraint.
(insv): Delete expander.
(insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
predicates in unamed insert patterns.  Tighten common constraint.
Change uint32_operand predicate to uint6_operand predicate in unamed
DImode pattern to insert constant values of type 1...1xxxx.

From-SVN: r195045

11 years agoDaily bump.
GCC Administrator [Wed, 9 Jan 2013 00:18:56 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r195043

11 years agoconfig.sub: Merge from config repo.
Jan-Benedict Glaw [Tue, 8 Jan 2013 22:46:38 +0000 (22:46 +0000)]
config.sub: Merge from config repo.

* config.sub: Merge from config repo.
* config.guess: Dito.

From-SVN: r195039

11 years agoMakefile.def: Merge from binutils.
Jan-Benedict Glaw [Tue, 8 Jan 2013 22:34:23 +0000 (22:34 +0000)]
Makefile.def: Merge from binutils.

* Makefile.def: Merge from binutils.
* Makefile.in: Dito.

From-SVN: r195038

11 years ago* doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
Jonathan Wakely [Tue, 8 Jan 2013 21:29:20 +0000 (21:29 +0000)]
* doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.

From-SVN: r195036

11 years agore PR c++/55908 (Problem binding a const member function to a const object)
Jonathan Wakely [Tue, 8 Jan 2013 21:01:14 +0000 (21:01 +0000)]
re PR c++/55908 (Problem binding a const member function to a const object)

PR libstdc++/55908
* include/std/functional (_Mem_fn::operator()): Fix constraints to
avoid ambiguity.
* testsuite/20_util/function_objects/mem_fn/55908.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r195035

11 years agore PR tree-optimization/55823 (ice in inline_call, at ipa-inline-transform.c:270)
Jan Hubicka [Tue, 8 Jan 2013 20:23:05 +0000 (21:23 +0100)]
re PR tree-optimization/55823 (ice in inline_call, at ipa-inline-transform.c:270)

PR tree-optimization/55823
* ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering issue.

From-SVN: r195033

11 years ago* gcc.target/i386/pr55845.c (foo): Remove unneeded initialization.
Uros Bizjak [Tue, 8 Jan 2013 18:38:30 +0000 (19:38 +0100)]
* gcc.target/i386/pr55845.c (foo): Remove unneeded initialization.

From-SVN: r195029

11 years agore PR rtl-optimization/55845 (454.calculix miscompares with -march=btver2 -O3 -ffastm...
Jakub Jelinek [Tue, 8 Jan 2013 18:00:10 +0000 (19:00 +0100)]
re PR rtl-optimization/55845 (454.calculix miscompares with -march=btver2 -O3 -ffastmath -fschedule-insns -mvzeroupper for test data run)

PR rtl-optimization/55845
* df-problems.c (can_move_insns_across): Stop scanning at
volatile_insn_p source instruction or give up if
across_from .. across_to range contains any volatile_insn_p
instructions.

* gcc.target/i386/pr55845.c: New test.

From-SVN: r195028

11 years agoaarch64-simd.md (vec_init<mode>): New.
Tejas Belagod [Tue, 8 Jan 2013 17:19:57 +0000 (17:19 +0000)]
aarch64-simd.md (vec_init<mode>): New.

2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>

* config/aarch64/aarch64-simd.md (vec_init<mode>): New.
* config/aarch64/aarch64-protos.h (aarch64_expand_vector_init): Declare.
* config/aarch64/aarch64.c (aarch64_simd_dup_constant,
aarch64_simd_make_constant, aarch64_expand_vector_init): New.

From-SVN: r195027

11 years agore PR fortran/55341 (address-sanitizer and Fortran)
Jakub Jelinek [Tue, 8 Jan 2013 17:01:58 +0000 (18:01 +0100)]
re PR fortran/55341 (address-sanitizer and Fortran)

PR fortran/55341
* asan.c (asan_clear_shadow): New function.
(asan_emit_stack_protection): Use it.

From-SVN: r195025

11 years agovect-mull-compile.c: Explicitly scan for instructions generated instead of number...
Tejas Belagod [Tue, 8 Jan 2013 16:23:38 +0000 (16:23 +0000)]
vect-mull-compile.c: Explicitly scan for instructions generated instead of number of occurances.

2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>

* gcc.target/aarch64/vect-mull-compile.c: Explicitly scan for
instructions generated instead of number of occurances.

From-SVN: r195024

11 years agoaarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>, [...]): Separate instruction...
Tejas Belagod [Tue, 8 Jan 2013 16:21:51 +0000 (16:21 +0000)]
aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>, [...]): Separate instruction and operand with tab instead of space.

2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>

* config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
with tab instead of space.

From-SVN: r195023

11 years agorl78.md (mulsi3_g13): Correct values for MDBL and MDBH registers.
Nick Clifton [Tue, 8 Jan 2013 15:01:48 +0000 (15:01 +0000)]
rl78.md (mulsi3_g13): Correct values for MDBL and MDBH registers.

* config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
MDBH registers.

From-SVN: r195020

11 years agorl78.c (rl78_expand_prologue): Always select register bank 0 at the start of an inter...
Nick Clifton [Tue, 8 Jan 2013 15:00:22 +0000 (15:00 +0000)]
rl78.c (rl78_expand_prologue): Always select register bank 0 at the start of an interrupt handler.

* config/rl78/rl78.c (rl78_expand_prologue): Always select
register bank 0 at the start of an interrupt handler.

From-SVN: r195019

11 years ago[AARCH64] Add support for floating-point vcond.
James Greenhalgh [Tue, 8 Jan 2013 14:57:33 +0000 (14:57 +0000)]
[AARCH64] Add support for floating-point vcond.

gcc/
* config/aarch64/aarch64-simd.md
(aarch64_simd_bsl<mode>_internal): Add floating-point modes.
(aarch64_simd_bsl): Likewise.
(aarch64_vcond_internal<mode>): Likewise.
(vcond<mode><mode>): Likewise.
(aarch64_cm<cmp><mode>): Fix constraints, add new modes.
* config/aarch64/iterators.md (V_cmp_result): Add V2DF.

gcc/testsuite/
* gcc/testsuite/gcc.target/aarch64/vect-fcm-eq-d.c: New.
* gcc/testsuite/gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
* gcc/testsuite/gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
* gcc/testsuite/gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
* gcc/testsuite/gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc/testsuite/gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
* gcc/testsuite/gcc.target/aarch64/vect-fcm.x: Likewise.
* gcc/testsuite/lib/target-supports.exp
(check_effective_target_vect_cond): Enable for AArch64.

From-SVN: r195018

11 years ago[AARCH64] Fix support for vectorization over sqrt (), sqrtf ().
James Greenhalgh [Tue, 8 Jan 2013 14:49:01 +0000 (14:49 +0000)]
[AARCH64] Fix support for vectorization over sqrt (), sqrtf ().

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.

gcc/testsuite/
* gcc.target/aarch64/vsqrt.c (test_square_root_v2sf): Use
endian-safe float pool loading.
(test_square_root_v4sf): Likewise.
(test_square_root_v2df): Likewise.
* lib/target-supports.exp
(check_effective_target_vect_call_sqrtf): Add AArch64.

From-SVN: r195017

11 years agore PR debug/55579 (SRA doesn't create debug stmts when they would be useful)
Martin Jambor [Tue, 8 Jan 2013 14:10:44 +0000 (15:10 +0100)]
re PR debug/55579 (SRA doesn't create debug stmts when they would be useful)

2013-01-08  Martin Jambor  <mjambor@suse.cz>

PR debug/55579
* tree-sra.c (analyze_access_subtree): Return true also after
potentially creating a debug-only replacement.

testsuite/
* gcc.dg/tree-ssa/pr55579.c: New test.

From-SVN: r195015

11 years agostatement before variable declaration in cp_parser_initializer_list.
Joel Brobecker [Tue, 8 Jan 2013 12:34:12 +0000 (12:34 +0000)]
statement before variable declaration  in cp_parser_initializer_list.

gcc/cp/ChangeLog:

        * parser.c (cp_parser_initializer_list): Move declaration
        of variable non_const to start of lexical block.

From-SVN: r195013

11 years agoFix g++.dg/debug/dwarf2/pr54508.C on Solaris 9/x86
Rainer Orth [Tue, 8 Jan 2013 12:24:54 +0000 (12:24 +0000)]
Fix g++.dg/debug/dwarf2/pr54508.C on Solaris 9/x86

* g++.dg/debug/dwarf2/pr54508.C: Allow for more whitespace after
asm comments.

From-SVN: r195012

11 years agoRestrict -Wa,-nH use to Solaris (PR libstdc++/55594)
Rainer Orth [Tue, 8 Jan 2013 09:47:55 +0000 (09:47 +0000)]
Restrict -Wa,-nH use to Solaris (PR libstdc++/55594)

PR libstdc++/55594
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
Solaris targets.
* configure: Regenerate.

From-SVN: r195009

11 years agore PR tree-optimization/55890 (calling a builtin func through a cast triggers an...
Jakub Jelinek [Tue, 8 Jan 2013 08:38:50 +0000 (09:38 +0100)]
re PR tree-optimization/55890 (calling a builtin func through a cast triggers an ICE)

PR middle-end/55890
* tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.

* gcc.dg/torture/pr55890-3.c: New test.

From-SVN: r195008

11 years agore PR middle-end/54120 (FAIL: gfortran.fortran-torture/execute/random_2.f90 execution)
Jakub Jelinek [Tue, 8 Jan 2013 08:33:43 +0000 (09:33 +0100)]
re PR middle-end/54120 (FAIL: gfortran.fortran-torture/execute/random_2.f90 execution)

PR tree-optimization/54120
* tree-vrp.c (range_fits_type_p): Don't allow
src_precision < precision from signed vr to unsigned_p
if vr->min or vr->max is negative.
(simplify_float_conversion_using_ranges): Test can_float_p
against CODE_FOR_nothing.

From-SVN: r195007

11 years agore PR middle-end/55851 (ICE in size_binop_loc, at fold-const.c:1385)
Jakub Jelinek [Tue, 8 Jan 2013 08:32:12 +0000 (09:32 +0100)]
re PR middle-end/55851 (ICE in size_binop_loc, at fold-const.c:1385)

PR middle-end/55851
* fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
types instead of just INTEGER_TYPE types.

* gcc.c-torture/compile/pr55851.c: New test.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r195006

11 years agore PR sanitizer/55844 (-fsanitize=address -Os -fno-omit-frame-pointer -mno-omit-leaf...
Jakub Jelinek [Tue, 8 Jan 2013 08:14:04 +0000 (09:14 +0100)]
re PR sanitizer/55844 (-fsanitize=address -Os -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 doesn't work)

PR sanitizer/55844
* c-c++-common/asan/null-deref-1.c: Add -fno-shrink-wrap to
dg-options.

From-SVN: r195005

11 years agore PR fortran/55618 (Failures with ISO_Varying_String test suite)
Paul Thomas [Tue, 8 Jan 2013 06:13:52 +0000 (06:13 +0000)]
re PR fortran/55618 (Failures with ISO_Varying_String test suite)

2013-01-08  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55618
* trans-expr.c (gfc_conv_procedure_call): Dereference scalar
character function arguments to elemental procedures in
scalarization loops.

2013-01-08  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/55618
* gfortran.dg/elemental_scalar_args_2.f90: New test.

From-SVN: r195004

11 years agoDaily bump.
GCC Administrator [Tue, 8 Jan 2013 00:19:33 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r195002

11 years agoconfig.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*): Add to lists of i[34567...
Mark Kettenis [Mon, 7 Jan 2013 22:49:56 +0000 (22:49 +0000)]
config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*): Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.

libgcc/

* config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*):
Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.

gcc/

* config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
TF_SIZE): Define.

From-SVN: r194999

11 years agore PR target/42661 (Documented -mmad option not accepted.)
Steve Ellcey [Mon, 7 Jan 2013 22:16:45 +0000 (22:16 +0000)]
re PR target/42661 (Documented -mmad option not accepted.)

2013-01-07  Steve Ellcey  <sellcey@mips.com>

PR target/42661
* config/mips/mips.opt: Change mad to mmad to match documentation.

From-SVN: r194998

11 years agore PR fortran/53876 ([OOP] ICE with class array)
Paul Thomas [Mon, 7 Jan 2013 19:10:32 +0000 (19:10 +0000)]
re PR fortran/53876 ([OOP] ICE with class array)

2013-01-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/53876
PR fortran/54990
PR fortran/54992
* ChangeLog: Correct format error in revision 194953

2013-01-07  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/53876
PR fortran/54990
PR fortran/54992
* ChangeLog: Correct format error in revision 194953

From-SVN: r194994

11 years agore PR target/55897 ([avr] Allocate __memx data to .progmemx.data)
Georg-Johann Lay [Mon, 7 Jan 2013 18:37:47 +0000 (18:37 +0000)]
re PR target/55897 ([avr] Allocate __memx data to .progmemx.data)

PR target/55897
* doc/extend.texi (AVR Named Address Spaces): __memx goes into
.progmemx.data now.

From-SVN: r194992

11 years agore PR target/55897 ([avr] Allocate __memx data to .progmemx.data)
Georg-Johann Lay [Mon, 7 Jan 2013 18:34:40 +0000 (18:34 +0000)]
re PR target/55897 ([avr] Allocate __memx data to .progmemx.data)

PR target/55897
* config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
(avr_addrspace_t): Add .section_name field.
* config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
array size.
(avr_addrspace): Same.  Initialize .section_name.  Remove last
NULL entry.  Put __memx into .progmemx.data.
(progmem_section_prefix): Remove.
(avr_asm_init_sections): No need to initialize progmem_section.
(avr_asm_named_section): Use avr_addrspace[].section_name to get
section name prefix.
(avr_asm_select_section): Ditto.  And use get_unnamed_section to
retrieve the progmem section.
* avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
boundary to run over avr_addrspace[].
(avr_register_target_pragmas): Ditto.

From-SVN: r194991

11 years agore PR fortran/55763 (Issues with some simpler CLASS(*) programs)
Tobias Burnus [Mon, 7 Jan 2013 18:30:11 +0000 (19:30 +0100)]
re PR fortran/55763 (Issues with some simpler CLASS(*) programs)

2013-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55763
        * gfortran.h (gfc_check_assign_symbol): Update prototype.
        * decl.c (add_init_expr_to_sym, do_parm): Update call.
        * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
        improve error location; support components.
        (gfc_check_pointer_assign): Handle component assignments.
        * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
        (resolve_values): Update call.
        (resolve_structure_cons): Avoid double diagnostic.

2013-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55763
        * gfortran.dg/pointer_init_2.f90: Update dg-error.
        * gfortran.dg/pointer_init_7.f90: New.

From-SVN: r194990

11 years agoRemove "-I" from LIBSTDCXX_RAW_CXX_LDFLAGS
H.J. Lu [Mon, 7 Jan 2013 18:23:42 +0000 (18:23 +0000)]
Remove "-I" from LIBSTDCXX_RAW_CXX_LDFLAGS

config/

* libstdc++-raw-cxx.m4 (GCC_LIBSTDCXX_RAW_CXX_FLAGS): Remove
"-I" from LIBSTDCXX_RAW_CXX_LDFLAGS.

libjava/

* Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Replace
LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS.
* Makefile.in: Regenerated.

libsanitizer/

* asan/Makefile.am (libasan_la_LIBADD): Replace
LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS.
* tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
* Makefile.in: Regenerated.
* configure: Likewise.
* asan/Makefile.in: Likewise.
* interception/Makefile.in: Likewise.
* sanitizer_common/Makefile.in: Likewise.
* tsan/Makefile.in: Likewise.

From-SVN: r194989

11 years agore PR c++/55753 ([C++11][4.7/4.8 Regression] ICE constexpr ctor, tsubst_copy_and_buil...
Jason Merrill [Mon, 7 Jan 2013 18:00:18 +0000 (13:00 -0500)]
re PR c++/55753 ([C++11][4.7/4.8 Regression] ICE constexpr ctor, tsubst_copy_and_build, at cp/pt.c:14336)

PR c++/55753
* tree.c (build_aggr_init_expr): Do nothing in a template.
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Strip an ADDR_EXPR off
a FUNCTION_DECL before tsubsting.

From-SVN: r194986

11 years agovarasm.c (output_constant_def_contents): For asan_protect_global protected strings...
Jakub Jelinek [Mon, 7 Jan 2013 17:46:30 +0000 (18:46 +0100)]
varasm.c (output_constant_def_contents): For asan_protect_global protected strings...

* varasm.c (output_constant_def_contents): For asan_protect_global
protected strings, adjust DECL_ALIGN if needed, before testing for
anchored symbols.
(place_block_symbol): Adjust size for asan protected STRING_CSTs if
TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
normal decls.
(output_object_block): For asan protected decls, emit asan padding
after their contents.
* asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
(asan_finish_file): Test it here instead.

From-SVN: r194984

11 years agoSupport -fuse-ld=bfd and -fuse-ld=gold
Nick Clifton [Mon, 7 Jan 2013 16:54:33 +0000 (16:54 +0000)]
Support -fuse-ld=bfd and -fuse-ld=gold

PR driver/55470
* collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.

* common.opt: Add fuse-ld=bfd and fuse-ld=gold.

* gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.

* opts.c (comman_handle_option): Ignore -fuse-ld=bfd and
-fuse-ld=gold.

* doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.

Co-Authored-By: Doug Kwan <dougkwan@google.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
Co-Authored-By: Matthias Klose <doko@debian.org>
From-SVN: r194983

11 years agoTypo
Georg-Johann Lay [Mon, 7 Jan 2013 16:19:17 +0000 (16:19 +0000)]
Typo

From-SVN: r194980

11 years agoFix 32-bit gcc.dg/lto/pr55525 with Sun ld
Richard Biener [Mon, 7 Jan 2013 16:05:20 +0000 (16:05 +0000)]
Fix 32-bit gcc.dg/lto/pr55525 with Sun ld

* gcc.dg/lto/pr55525_0.c (s): Size like char *.

From-SVN: r194979

11 years agoPR target/PR54461
Georg-Johann Lay [Mon, 7 Jan 2013 15:57:08 +0000 (15:57 +0000)]
PR target/PR54461

PR target/PR54461
* doc/install.texi (Cross-Compiler-Specific Options): Document
--with-avrlibc.

From-SVN: r194978

11 years agoarm_neon.h (vmovn_high_is16, [...]): Fix source operand number and update copyright.
Tejas Belagod [Mon, 7 Jan 2013 15:39:53 +0000 (15:39 +0000)]
arm_neon.h (vmovn_high_is16, [...]): Fix source operand number and update copyright.

2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>

        * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
        vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
        vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
        vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
        vqmovun_high_s64): Fix source operand number and update copyright.

From-SVN: r194977

11 years agore PR tree-optimization/55890 (calling a builtin func through a cast triggers an...
Richard Biener [Mon, 7 Jan 2013 15:34:43 +0000 (15:34 +0000)]
re PR tree-optimization/55890 (calling a builtin func through a cast triggers an ICE)

2013-01-07  Richard Biener  <rguenther@suse.de>

PR middle-end/55890
* gimple.h (gimple_call_builtin_p): New overload.
* gimple.c (validate_call): New function.
(gimple_call_builtin_p): Likewise.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
Use gimple_call_builtin_p.
(find_func_clobbers): Likewise.
* tree-ssa-strlen.c (adjust_last_stmt): Likewise.
(strlen_optimize_stmt): Likewise.

* gcc.dg/torture/pr55890-1.c: New testcase.
* gcc.dg/torture/pr55890-2.c: Likewise.

From-SVN: r194975

11 years ago[AARCH64] Make argument of ld1 intrinsics const.
James Greenhalgh [Mon, 7 Jan 2013 15:32:58 +0000 (15:32 +0000)]
[AARCH64] Make argument of ld1 intrinsics const.

gcc/
* config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
(vld1q_dup_*): Likewise.
(vld1_*): Likewise.
(vld1q_*): Likewise.
(vld1_lane_*): Likewise.
(vld1q_lane_*): Likewise.

From-SVN: r194974

11 years agolto-streamer.h (LTO_minor_version): Bump to 2.
Richard Biener [Mon, 7 Jan 2013 15:28:14 +0000 (15:28 +0000)]
lto-streamer.h (LTO_minor_version): Bump to 2.

2013-01-07  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (LTO_minor_version): Bump to 2.

From-SVN: r194973

11 years ago[AARCH64] Add support for vector and scalar floating-point immediate loads.
James Greenhalgh [Mon, 7 Jan 2013 15:22:06 +0000 (15:22 +0000)]
[AARCH64] Add support for vector and scalar floating-point immediate loads.

gcc/

* config/aarch64/aarch64-protos.h
(aarch64_const_double_zero_rtx_p): Rename to...
(aarch64_float_const_zero_rtx_p): ...this.
(aarch64_float_const_representable_p): New.
(aarch64_output_simd_mov_immediate): Likewise.
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
move immediate case.
* config/aarch64/aarch64.c
(aarch64_const_double_zero_rtx_p): Rename to...
(aarch64_float_const_zero_rtx_p): ...this.
(aarch64_print_operand): Allow printing of new constants.
(aarch64_valid_floating_const): New.
(aarch64_legitimate_constant_p): Check for valid floating-point
constants.
(aarch64_simd_valid_immediate): Likewise.
(aarch64_vect_float_const_representable_p): New.
(aarch64_float_const_representable_p): Likewise.
(aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
(aarch64_output_simd_mov_immediate): New.
* config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
(*movdf_aarch64): Likewise.
* config/aarch64/constraints.md (Ufc): New.
(Y): call aarch64_float_const_zero_rtx.
* config/aarch64/predicates.md (aarch64_fp_compare_operand): New.

gcc/testsuite/

* gcc.target/aarch64/fmovd.c: New.
* gcc.target/aarch64/fmovf.c: Likewise.
* gcc.target/aarch64/fmovd-zero.c: Likewise.
* gcc.target/aarch64/fmovf-zero.c: Likewise.
* gcc.target/aarch64/vect-fmovd.c: Likewise.
* gcc.target/aarch64/vect-fmovf.c: Likewise.
* gcc.target/aarch64/vect-fmovd-zero.c: Likewise.
* gcc.target/aarch64/vect-fmovf-zero.c: Likewise.

From-SVN: r194972

11 years agore PR tree-optimization/55888 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c...
Richard Biener [Mon, 7 Jan 2013 14:06:26 +0000 (14:06 +0000)]
re PR tree-optimization/55888 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c:867)

2013-01-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/55888
PR tree-optimization/55862
* tree-ssa-pre.c (phi_translate_1): Revert previous change.
(valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
not if it is contained therein.

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

From-SVN: r194971

11 years agot-avr: Typo.
Georg-Johann Lay [Mon, 7 Jan 2013 13:05:42 +0000 (13:05 +0000)]
t-avr: Typo.

* config/avr/t-avr: Typo.

From-SVN: r194969

11 years agore PR target/55243 (STAMP variable is not defined in t-avr)
Georg-Johann Lay [Mon, 7 Jan 2013 12:45:13 +0000 (12:45 +0000)]
re PR target/55243 (STAMP variable is not defined in t-avr)

PR55243
* config/avr/t-avr: Don't automatically rebuild
$(srcdir)/config/avr/t-multilib
$(srcdir)/config/avr/avr-tables.opt
$(srcdir)/doc/avr-mmcu.texi
(avr-mcus): New phony target to build them on request.
(s-avr-mlib, s-avr-mmcu-texi): Remove.
* avr/avr-mcus.def: Adjust comments.

From-SVN: r194968

11 years agoi386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
Uros Bizjak [Mon, 7 Jan 2013 11:17:00 +0000 (12:17 +0100)]
i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.

* config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.

From-SVN: r194967

11 years agore PR fortran/55852 (internal compiler error: in gfc_build_intrinsic_call, at fortran...
Tobias Burnus [Mon, 7 Jan 2013 11:10:53 +0000 (12:10 +0100)]
re PR fortran/55852 (internal compiler error: in gfc_build_intrinsic_call, at fortran/expr.c:4647)

2013-01-07  Tobias Burnus  <burnus@net-b.de>
            Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/55852
        * expr.c (gfc_build_intrinsic_call): Avoid clashes
        with user's procedures.
        * gfortran.h (gfc_build_intrinsic_call): Update prototype.
        * simplify.c (gfc_simplify_size): Update call.
        * class.c (finalization_scalarizer, finalization_get_offset,
        finalizer_insert_packed_call, generate_finalization_wrapper):
        Clean up by using gfc_build_intrinsic_call.

2013-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55852
        * gfortran.dg/intrinsic_size_3.f90: New.

Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
From-SVN: r194966

11 years agodecl.c (gnat_to_gnu_entity): Adjust comment about type extension with discriminants.
Eric Botcazou [Mon, 7 Jan 2013 10:39:45 +0000 (10:39 +0000)]
decl.c (gnat_to_gnu_entity): Adjust comment about type extension with discriminants.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
comment about type extension with discriminants.
<E_Record_Subtype>: Remove useless test and reorder conditions.
(elaborate_entity) <E_Record_Subtype>: Likewise.

From-SVN: r194965

11 years agore PR ada/864 (--program-suffix is ignored (for ada))
Richard Biener [Mon, 7 Jan 2013 10:14:48 +0000 (10:14 +0000)]
re PR ada/864 (--program-suffix is ignored (for ada))

2013-01-04  Richard Biener  <rguenther@suse.de>

PR ada/864
* gcc-interface/Make-lang.in (ada.install-common): Always apply
program_transform_name.

From-SVN: r194964

11 years agore PR fortran/55763 (Issues with some simpler CLASS(*) programs)
Tobias Burnus [Mon, 7 Jan 2013 08:36:16 +0000 (09:36 +0100)]
re PR fortran/55763 (Issues with some simpler CLASS(*) programs)

2012-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55763
        * resolve.c (resolve_select_type): Reject intrinsic types for
        a non-unlimited-polymorphic selector.

2012-01-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55763
        * gfortran.dg/select_type_32.f90: New.

From-SVN: r194962

11 years agoPR c++/55311 - Cannot specialize alias template with arg of type array of char
Dodji Seketeli [Mon, 7 Jan 2013 08:06:46 +0000 (09:06 +0100)]
PR c++/55311 - Cannot specialize alias template with arg of type array of char

Consider this test case:

     1 template <const char *const C, typename T>
     2 struct A
     3 {};
     4
     5 struct B {};
     6
     7 extern constexpr char HELLO_WORLD[] = "hello world";
     8
     9 A<HELLO_WORLD, B> g; // <-- This works fine
    10
    11 template <typename T>
    12 using PartiallySpecialized = A<HELLO_WORLD, T>;  // <-- This fails
    13

At line 12 G++ fails to instantiate the alias template that has a
string variable initialized with a string literal, with the error
message:

    test.cc:12:46: error: ‘"hello world"’ is not a valid template argument of type ‘const char*’ because ‘"hello world"’ is not a variable
     using PartiallySpecialized = A<HELLO_WORLD, T>;  // <-- This fails
                                              ^

Note that instantiating the template A at line 9 with the same
arguments as in the problematic case above works.

This happens in the context of lookup_template_class_1, when it handles
the alias template instantiation A<HELLO_WORLD, T> and thus passes the
VAR_DECL for HELLO_WORLD to convert_nontype_argument.

Note that from there decay_conversion replaces the the VAR_DECL with
its STRING_CST initializer[1].  Latter on, convert_nontype_argument
checks that the HELLO_WORLD constant it received as argument was
indeed a VAR_DECL:

      else
{
  tree decl;

  decl = ((TREE_CODE (expr) == ADDR_EXPR)
  ? TREE_OPERAND (expr, 0) : expr);
  if (TREE_CODE (decl) != VAR_DECL)
    {
      error ("%qE is not a valid template argument of type %qT "
     "because %qE is not a variable",
     expr, type, decl);
      return NULL_TREE;
    }

But the issue is, that VAR_DECL has been replaced by STRING_CST, so
the last 'if' above fails.

The fix is to teach decay_conversion to return the address of array,
rather than returning its initializer.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

PR c++/55311
* pt.c (decay_conversion): Do not return the initializer of an array.

gcc/testsuite/

PR c++/55311
* g++.dg/cpp0x/alias-decl-30.C: New test.
* g++.dg/init/array21.C: New test.

From-SVN: r194961

11 years agoPR c++/52343 - error with alias template as template template argument
Dodji Seketeli [Mon, 7 Jan 2013 08:03:33 +0000 (08:03 +0000)]
PR c++/52343 - error with alias template as template template argument

In the example accompanying this patch, check_instantiated_arg tries
to ensure that a non-type template argument should be a constant if it
has integral or enumeration type.

The problem is that an alias template which type-id is, e.g, an
integer, looks like an argument that has integral/enumeration type:
its TREE_TYPE is an integer type.  So check_instantiated_arg
mistenkaly barks that this integral non-type argument is not a
constant.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

PR c++/52343
* pt.c (check_instantiated_arg): Allow type template arguments.

gcc/testsuite/

PR c++/52343
* g++.dg/cpp0x/alias-decl-29.C: New test.

From-SVN: r194960

11 years agore PR libstdc++/55847 (mistake bad_weak_ptr::what() message)
Jonathan Wakely [Mon, 7 Jan 2013 00:50:16 +0000 (00:50 +0000)]
re PR libstdc++/55847 (mistake bad_weak_ptr::what() message)

PR libstdc++/55847
* src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
string.

PR libstdc++/55728
* include/std/functional (bad_function_call::what()): Declare.
* src/c++11/functional.cc (bad_function_call::what()): Define.
* config/abi/pre/gnu.ver (bad_function_call::what()): Export.
* testsuite/20_util/bad_function_call/what.cc: New.

From-SVN: r194958

11 years agoDaily bump.
GCC Administrator [Mon, 7 Jan 2013 00:18:25 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r194957

11 years agounordered_map.h: Fix typo in comments.
Jonathan Wakely [Sun, 6 Jan 2013 21:58:18 +0000 (21:58 +0000)]
unordered_map.h: Fix typo in comments.

* include/bits/unordered_map.h: Fix typo in comments.
* doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
counts for unordered associative containers.

From-SVN: r194954

11 years agoPR fortran/PR53876 PR fortran/PR54990 PR fortran/PR54992
Paul Thomas [Sun, 6 Jan 2013 21:32:48 +0000 (21:32 +0000)]
PR fortran/PR53876 PR fortran/PR54990 PR fortran/PR54992

2013-01-06  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/PR53876
PR fortran/PR54990
PR fortran/PR54992
* trans-array.c (build_array_ref): Check the TYPE_CANONICAL
to see if it is GFC_CLASS_TYPE_P.
* trans-expr.c (gfc_get_vptr_from_expr): The same.
(gfc_conv_class_to_class): If the types are not the same,
cast parmese->expr to the type of ctree.
* trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
CLASS components must be set.

2013-01-06  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/PR53876
PR fortran/PR54990
PR fortran/PR54992
* gfortran.dg/class_array_15.f03: New test.

From-SVN: r194953

11 years agofile-find.c, [...]: Add FSF as copyright holder.
Richard Sandiford [Sun, 6 Jan 2013 21:27:37 +0000 (21:27 +0000)]
file-find.c, [...]: Add FSF as copyright holder.

gcc/
* file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.

From-SVN: r194952

11 years ago* doc/xml/manual/abi.xml: Update library and symbol versions.
Jonathan Wakely [Sun, 6 Jan 2013 21:19:39 +0000 (21:19 +0000)]
* doc/xml/manual/abi.xml: Update library and symbol versions.

From-SVN: r194950

11 years agore PR fortran/42769 ([OOP] ICE in resolve_typebound_procedure)
Mikael Morin [Sun, 6 Jan 2013 15:50:09 +0000 (15:50 +0000)]
re PR fortran/42769 ([OOP] ICE  in resolve_typebound_procedure)

PR fortran/42769
PR fortran/45836
PR fortran/45900
* module.c (read_module): Don't reuse local symtree if the associated
symbol isn't exactly the one wanted.  Don't reuse local symtree if it is
ambiguous.
* resolve.c (resolve_call): Use symtree's name instead of symbol's to
lookup the symtree.

PR fortran/42769
PR fortran/45836
PR fortran/45900
* gfortran.dg/use_23.f90: New test.
* gfortran.dg/use_24.f90: New test.
* gfortran.dg/use_25.f90: New test.
* gfortran.dg/use_26.f90: New test.
* gfortran.dg/use_27.f90: New test.

From-SVN: r194949

11 years agore PR fortran/54678 (second call to get_environment_variable gives valgrind warning...
Tobias Burnus [Sun, 6 Jan 2013 12:43:45 +0000 (13:43 +0100)]
re PR fortran/54678 (second call to get_environment_variable gives valgrind warning with 8-byte integers)

2013-01-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54678
        * intrinsics/env.c (get_environment_variable_i8): Don't use
        uninitialized variable.

From-SVN: r194948

11 years ago* gnatvsn.ads (Current_Year): Bump to 2013.
Eric Botcazou [Sun, 6 Jan 2013 12:37:11 +0000 (12:37 +0000)]
* gnatvsn.ads (Current_Year): Bump to 2013.

From-SVN: r194947

11 years agodecl.c (gnat_to_gnu_field): Emit a specialized diagnostic for component size mismatch...
Olivier Hainque [Sun, 6 Jan 2013 12:28:58 +0000 (12:28 +0000)]
decl.c (gnat_to_gnu_field): Emit a specialized diagnostic for component size mismatch wrt volatile requirements.

* gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
diagnostic for component size mismatch wrt volatile requirements.
Add a gcc_unreachable() at the end of the checks for size.  Split
the check on volatile for positions into one check on atomic and
a subsequent one on volatile.

From-SVN: r194946

11 years ago* gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
Eric Botcazou [Sun, 6 Jan 2013 12:10:06 +0000 (12:10 +0000)]
* gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.

From-SVN: r194945

11 years agodecl.c (gnat_to_gnu_entity): Do not pack the field of the record type made for a...
Eric Botcazou [Sun, 6 Jan 2013 11:58:36 +0000 (11:58 +0000)]
decl.c (gnat_to_gnu_entity): Do not pack the field of the record type made for a misaligned type.

* gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
pack the field of the record type made for a misaligned type.

From-SVN: r194942

11 years agoinsert_fn_imps.hpp: Fix typo in copyright years.
Richard Sandiford [Sun, 6 Jan 2013 11:53:01 +0000 (11:53 +0000)]
insert_fn_imps.hpp: Fix typo in copyright years.

libstdc++-v3/
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
in copyright years.
* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.

From-SVN: r194941