1. 07 Jan, 2013 24 commits
    • Remove "-I" from LIBSTDCXX_RAW_CXX_LDFLAGS · 7f7162cf
      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
      H.J. Lu committed
    • re PR c++/55753 ([C++11][4.7/4.8 Regression] ICE constexpr ctor,… · e4d7d8cb
      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
      Jason Merrill committed
    • varasm.c (output_constant_def_contents): For asan_protect_global protected strings... · 656e6f37
      	* 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
      Jakub Jelinek committed
    • Support -fuse-ld=bfd and -fuse-ld=gold · b352afba
      	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
      Nick Clifton committed
    • Typo · f3b503f4
      From-SVN: r194980
      Georg-Johann Lay committed
    • Fix 32-bit gcc.dg/lto/pr55525 with Sun ld · 3ec053a2
      	* gcc.dg/lto/pr55525_0.c (s): Size like char *.
      
      From-SVN: r194979
      Richard Biener committed
    • PR target/PR54461 · 2a095093
      	PR target/PR54461
      	* doc/install.texi (Cross-Compiler-Specific Options): Document
      	--with-avrlibc.
      
      From-SVN: r194978
      Georg-Johann Lay committed
    • arm_neon.h (vmovn_high_is16, [...]): Fix source operand number and update copyright. · 383f9b34
      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
      Tejas Belagod committed
    • re PR tree-optimization/55890 (calling a builtin func through a cast triggers an ICE) · 3626621a
      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
      Richard Biener committed
    • [AARCH64] Make argument of ld1 intrinsics const. · 8b2ea410
      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
      James Greenhalgh committed
    • lto-streamer.h (LTO_minor_version): Bump to 2. · 9713d329
      2013-01-07  Richard Biener  <rguenther@suse.de>
      
      	* lto-streamer.h (LTO_minor_version): Bump to 2.
      
      From-SVN: r194973
      Richard Biener committed
    • [AARCH64] Add support for vector and scalar floating-point immediate loads. · 3520f7cc
      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
      James Greenhalgh committed
    • re PR tree-optimization/55888 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c:867) · e167c04d
      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
      Richard Biener committed
    • t-avr: Typo. · 0139aaab
      	* config/avr/t-avr: Typo.
      
      From-SVN: r194969
      Georg-Johann Lay committed
    • re PR target/55243 (STAMP variable is not defined in t-avr) · 4a176b23
      	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
      Georg-Johann Lay committed
    • i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove. · c7afdc98
      	* config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
      
      From-SVN: r194967
      Uros Bizjak committed
    • re PR fortran/55852 (internal compiler error: in gfc_build_intrinsic_call, at fortran/expr.c:4647) · 6838c137
      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
      Tobias Burnus committed
    • decl.c (gnat_to_gnu_entity): Adjust comment about type extension with discriminants. · a8c4c75a
      	* 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
      Eric Botcazou committed
    • re PR ada/864 (--program-suffix is ignored (for ada)) · 5b638c3a
      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
      Richard Biener committed
    • re PR fortran/55763 (Issues with some simpler CLASS(*) programs) · 55d8631b
      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
      Tobias Burnus committed
    • PR c++/55311 - Cannot specialize alias template with arg of type array of char · 9bdae013
      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
      Dodji Seketeli committed
    • PR c++/52343 - error with alias template as template template argument · 36b21740
      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
      Dodji Seketeli committed
    • re PR libstdc++/55847 (mistake bad_weak_ptr::what() message) · 78aff336
      	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
      Jonathan Wakely committed
    • Daily bump. · 26ba9c91
      From-SVN: r194957
      GCC Administrator committed
  2. 06 Jan, 2013 14 commits
  3. 05 Jan, 2013 2 commits