Ed Schonberg [Tue, 29 Jan 2013 14:14:48 +0000 (14:14 +0000)]
sem_ch3.adb (Analyze_Subtype_Declaration): Inherit Is_Generic_Actual_Type flag in a nested instance.
2013-01-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
Is_Generic_Actual_Type flag in a nested instance.
* sem_ch12.adb (Restore_Private_Views): Preserve
Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
of an enclosing instance.
* sem_util.adb (Corresponding_Generic_Type): Handle generic actual
which is an actual of an enclosing instance.
* sem_type.adb (Real_Actual): If a generic_actual_type is the
formal of an enclosing generic and thus renames the corresponding
actual, use the actual of the enclosing instance to resolve
spurious ambiguities in instantiations when two formals are
instantiated with the same actual.
From-SVN: r195538
Arnaud Charlet [Tue, 29 Jan 2013 14:13:37 +0000 (15:13 +0100)]
[multiple changes]
2013-01-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
being available as implementation-defined pragmas in earlier
versions of Ada.
2013-01-29 Vincent Celier <celier@adacore.com>
* clean.adb (Delete): On VMS, delete all versions of the file.
From-SVN: r195537
Arnaud Charlet [Tue, 29 Jan 2013 14:07:21 +0000 (15:07 +0100)]
[multiple changes]
2013-01-29 Robert Dewar <dewar@adacore.com>
* par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
* par-util.adb (No_Constraint): Undo special handling, moved
to par-ch6.adb.
2013-01-29 Robert Dewar <dewar@adacore.com>
* aspects.ads: Aspect Warnings is implementation defined Add
some other missing entries to impl-defined list Mark Warnings
as GNAT pragma in main list.
* sem_ch8.adb: Process aspects for all cases of renaming
declarations.
2013-01-29 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
* sem_elab.adb (Check_Internal_Call_Continue): Do not issue
warnings about possible elaboration error if call is within
an assertion.
* sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
2013-01-29 Robert Dewar <dewar@adacore.com>
* a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
* s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
2013-01-29 Robert Dewar <dewar@adacore.com>
* opt.ads (Ignore_Style_Checks_Pragmas): New flag.
* par-prag.adb (Par, case Style_Checks): Recognize
Ignore_Style_Checks_Pragmas.
* sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
Ignore_Style_Checks_Pragmas.
* switch-c.adb: Recognize -gnateY switch.
* usage.adb: Add documentation for "-gnateY".
* vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
2013-01-29 Vincent Celier <celier@adacore.com>
* clean.adb (Clean_Executables): Add Sid component when calling
Queue.Insert.
* make.adb: When inserting in the Queue, add the Source_Id
(Sid) when it is known (Start_Compile_If_Possible): When the
Source_Id is known (Sid), get the path name of the ALI file
(Full_Lib_File) from it, to avoid finding old ALI files in other
object directories.
* makeutl.ads (Source_Info): New Source_Id component Sid in
Format_Gnatmake variant.
2013-01-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnateY.
2013-01-29 Doug Rupp <rupp@adacore.com>
* s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
system-vms-ia64.ads: Replace pragma Interface by pragma Import.
From-SVN: r195536
Arnaud Charlet [Tue, 29 Jan 2013 14:01:21 +0000 (15:01 +0100)]
[multiple changes]
2013-01-29 Robert Dewar <dewar@adacore.com>
* atree.ads, atree.adb (Node30): New function.
(Set_Node30): New procedure.
(Num_Extension_Nodes): Change to 5 (activate new fields/flags).
* atree.h: Add macros for Field30 and Node30.
* einfo.ads, einfo.adb: Move some fields to avoid duplexing.
* treepr.adb (Print_Entity_Information): Print fields 30-35.
2013-01-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Interface): Consider to
be a violation of No_Obsolescent_Features even in Ada 95. Also
generates a warning in -gnatwj mode.
(Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
mode.
* gnat_ugn.texi: Additional documentation on -gnatwj and pragma
Interface[_Name].
2013-01-29 Vincent Celier <celier@adacore.com>
* snames.ads-tmpl: Add new standard name Trailing_Switches.
2013-01-29 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Controlling_Type): If a designated type T
of an anonymous access type is a limited view of a tagged type,
it can be a controlling type only if the subprogram is in the
same scope as T.
2013-01-29 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: Use the project where the config pragmas file is
declared to get its path.
2013-01-29 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Linker'Trailing_Switches.
From-SVN: r195535
Ian Lance Taylor [Tue, 29 Jan 2013 13:58:18 +0000 (13:58 +0000)]
runtime: SPARCv9 fixes for lfstack.
From Rainer Orth.
From-SVN: r195534
Richard Biener [Tue, 29 Jan 2013 10:40:24 +0000 (10:40 +0000)]
re PR rtl-optimization/55270 (ICE in get_loop_body, at cfgloop.c:823)
2013-01-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/55270
* tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
the CFG, schedule loops for fixup.
* gcc.dg/torture/pr55270.c: New testcase.
From-SVN: r195533
Georg-Johann Lay [Tue, 29 Jan 2013 10:33:18 +0000 (10:33 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
PR target/54222
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add:
_mulQQ, _mulHQ, _mulHA, _mulSA,
_mulUQQ, _mulUHQ, _mulUHA, _mulUSA,
_divQQ, _divHQ, _divHA, _divSA,
_divUQQ, _divUHQ, _divUHA, _divUSA.
From-SVN: r195532
Nick Clifton [Tue, 29 Jan 2013 09:00:35 +0000 (09:00 +0000)]
rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow SP_REG.
* config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
SP_REG.
From-SVN: r195530
Ian Lance Taylor [Tue, 29 Jan 2013 00:28:09 +0000 (00:28 +0000)]
compiler: Correct initialization order determination.
From-SVN: r195526
GCC Administrator [Tue, 29 Jan 2013 00:18:44 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195525
Jonathan Wakely [Mon, 28 Jan 2013 23:07:35 +0000 (23:07 +0000)]
re PR libstdc++/56112 (cannot create unordered_map from range of types convertible to value_type)
PR libstdc++/56112
* include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
to construct value_type explicitly before trying to extract the key.
* testsuite/23_containers/unordered_map/cons/56112.cc: New.
From-SVN: r195520
François Dumont [Mon, 28 Jan 2013 20:52:13 +0000 (20:52 +0000)]
hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary.
2013-01-28 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Local_iterator_base): Use
_Hashtable_ebo_helper to embed functors into the local_iterator
when necessary. Pass information about functors involved in hash
code by copy.
* include/bits/hashtable.h (__cache_default): Do not cache for
builtin integral types unless the hash functor is not noexcept
qualified or is not default constructible. Adapt static assertions
and local iterator instantiations.
* include/debug/unordered_set
(std::__debug::unordered_set<>::erase): Detect local iterators to
invalidate using contained node rather than generating a dummy
local_iterator instance.
(std::__debug::unordered_multiset<>::erase): Likewise.
* include/debug/unordered_map
(std::__debug::unordered_map<>::erase): Likewise.
(std::__debug::unordered_multimap<>::erase): Likewise.
* testsuite/performance/23_containers/insert_erase/41975.cc: Test
std::tr1 and std versions of unordered_set regardless of any
macro. Add test on default cache behavior.
* testsuite/performance/23_containers/insert/54075.cc: Likewise.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: New.
* testsuite/23_containers/unordered_set/buckets/swap.cc: New.
From-SVN: r195517
Leif Ekblad [Mon, 28 Jan 2013 20:42:55 +0000 (20:42 +0000)]
config.gcc (i[34567]86-*-rdos*, [...]): New targets.
* config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
* config/i386/i386.h (TARGET_RDOS): New macro.
(DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
* config/i386/i386.c (ix86_option_override_internal): For 64bit
TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
* config/i386/i386.opt (mlarge-data-threshold): Initialize to
DEFAULT_LARGE_SECTION_THRESHOLD.
* config/i386/i386.md (R14_REG, R15_REG): New constants.
* config/i386/rdos.h: New file.
* config/i386/rdos64.h: New file.
From-SVN: r195516
Bernd Schmidt [Mon, 28 Jan 2013 20:03:26 +0000 (20:03 +0000)]
re PR other/54814 (ICE: unable to find a register to spill in class 'R0_REG')
PR other/54814
* reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
TEST_HARD_REG_BIT.
From-SVN: r195515
Jakub Jelinek [Mon, 28 Jan 2013 16:50:22 +0000 (17:50 +0100)]
re PR rtl-optimization/56117 (ICE: in cselib_subst_to_values, at cselib.c:1853 with -O2 -fsched2-use-superblocks and __builtin_prefetch())
PR rtl-optimization/56117
* sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
call cselib_lookup_from_insn on the MEM before calling
add_insn_mem_dependence.
* gcc.dg/pr56117.c: New test.
From-SVN: r195513
Richard Biener [Mon, 28 Jan 2013 14:50:57 +0000 (14:50 +0000)]
tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK to a stmt that didn't have one.
2013-01-28 Richard Biener <rguenther@suse.de>
* tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
to a stmt that didn't have one.
(copy_phis_for_bb): Likewise for PHI arguments.
(copy_debug_stmt): Likewise for debug stmts.
From-SVN: r195509
Richard Biener [Mon, 28 Jan 2013 14:45:46 +0000 (14:45 +0000)]
re PR tree-optimization/56034 (ICE: verify_gimple failed (invalid PHI argument) with -ftree-loop-distribution)
2013-01-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/56034
* tree-loop-distribution.c (enum partition_kind): Add
PKIND_REDUCTION.
(partition_builtin_p): Adjust.
(generate_code_for_partition): Handle PKIND_REDUCTION. Assert
it is the last partition.
(rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
up the vertex for the definition.
(classify_partition): Classify whether a partition is a
PKIND_REDUCTION, thus has uses outside of the loop.
(ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
Merge all PKIND_REDUCTION partitions into the last partition.
(tree_loop_distribution): Seed partitions from reductions as well.
* gcc.dg/torture/pr56034.c: New testcase.
From-SVN: r195508
Jakub Jelinek [Mon, 28 Jan 2013 14:43:03 +0000 (15:43 +0100)]
re PR tree-optimization/56125 (-O2 -ffast-math generates bad code when dividing a double by the square of another double.)
PR tree-optimization/56125
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
pow(x,c) into sqrt(x) * powi(x, n/2) or
1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
optimizing for size.
Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
integer.
* gcc.dg/pr56125.c: New test.
From-SVN: r195507
Tobias Burnus [Mon, 28 Jan 2013 14:37:20 +0000 (15:37 +0100)]
re PR fortran/53537 (Explicit IMPORT of renamed USE-associated symbol fails)
2013-01-28 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/53537
* symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
interface block.
(gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
* decl.c (gfc_match_data_decl): Ditto.
(variable_decl): Remove undeclared type error.
(gfc_match_import): Use renamed instead of original name.
2013-01-28 Tobias Burnus <burnus@net-b.de>
Mikael Morin <mikael@gcc.gnu.org>
PR fortran/53537
* gfortran.dg/import2.f90: Adjust undeclared type error messages.
* gfortran.dg/import8.f90: Likewise.
* gfortran.dg/interface_derived_type_1.f90: Likewise.
* gfortran.dg/import10.f90: New test.
* gfortran.dg/import11.f90: Likewise
Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r195506
Jakub Jelinek [Mon, 28 Jan 2013 14:28:16 +0000 (15:28 +0100)]
re PR testsuite/56053 (FAIL: c-c++-common/asan/(global|stack)-overflow-1.c)
PR testsuite/56053
* c-c++-common/asan/heap-overflow-1.c: Don't include stdlib.h and
string.h. Provide memset, malloc and free prototypes, adjust line
numbers in dg-output.
* c-c++-common/asan/stack-overflow-1.c: Don't include string.h.
Provide memset prototype and adjust line numbers in dg-output.
* c-c++-common/asan/global-overflow-1.c: Likewise.
From-SVN: r195505
Jakub Jelinek [Mon, 28 Jan 2013 14:05:40 +0000 (15:05 +0100)]
re PR tree-optimization/56094 (Invalid line number info generated with tree-level ivopts)
PR tree-optimization/56094
* gimplify.c (force_gimple_operand_1): Temporarily set input_location
to UNKNOWN_LOCATION while gimplifying expr.
* gcc.dg/pr56094.c: New test.
From-SVN: r195504
Amol Pise [Mon, 28 Jan 2013 10:45:41 +0000 (10:45 +0000)]
For Amol Pise.
2013-01-27 Amol Pise <amolpise15@gmail.com>
* gcc.target/arm/neon-vfnms-1.c: New test.
* gcc.target/arm/neon-vfnma-1.c: New test.
From-SVN: r195503
Naveen H.S [Mon, 28 Jan 2013 05:15:52 +0000 (05:15 +0000)]
aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS): Undef to avoid warning.
2013-01-25 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
Undef to avoid warning.
From-SVN: r195502
GCC Administrator [Mon, 28 Jan 2013 00:18:50 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195500
Uros Bizjak [Sun, 27 Jan 2013 13:16:54 +0000 (14:16 +0100)]
re PR target/56114 (x86_64-linux-gnu-gcc generate wrong asm instruction MOVABS for intel syntax)
PR target/56114
* config/i386/i386.md (*movabs<mode>_1): Add square brackets around
operand 0 in movabs insn template for -masm=intel asm alternative.
(*movabs<mode>_2): Ditto for operand 1.
testsuite/ChangeLog:
PR target/56114
* gcc.target/i386/pr56114.c: New test.
From-SVN: r195494
Paul Thomas [Sun, 27 Jan 2013 07:18:22 +0000 (07:18 +0000)]
re PR fortran/55984 ([OOP] ICE: gfc_trans_code(): Bad statement code)
2013-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/55984
* ChangeLog : Correct wrong PR number.
From-SVN: r195493
Paul Thomas [Sun, 27 Jan 2013 07:09:06 +0000 (07:09 +0000)]
[multiple changes]
2013-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/55789
PR fortran/56047
* gfortran.h : Add associate_var to symbol_attr.
* resolve.c (resolve_assoc_var): Set associate_var attribute.
If the target class_ok is set, set it for the associate
variable.
* check.c (allocatable_check): Associate variables should not
have the allocatable attribute even if their symbols do.
* class.c (gfc_build_class_symbol): Symbols with associate_var
set will always have a good class container.
2013-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/55789
* gfortran.dg/associate_14.f90: New test.
PR fortran/56047
* gfortran.dg/associate_13.f90: New test.
From-SVN: r195492
GCC Administrator [Sun, 27 Jan 2013 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195491
David Holsgrove [Sat, 26 Jan 2013 16:53:45 +0000 (16:53 +0000)]
gcc: PR target/54663
gcc: PR target/54663
* config.gcc (microblaze*-linux*): Add tmake_file to allow building
of microblaze-c.o.
libgcc:
* config.host(microblaze*-linux*): tmake_file: Remove
t-slibgcc-nolc-override, add t-slibgcc-libgcc.
* config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE
to exclude functions from being built with libgcc.c and use
the microblaze assembly.
From-SVN: r195488
Edgar E. Iglesias [Sat, 26 Jan 2013 16:39:10 +0000 (16:39 +0000)]
gcc/config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update tm_file.
libgcc/config.host (microblaze*-*-*): Rename microblaze*-*-elf, update extra_parts.
From-SVN: r195487
Michael Haubenwallner [Sat, 26 Jan 2013 04:07:08 +0000 (05:07 +0100)]
configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
2013-01-25 Michael Haubenwallner <michael.haubenwallner@salomon.at>
* configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
* configure: Regenerate.
From-SVN: r195486
GCC Administrator [Sat, 26 Jan 2013 00:18:48 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195485
Ian Lance Taylor [Sat, 26 Jan 2013 00:13:34 +0000 (00:13 +0000)]
libgo: Add --enable-werror configure option.
From-SVN: r195482
Ian Lance Taylor [Fri, 25 Jan 2013 23:43:23 +0000 (23:43 +0000)]
re PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)
PR other/56076
runtime: Support sparc64 in lfstack.
From-SVN: r195479
Jakub Jelinek [Fri, 25 Jan 2013 22:36:11 +0000 (23:36 +0100)]
re PR other/56076 (Several 64-bit libgo tests FAIL in read_line_header)
PR other/56076
* dwarf.c (read_line_header): Don't crash if DW_AT_comp_dir
attribute was not seen.
From-SVN: r195478
Jason Merrill [Fri, 25 Jan 2013 20:27:54 +0000 (15:27 -0500)]
remove unnecessary bits from g++.dg/warn/pmf2.C
From-SVN: r195477
Jakub Jelinek [Fri, 25 Jan 2013 20:03:54 +0000 (21:03 +0100)]
re PR middle-end/56098 (conditional write through volatile pointer produces unintended read)
PR tree-optimization/56098
* tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
for stmts with volatile ops.
(cond_store_replacement): Don't optimize if assign has volatile ops.
(cond_if_else_store_replacement_1): Don't optimize if either
then_assign or else_assign have volatile ops.
(hoist_adjacent_loads): Don't optimize if either def1 or def2 have
volatile ops.
* gcc.dg/pr56098-1.c: New test.
* gcc.dg/pr56098-2.c: New test.
From-SVN: r195475
Jason Merrill [Fri, 25 Jan 2013 20:01:29 +0000 (15:01 -0500)]
re PR c++/56095 (Crash casting function pointer as non-type template argument)
PR c++/56095
* pt.c (convert_nontype_argument_function): Handle invalid input.
(convert_nontype_argument): Likewise.
From-SVN: r195474
Georg-Johann Lay [Fri, 25 Jan 2013 18:57:49 +0000 (18:57 +0000)]
invoke.texi (AVR Built-in Macros): Document __XMEGA__.
* doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
From-SVN: r195473
Georg-Johann Lay [Fri, 25 Jan 2013 18:11:53 +0000 (18:11 +0000)]
extend.texi (Example of asm with clobbered asm reg): Fix missing ':' in asm example.
* doc/extend.texi (Example of asm with clobbered asm reg): Fix
missing ':' in asm example.
From-SVN: r195471
Jason Merrill [Fri, 25 Jan 2013 17:55:09 +0000 (12:55 -0500)]
re PR c++/56104 (Wrong "dereferencing type-punned pointer" warning)
PR c++/56104
* typeck.c (get_member_function_from_ptrfunc): Optimize if the
dynamic type has no virtual functions.
From-SVN: r195470
Tejas Belagod [Fri, 25 Jan 2013 11:35:03 +0000 (11:35 +0000)]
aarch64-simd-builtins.def: Separate sq<r>dmulh_lane entries into lane and laneq entries.
2013-01-25 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
entries into lane and laneq entries.
* config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>): Remove
AdvSIMD scalar modes.
(aarch64_sq<r>dmulh_laneq<mode>): New.
(aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
modes.
* config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
builtin implementations to relfect changes in RTL in aarch64-simd.md.
* config/aarch64/iterators.md (VCOND): New.
(VCONQ): New.
From-SVN: r195467
Georg-Johann Lay [Fri, 25 Jan 2013 09:28:09 +0000 (09:28 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
gcc/
PR target/54222
* config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
Add NULL LIBNAME argument to existing definitions.
(ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
* config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
* config/avr/avr.c (DEF_BUILTIN): Same.
(avr_init_builtins): Pass down LIBNAME to add_builtin_function.
(avr_expand_builtin): Expand to a vanilla call if a libgcc
implementation is available (DECL_ASSEMBLER_NAME is set).
(avr_fold_absfx): New static function.
(avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
AVR_BUILTIN_ABSLLK.
* config/avr/stdfix.h (abshr, absr, abslr, absllr)
(abshk, absk, abslk, absllk): Provide as static inline functions.
gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/builtins-3-absfx.c: New test.
From-SVN: r195464
Marek Polacek [Fri, 25 Jan 2013 08:52:02 +0000 (08:52 +0000)]
Fix PR56035.
From-SVN: r195462
Eric Botcazou [Fri, 25 Jan 2013 08:16:57 +0000 (08:16 +0000)]
Remove conflict marker
From-SVN: r195461
Maxim Kuvyrkov [Fri, 25 Jan 2013 04:00:31 +0000 (04:00 +0000)]
* MAINTAINERS: Update my email.
From-SVN: r195459
GCC Administrator [Fri, 25 Jan 2013 00:18:31 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195451
Uros Bizjak [Thu, 24 Jan 2013 22:50:43 +0000 (23:50 +0100)]
i386.md (*movti_internal_rex64): Add (o,e) alternative.
* config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
(*movtf_internal_rex64): Add (!o,C) alternative
(*movxf_internal_rex64): Ditto.
(*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
From-SVN: r195446
Richard Sandiford [Thu, 24 Jan 2013 21:45:55 +0000 (21:45 +0000)]
bind_c_array_params_2.f90: Require -mno-relax-pic-calls for MIPS.
gcc/testsuite/
* gfortran.dg/bind_c_array_params_2.f90: Require -mno-relax-pic-calls
for MIPS.
From-SVN: r195443
Richard Sandiford [Thu, 24 Jan 2013 21:40:54 +0000 (21:40 +0000)]
octeon-pipe-1.c: Add -ffat-lto-objects
gcc/testsuite/
* gcc.target/mips/octeon-pipe-1.c: Add -ffat-lto-objects
From-SVN: r195441
Ian Lance Taylor [Thu, 24 Jan 2013 19:44:23 +0000 (19:44 +0000)]
re PR go/46986 (Go is not supported on Darwin)
PR go/46986
all: prepend #__USER_LABEL_PREFIX__ to mangled Go symbols
For old-fashioned Darwin.
From-SVN: r195438
Shenghou Ma [Thu, 24 Jan 2013 18:51:49 +0000 (18:51 +0000)]
invoke.texi: fix typo.
* doc/invoke.texi: fix typo.
* doc/objc.texi: fix typo.
From-SVN: r195437
Ian Lance Taylor [Thu, 24 Jan 2013 18:12:23 +0000 (18:12 +0000)]
re PR go/46986 (Go is not supported on Darwin)
PR go/46986
libgo/Makefile, libgo/go/os/stat_atimespec.go: fix typos
From-SVN: r195436
Richard Sandiford [Thu, 24 Jan 2013 17:46:41 +0000 (17:46 +0000)]
mips.md (*and<mode>3_mips16): Use the "W" constraint for the first two alternatives.
gcc/
* config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
for the first two alternatives.
From-SVN: r195433
Jakub Jelinek [Thu, 24 Jan 2013 16:59:44 +0000 (17:59 +0100)]
re PR c/56078 (causes cc1 to crash)
PR c/56078
* c-typeck.c (set_nonincremental_init_from_string): If
constructor_max_index is NULL, treat it as if tree_int_cst_lt
returned false.
(process_init_element): Likewise.
* gcc.dg/pr56078.c: New test.
* gcc.c-torture/compile/
20030305-1.c: Add dg-error lines.
From-SVN: r195432
Martin Jambor [Thu, 24 Jan 2013 16:18:26 +0000 (17:18 +0100)]
re PR tree-optimization/55927 (FAIL: g++.dg/ipa/devirt-10.C -std=gnu++11 scan-ipa-dump-times inline "Discovered a virtual call to a known target" 1)
2013-01-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55927
* g++.dg/ipa/devirt-10.C: Disable early inlining.
From-SVN: r195430
Diego Novillo [Thu, 24 Jan 2013 15:13:46 +0000 (10:13 -0500)]
Remove zone allocator.
This patch removes the GC zone allocator. It is not used and it
produces several regressions in the testsuite. Furthermore, it
complicates things for the plan to implement manual GC markers
(http://gcc.gnu.org/wiki/cxx-conversion/gc-alternatives#Do_GC_marking_manually).
Tested on x86_64 with standard checking, --enable-checking=gc and
--enable-checking=release.
From-SVN: r195426
Georg-Johann Lay [Thu, 24 Jan 2013 13:27:11 +0000 (13:27 +0000)]
avr.c (avr_out_fract): Make register numbers that might be outside of source operand signed.
* config/avr/avr.c (avr_out_fract): Make register numbers that
might be outside of source operand signed.
From-SVN: r195424
Uros Bizjak [Thu, 24 Jan 2013 13:03:40 +0000 (14:03 +0100)]
constraints.md (Yf): New constraint.
* config/i386/constraints.md (Yf): New constraint.
* config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
of f constraint to conditionaly disable x87 register preferences.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.
testsuite/ChangeLog:
* gcc.target/i386/movsd.c: New test.
From-SVN: r195423
Paolo Carlini [Thu, 24 Jan 2013 12:20:57 +0000 (12:20 +0000)]
re PR libstdc++/56085 (Unsafe negation in C++03 pow(complex,int))
2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56085
* include/std/complex (pow(const complex<>&, int)): Avoid __n
signed overflow.
From-SVN: r195421
Steven Bosscher [Thu, 24 Jan 2013 10:30:26 +0000 (10:30 +0000)]
re PR inline-asm/55934 (LRA inline asm error recovery)
gcc/
PR inline-asm/55934
* lra-assigns.c (assign_by_spills): Throw away the pattern of asms
that have operands with impossible constraints.
Add a FIXME for a speed-up opportunity.
* lra-constraints.c (process_alt_operands): Verify that a class
selected from constraints on asms is valid for the operand mode.
(curr_insn_transform): Remove incorrect comment.
testsuite/
PR inline-asm/55934
* gcc.target/i386/pr55934.c: New test.
From-SVN: r195420
GCC Administrator [Thu, 24 Jan 2013 00:19:41 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r195417
Shenghou Ma [Wed, 23 Jan 2013 22:37:01 +0000 (22:37 +0000)]
isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.
* config/isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION.
* configure: Re-generate.
From-SVN: r195414
Janne Blomqvist [Wed, 23 Jan 2013 21:56:54 +0000 (23:56 +0200)]
Improve performance of byte-swapped I/O.
2013-01-23 Janne Blomqvist <jb@gcc.gnu.org>
* io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX
instead of reverse_memcpy.
* io/io.h (reverse_memcpy): Remove prototype.
* io/transfer.c (reverse_memcpy): Make static, move towards
beginning of file.
(bswap_array): New function.
(unformatted_read): Use bswap_array to byte swap the data
in-place.
(unformatted_write): Use a larger temp buffer and bswap_array.
(us_read): Use __builtin_bswapXX instead of reverse_memcpy.
(write_us_marker): Likewise.
From-SVN: r195413
Janus Weil [Wed, 23 Jan 2013 21:38:40 +0000 (22:38 +0100)]
re PR fortran/56081 (Seg fault ICE on select with bad case)
2013-01-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/56081
* resolve.c (resolve_select): Add argument 'select_type', reject
non-scalar expressions.
(resolve_select_type,resolve_code): Pass new argument to
'resolve_select'.
2013-01-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/56081
* gfortran.dg/select_8.f90: New.
From-SVN: r195412
Uros Bizjak [Wed, 23 Jan 2013 19:08:45 +0000 (20:08 +0100)]
* ChangeLog: Add missing entry.
From-SVN: r195411
Uros Bizjak [Wed, 23 Jan 2013 19:03:35 +0000 (20:03 +0100)]
i386.md (*movdf_internal_rex64): Disparage alternatives involving stack registers slightly.
* config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
involving stack registers slightly.
From-SVN: r195410
David Edelsohn [Wed, 23 Jan 2013 16:24:54 +0000 (11:24 -0500)]
rs6000.c (rs6000_delegitimize_address): Check that TOC operand is a valid symbol ref in the constant pool.
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
TOC operand is a valid symbol ref in the constant pool.
From-SVN: r195409
Edgar E. Iglesias [Wed, 23 Jan 2013 15:24:52 +0000 (15:24 +0000)]
Add TARGET_OS_CPP_BUILTINS for microblaze*-linux
From-SVN: r195408
Georg-Johann Lay [Wed, 23 Jan 2013 15:13:51 +0000 (15:13 +0000)]
re PR target/54222 ([avr] Implement fixed-point support)
PR target/54222
* config/avr/stdfix.h: New file.
* t-avr (stdfix-gcc.h): New rule to build it.
(EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
From-SVN: r195407
David Holsgrove [Wed, 23 Jan 2013 15:12:03 +0000 (15:12 +0000)]
Remove obsolete check for target_config_cflags, no longer set.
From-SVN: r195406
Kostya Serebryany [Wed, 23 Jan 2013 11:41:33 +0000 (11:41 +0000)]
libsanitizer merge from upstream r173241
From-SVN: r195404
Jakub Jelinek [Wed, 23 Jan 2013 08:43:50 +0000 (09:43 +0100)]
re PR fortran/56052 ([OOP] ICE in omp_add_variable, at gimplify.c:5606)
PR fortran/56052
* trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
and DECL_IGNORED_P on select_type_temporary and don't set
DECL_BY_REFERENCE.
* gfortran.dg/gomp/pr56052.f90: New test.
From-SVN: r195399
Jakub Jelinek [Wed, 23 Jan 2013 08:37:16 +0000 (09:37 +0100)]
re PR target/49069 (ICE in gen_cstoredi4, at config/arm/arm.md:7554)
PR target/49069
* config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
instead of cmpdi_operand for first comparison operand.
Don't assert that comparison operands aren't both constants.
* gcc.dg/pr49069.c: New test.
From-SVN: r195398
GCC Administrator [Wed, 23 Jan 2013 00:18:41 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195396
Paolo Carlini [Tue, 22 Jan 2013 23:38:34 +0000 (23:38 +0000)]
re PR c++/55944 ([C++11] static local member with constexpr c'tor causes ICE)
/cp
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55944
* decl.c (check_initializer): Use TARGET_EXPR_DIRECT_INIT_P only
on TARGET_EXPR nodes.
/testsuite
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55944
* g++.dg/cpp0x/constexpr-static10.C: New.
From-SVN: r195391
Uros Bizjak [Tue, 22 Jan 2013 22:20:37 +0000 (23:20 +0100)]
* testsuite/ChangeLog: Move ChangeLog entries to 2013.
From-SVN: r195389
Jonathan Wakely [Tue, 22 Jan 2013 22:14:33 +0000 (22:14 +0000)]
install.texi (Downloading the Source): Update references to downloading separate components.
* doc/install.texi (Downloading the Source): Update references to
downloading separate components.
From-SVN: r195388
Jonathan Wakely [Tue, 22 Jan 2013 21:58:39 +0000 (21:58 +0000)]
* doc/extend.texi (__int128): Improve grammar.
From-SVN: r195387
Uros Bizjak [Tue, 22 Jan 2013 20:58:37 +0000 (21:58 +0100)]
re PR target/56028 (Splitting a 64-bit volatile store)
PR target/56028
* config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
alternative to (o,r).
(*movdi_internal_rex64): Remove (!o,n) alternative.
(DImode immediate->memory splitter): Remove.
(DImode immediate->memory peephole2): Remove.
(movtf): Enable for TARGET_64BIT || TARGET_SSE.
(*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
alternative to (!o,*r).
(*movtf_internal_sse): New pattern.
(*movxf_internal_rex64): New pattern.
(*movxf_internal): Disable for TARGET_64BIT.
(*movdf_internal_rex64): Remove (!o,F) alternative.
testsuite/ChangeLog:
2012-01-22 Uros Bizjak <ubizjak@gmail.com>
PR target/56028
* gcc.target/i386/pr56028.c: New test.
From-SVN: r195386
Jakub Jelinek [Tue, 22 Jan 2013 17:15:47 +0000 (18:15 +0100)]
explicit-hle.cc: Tightten scan-assembler-times regexps...
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Tightten scan-assembler-times regexps, add dg-additional-options for
ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
dg-options.
From-SVN: r195383
Jakub Jelinek [Tue, 22 Jan 2013 17:03:33 +0000 (18:03 +0100)]
re PR middle-end/56074 (ICE compiling gcc.dg/vect/pr49093.c)
PR middle-end/56074
* dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
* tree-vect-loop-manip.c (find_loop_location): Also ignore
stmt locations where LOCATION_LOCUS of the stmt location is
UNKNOWN_LOCATION or BUILTINS_LOCATION.
From-SVN: r195382
Jakub Jelinek [Tue, 22 Jan 2013 16:41:30 +0000 (17:41 +0100)]
re PR rtl-optimization/55686 (ICE in assign_by_spills, at lra-assigns.c:1244)
PR target/55686
* config/i386/i386.md (UNSPEC_STOS): New.
(strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
*strsetqi_1): Add UNSPEC_STOS.
* gcc.target/i386/pr55686.c: New test.
From-SVN: r195381
Jason Merrill [Tue, 22 Jan 2013 16:05:04 +0000 (11:05 -0500)]
re PR c++/56071 (friend class template cannot access private constructor in exception-specification)
PR c++/56071
* pt.c (maybe_instantiate_noexcept): Don't defer access checks.
From-SVN: r195378
Paolo Carlini [Tue, 22 Jan 2013 15:09:45 +0000 (15:09 +0000)]
re PR c++/56067 (Removal of -Wsynth from doc didn't remove example)
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56067
* doc/invoke.texi: Remove left over -Wsynth example.
From-SVN: r195375
Alan Modra [Tue, 22 Jan 2013 11:41:53 +0000 (22:11 +1030)]
re PR libgomp/51376 (libgomp taskwait failure)
PR libgomp/51376
PR libgomp/56073
* task.c (GOMP_task): Revert 2011-12-09 change.
(GOMP_taskwait): Likewise. Instead use atomic load with acquire
barrier to read task->children..
(gomp_barrier_handle_tasks): ..and matching atomic store with
release barrier here when setting parent->children to NULL.
From-SVN: r195370
Eric Botcazou [Tue, 22 Jan 2013 10:05:45 +0000 (10:05 +0000)]
trans.c (gnat_to_gnu): Do not translate the Etype of the node before translating the Actions.
* gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
not translate the Etype of the node before translating the Actions.
From-SVN: r195368
Dodji Seketeli [Tue, 22 Jan 2013 10:05:05 +0000 (10:05 +0000)]
PR c++/53609 - Wrong variadic template pack expansion in alias template
Consider this example:
1 template<class...I> struct List {};
2 template<int T> struct Z {static const int value = T;};
3 template<int...T> using LZ = List<Z<T>...>;
4
5 template<class...U>
6 struct F
7 {
8 using N = LZ<U::value...>; //#1 This should amount to List<Z<U::value>...>
9 }
10
11 F<Z<1>, Z<2> >::N A; //#2
which G++ fails to compile, with this error message:
test-PR53609-3.cc: In instantiation of 'struct F<Z<1>, Z<2> >':
test-PR53609-3.cc:11:15: required from here
test-PR53609-3.cc:3:43: error: wrong number of template arguments (2, should be 1)
template<int...T> using LZ = List<Z<T>...>;
^
test-PR53609-3.cc:2:24: error: provided for 'template<int T> struct Z'
template<int T> struct Z {static const int value = T;};
I think this is because in #1, when we substitute the argument pack
{U::value...} into the pack expansion Z<T>..., tsubst_pack_expansion
yields Z<U::value...>, instead of Z<U::value>..., so the instantiation
of LZ amounts to List<Z<U::value...> >, instead of
List<Z<U::value>...>.
The idea of this patch is to make tsubst_pack_expansion support
substituting an argument pack (into a pack expansion) where one of the
arguments (let's call it the Ith argument) is itself a pack expansion
P. In that case, the Ith element resulting from the substituting
should be a pack expansion P'.
The pattern of P' is then the pattern of P into which the pattern of
the Ith argument of the argument pack has been substituted.
Tested on x86_64-unknown-linux-gnu against trunk.
gcc/cp/
* pt.c (argument_pack_element_is_expansion_p)
(make_argument_pack_select, use_pack_expansion_extra_args_p)
(gen_elem_of_pack_expansion_instantiation): New static functions.
(tsubst): When looking through an ARGUMENT_PACK_SELECT tree node,
look through the possibly resulting pack expansion as well.
(tsubst_pack_expansion): Use use_pack_expansion_extra_p to
generalize when to use the PACK_EXPANSION_EXTRA_ARGS mechanism.
Use gen_elem_of_pack_expansion_instantiation to build the
instantiation piece-wise. Don't use arg_from_parm_pack_p anymore,
as gen_elem_of_pack_expansion_instantiation and the change in
tsubst above generalize this particular case.
(arg_from_parm_pack_p): Remove this for it's not used by
tsubst_pack_expansion anymore.
gcc/testsuite/
* g++.dg/cpp0x/variadic139.C: New test.
* g++.dg/cpp0x/variadic140.C: Likewise.
* g++.dg/cpp0x/variadic141.C: Likewise.
From-SVN: r195367
Eric Botcazou [Tue, 22 Jan 2013 10:01:08 +0000 (10:01 +0000)]
trans.c (Pragma_to_gnu): Use optimize_size instead of optimize and adjust warning message.
* gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
instead of optimize and adjust warning message.
(Compilation_Unit_to_gnu): Process pragmas preceding the unit.
From-SVN: r195366
Tristan Gingold [Tue, 22 Jan 2013 09:49:14 +0000 (09:49 +0000)]
gigi.h (ADT_unhandled_except_decl, [...]): New.
* gcc-interface/gigi.h (ADT_unhandled_except_decl,
ADT_unhandled_others_decl): New.
(unhandled_others_decl, unhandled_except_decl): Define.
* gcc-interface/trans.c: Include common/common-target.h.
(gigi): Initialize them.
(Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
function in a try/catch clause.
From-SVN: r195364
Jakub Jelinek [Tue, 22 Jan 2013 08:23:32 +0000 (09:23 +0100)]
re PR libquadmath/56072 (info page wrongly defines M_PI_2 and M_PI_4)
PR libquadmath/56072
* libquadmath.texi (M_PI_2q, M_PI_4q): Fix up description.
From-SVN: r195360
Jason Merrill [Tue, 22 Jan 2013 01:27:19 +0000 (20:27 -0500)]
re PR c++/56059 (SIGSEGV on invalid C++11 code)
PR c++/56059
* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
template args count.
From-SVN: r195355
GCC Administrator [Tue, 22 Jan 2013 00:18:12 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r195354
Uros Bizjak [Mon, 21 Jan 2013 19:45:05 +0000 (20:45 +0100)]
* config/i386/i386.md (isa): Switch places of fma and fma4.
From-SVN: r195350
Thomas Koenig [Mon, 21 Jan 2013 19:34:49 +0000 (19:34 +0000)]
re PR fortran/55919 (Bogus warning with -J directory/)
2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55919
* scanner.c (add_path_to_list): Copy path to temporary and strip
trailing directory separators before calling stat().
2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55919
* gfortran.dg/include_8.f90: New test.
From-SVN: r195348
Uros Bizjak [Mon, 21 Jan 2013 18:54:49 +0000 (19:54 +0100)]
* testsuite/ChangeLog: Fix duplicate entry.
From-SVN: r195347
Uros Bizjak [Mon, 21 Jan 2013 18:47:19 +0000 (19:47 +0100)]
pr55579.c: Cleanup esra tree dump
* gcc.dg/tree-ssa/pr55579.c: Cleanup esra tree dump
* gfortran.dg/unlimited_polymorphic_8.f90: Cleanup original tree dump.
From-SVN: r195346
Jakub Jelinek [Mon, 21 Jan 2013 17:55:34 +0000 (18:55 +0100)]
re PR tree-optimization/56051 (Wrong expression evaluation)
PR tree-optimization/56051
* fold-const.c (fold_binary_loc): Don't fold
X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
a narrowing conversion, or widening conversion from signed
to unsigned.
* gcc.c-torture/execute/pr56051.c: New test.
From-SVN: r195343
Uros Bizjak [Mon, 21 Jan 2013 17:51:23 +0000 (18:51 +0100)]
re PR rtl-optimization/56023 ([alpha] -fcompare-debug failure due to sched1 pass)
PR rtl-optimization/56023
* haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
dependent on debug instruction.
testsuite/ChangeLog:
PR rtl-optimization/56023
* gcc.dg/pr56023.c: New test.
From-SVN: r195342
Martin Jambor [Mon, 21 Jan 2013 17:16:57 +0000 (18:16 +0100)]
re PR middle-end/56022 (ICE (segfault) at convert_memory_address_addr_space (explow.c:334))
2013-01-21 Martin Jambor <mjambor@suse.cz>
PR middle-end/56022
* function.c (allocate_struct_function): Call
invoke_set_current_function_hook earlier.
testsuite/
* gcc.target/i386/pr56022.c: New test.
From-SVN: r195341