Commit Graph

121363 Commits

Author SHA1 Message Date
Tejas Belagod a02ad1aa17 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
2013-01-08 16:21:51 +00:00
Nick Clifton 83ffd96445 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
2013-01-08 15:01:48 +00:00
Nick Clifton f90d87f524 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
2013-01-08 15:00:22 +00:00
James Greenhalgh 385eb93d42 [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
2013-01-08 14:57:33 +00:00
James Greenhalgh 4dcd1054bf [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
2013-01-08 14:49:01 +00:00
Martin Jambor 4267a4a6ce 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
2013-01-08 15:10:44 +01:00
Joel Brobecker 80a8d5212e 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
2013-01-08 12:34:12 +00:00
Rainer Orth 0985d1f526 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
2013-01-08 12:24:54 +00:00
Rainer Orth 1191c46b4b 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
2013-01-08 09:47:55 +00:00
Jakub Jelinek 3138f2246b 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
2013-01-08 09:38:50 +01:00
Jakub Jelinek 5f4e6de31f 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
2013-01-08 09:33:43 +01:00
Jakub Jelinek f3ef18ffa0 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
2013-01-08 09:32:12 +01:00
Jakub Jelinek 5b42fd0138 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
2013-01-08 09:14:04 +01:00
Paul Thomas ec947dd39a 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
2013-01-08 06:13:52 +00:00
GCC Administrator 2aa617a76a Daily bump.
From-SVN: r195002
2013-01-08 00:19:33 +00:00
Mark Kettenis 25c210f9bd 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
2013-01-07 22:49:56 +00:00
Steve Ellcey 81826a7bde 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
2013-01-07 22:16:45 +00:00
Paul Thomas 02a1cc65b0 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
2013-01-07 19:10:32 +00:00
Georg-Johann Lay 3567851459 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
2013-01-07 18:37:47 +00:00
Georg-Johann Lay e566948899 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
2013-01-07 18:34:40 +00:00
Tobias Burnus e35e87dc46 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
2013-01-07 19:30:11 +01:00
H.J. Lu 7f7162cf57 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
2013-01-07 10:23:42 -08:00
Jason Merrill e4d7d8cb69 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
2013-01-07 13:00:18 -05:00
Jakub Jelinek 656e6f3761 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
2013-01-07 18:46:30 +01:00
Nick Clifton b352afbab2 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
2013-01-07 08:54:33 -08:00
Georg-Johann Lay f3b503f4a1 Typo
From-SVN: r194980
2013-01-07 16:19:17 +00:00
Richard Biener 3ec053a277 Fix 32-bit gcc.dg/lto/pr55525 with Sun ld
* gcc.dg/lto/pr55525_0.c (s): Size like char *.

From-SVN: r194979
2013-01-07 16:05:20 +00:00
Georg-Johann Lay 2a0950934e PR target/PR54461
PR target/PR54461
	* doc/install.texi (Cross-Compiler-Specific Options): Document
	--with-avrlibc.

From-SVN: r194978
2013-01-07 15:57:08 +00:00
Tejas Belagod 383f9b34d1 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
2013-01-07 15:39:53 +00:00
Richard Biener 3626621a07 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
2013-01-07 15:34:43 +00:00
James Greenhalgh 8b2ea410c7 [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
2013-01-07 15:32:58 +00:00
Richard Biener 9713d329fa 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
2013-01-07 15:28:14 +00:00
James Greenhalgh 3520f7cc69 [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
2013-01-07 15:22:06 +00:00
Richard Biener e167c04d06 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
2013-01-07 14:06:26 +00:00
Georg-Johann Lay 0139aaab42 t-avr: Typo.
* config/avr/t-avr: Typo.

From-SVN: r194969
2013-01-07 13:05:42 +00:00
Georg-Johann Lay 4a176b2331 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
2013-01-07 12:45:13 +00:00
Uros Bizjak c7afdc98c5 i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
* config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.

From-SVN: r194967
2013-01-07 12:17:00 +01:00
Tobias Burnus 6838c1371d 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
2013-01-07 12:10:53 +01:00
Eric Botcazou a8c4c75a4a 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
2013-01-07 10:39:45 +00:00
Richard Biener 5b638c3a5a 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
2013-01-07 10:14:48 +00:00
Tobias Burnus 55d8631bfa 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
2013-01-07 09:36:16 +01:00
Dodji Seketeli 9bdae0133d 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
2013-01-07 09:06:46 +01:00
Dodji Seketeli 36b21740b4 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
2013-01-07 09:03:33 +01:00
Jonathan Wakely 78aff33680 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
2013-01-07 00:50:16 +00:00
GCC Administrator 26ba9c91ba Daily bump.
From-SVN: r194957
2013-01-07 00:18:25 +00:00
Jonathan Wakely 1c2620dd6a 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
2013-01-06 21:58:18 +00:00
Paul Thomas f04986a90b 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
2013-01-06 21:32:48 +00:00
Richard Sandiford 1ab05c31a0 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
2013-01-06 21:27:37 +00:00
Jonathan Wakely ac43ff42f2 * doc/xml/manual/abi.xml: Update library and symbol versions.
From-SVN: r194950
2013-01-06 21:19:39 +00:00
Mikael Morin d932cea872 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
2013-01-06 15:50:09 +00:00