Eric Botcazou [Thu, 13 Oct 2011 10:54:19 +0000 (10:54 +0000)]
re PR ada/50589 ([4.7] Ada bootstrap failure on sparc-linux)
PR ada/50589
* s-linux-alpha.ads: Do not "with" Interfaces.C.
* s-linux-sparc.ads: Likewise.
From-SVN: r179911
Geert Bosch [Thu, 13 Oct 2011 10:52:59 +0000 (10:52 +0000)]
s-gearop.ads (Forward_Eliminate): Add "abs" formal function returning a Real.
2011-10-13 Geert Bosch <bosch@adacore.com>
* s-gearop.ads (Forward_Eliminate): Add "abs" formal function
returning a Real.
* s-gearop.adb (Forward_Eliminate): Remove local "abs" function
and use formal.
* a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
new profile.
From-SVN: r179910
Geert Bosch [Thu, 13 Oct 2011 10:51:39 +0000 (10:51 +0000)]
a-ngrear.adb, [...] (Sqrt): Make generic and move to System.Generic_Array_Operations.
2011-10-13 Geert Bosch <bosch@adacore.com>
* a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
move to System.Generic_Array_Operations.
From-SVN: r179909
Geert Bosch [Thu, 13 Oct 2011 10:49:57 +0000 (10:49 +0000)]
a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
2011-10-13 Geert Bosch <bosch@adacore.com>
* a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
* s-gearop.ads (L2_Norm): Change profile to be suitable for
Complex_Vector
* s-gearop.adb (L2_Norm): Reimplement using direct definition,
not inner product
From-SVN: r179908
Arnaud Charlet [Thu, 13 Oct 2011 10:47:00 +0000 (12:47 +0200)]
[multiple changes]
2011-10-13 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
2011-10-13 Geert Bosch <bosch@adacore.com>
* s-gearop.adb: Minor comment additions.
From-SVN: r179907
Arnaud Charlet [Thu, 13 Oct 2011 10:43:52 +0000 (12:43 +0200)]
[multiple changes]
2011-10-13 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Add gnattest section.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* freeze.adb: Do not create body of renaming if declaration has
errors.
2011-10-13 Olivier Hainque <hainque@adacore.com>
* init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
further, to the ppc+kernel case only.
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
Do not create a pool formal on .NET/JVM.
(Expand_N_Extended_Return_Statement): Alphabetize local
variables. Do not create a renaming of the build-in-place pool
parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
Add the user-defined pool only on non-VM targets.
(Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
local variables. Do not add a pool actual on .NET/JVM.
* sem_ch6.adb: Add with and use clause for Targparm.
(Create_Extra_Formals): Add build-in-place pool formal only on
non-VM targets.
* rtsfind.ads: Alphabetize entries.
From-SVN: r179906
Arnaud Charlet [Thu, 13 Oct 2011 10:40:53 +0000 (12:40 +0200)]
[multiple changes]
2011-10-13 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Minor correction.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb: Minor error message improvement.
2011-10-13 Robert Dewar <dewar@adacore.com>
* a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
From-SVN: r179905
Gary Dismukes [Thu, 13 Oct 2011 10:39:15 +0000 (10:39 +0000)]
exp_ch5.adb (Expand_N_Loop_Statement): For the transformation of a for loop for an enumeration type with an...
2011-10-13 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
of a for loop for an enumeration type with an enumeration rep
clause, which involves moving the original loop parameter into
a nested block, the loop parameter's entity must be removed from
the entity list of the loop scope.
From-SVN: r179904
Bob Duff [Thu, 13 Oct 2011 10:37:33 +0000 (10:37 +0000)]
exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter" that gets passed in the same cases where...
2011-10-13 Bob Duff <duff@adacore.com>
* exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
that gets passed in the same cases where BIP_Alloc_Form is passed
(caller-unknown-size results). BIP_Storage_Pool is used when
BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer
to the user-defined storage pool is passed at the call site,
and this pool is used in callee to allocate the result.
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
the additional BIP_Storage_Pool actual.
(Expand_N_Extended_Return_Statement): Allocate the function
result using the user-defined storage pool, if BIP_Alloc_Form =
User_Storage_Pool.
* sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
* exp_ch4.adb: Don't overwrite storage pool set by
Expand_N_Extended_Return_Statement.
* s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
for use in build-in-place function calls within allocators
where the access type has a user-defined storage pool.
From-SVN: r179903
Arnaud Charlet [Thu, 13 Oct 2011 10:32:13 +0000 (12:32 +0200)]
[multiple changes]
2011-10-13 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
literal casing.
2011-10-13 Nicolas Roche <roche@adacore.com>
* gnatlink.adb: Ensure that -mrtp is passed when
runtime name ends with 'rtp'.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): an
unchecked union type can be limited.
2011-10-13 Olivier Hainque <hainque@adacore.com>
* init.c (__gnat_error_handler) <VxWorks version>: Add comments on
the use of the signal trampoline for PPC in the sjlj case as well.
Add legitimate casts, preventing compile time warnings on the
(sighandler *) profile.
2011-10-13 Yannick Moy <moy@adacore.com>
* sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic
analysis in Alfa mode.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
expressions are legal limited return values if each one of their
dependent expressions are legal.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
if the prefix of the call is a qualified expression, rewrite as
a code statement.
* sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
code statement is legal if it is a rewriting of a procedure call.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Flatten): If a component association has a box,
assume that aggregate is not static.
(Safe_Aggregate): If a component association in a non-limited
aggregate has a box, assume that it cannot be expanded in place.
2011-10-13 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): Call
Process_Project_Tree_Phase_1 with Packages_To_Check.
(Process_Project_And_Apply_Config): Ditto
* prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
Remove default for argument Packages_To_Check.
* prj-proc.adb (Recursive_Process): New argument
Packages_To_Check.
(Process): Ditto.
(Process_Project_Tree_Phase_1): Ditto.
(Recursive_Project.Process_Aggregated_Projects): Call
Prj.Part.Parse and Process_Project_Tree_Phase_1 with
Packages_To_Check.
* prj-proc.ads (Process): New argument Packages_To_Check
(Process_Project_Tree_Phase_1): Ditto
From-SVN: r179902
Tom de Vries [Thu, 13 Oct 2011 10:24:47 +0000 (10:24 +0000)]
function.c (gimplify_parameters): Set number of arguments of call to BUILT_IN_ALLOCA_WITH_ALIGN to 2.
2011-10-13 Tom de Vries <tom@codesourcery.com>
* function.c (gimplify_parameters): Set number of arguments of call to
BUILT_IN_ALLOCA_WITH_ALIGN to 2.
From-SVN: r179901
Arnaud Charlet [Thu, 13 Oct 2011 10:23:36 +0000 (10:23 +0000)]
* gcc-interface/Makefile.in: Fix typo.
From-SVN: r179900
Arnaud Charlet [Thu, 13 Oct 2011 10:22:28 +0000 (12:22 +0200)]
[multiple changes]
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Formal_{Floating_Type,
Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}):
Use sloc of defining identifier of farmal type declaration,
as sloc of generated internal entity, to prevent misplaced
references in ali.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_intr.adb (Check_Intrinsic_Operator): Check that type
is fully defined before checking that it is a numeric type.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): If a component
association for component X has a box, then X is covered in the
aggregate even if there is not default value for X in the type
declaration, and X has to be default-initialized.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Check_Enum_Image, Analyze_Attribute case
'Value): Mark literals as referenced only if reference is in
current source unit.
2011-10-13 Matthew Heaney <heaney@adacore.com>
* a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
2011-10-13 Olivier Hainque <hainque@adacore.com>
* sigtramp.h: New file. Prototype and spec of the signal
trampoline to be called by an established handler to provide
dwarf call frame info before the real signal processing code.
* sigtramp-ppcvxw.c: New file. Implementation of the signal
trampoline for ppc-vxworks.
* init.c (vxworks section): Use it for ppc.
From-SVN: r179899
Arnaud Charlet [Thu, 13 Oct 2011 10:13:36 +0000 (12:13 +0200)]
[multiple changes]
2011-10-13 Thomas Quinot <quinot@adacore.com>
* par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
(Check_Future_Identifier): New subprogram,
factors duplicated code from Par.Ch2.P_Identifier and
Par.Ch3.P_Defining_Identifier.
2011-10-13 Thomas Quinot <quinot@adacore.com>
* s-taprop-posix.adb (Initialize): Always raise Storage_Error
if we fail to initialize CV attributes or CV.
2011-10-13 Thomas Quinot <quinot@adacore.com>
* s-tasren.adb (Timed_Selective_Wait, case
Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
we know abortion is already deferred.
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
(Build_Master_Renaming (function)): Removed.
(Build_Master_Renaming (procedure)): Moved to exp_ch9.
(Expand_Full_Type_Declaration): Alphabetize
variables. Reformatting of code and comments. Rewrite the
section on processing of anonymous access-to-task types in
record components.
* exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
(Build_Master_Renaming): Moved to exp_ch9.
* exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
(Build_Master_Entity): Add formal parameter
Use_Current. Reformatting of code and comments.
(Build_Master_Renaming): Moved from exp_ch3.
* exp_ch9.ads (Build_Class_Wide_Master): Moved from
exp_ch3. Update comment on usage.
(Build_Master_Entity):
Add formal parameter Use_Current. Update comment on usage.
(Build_Master_Renaming): Moved from exp_ch3.
* sem_ch3.adb (Access_Definition): Remove redundant code to
create a _master and a renaming.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb: Do no emit reference to overridden operation,
if it is internally generated.
2011-10-13 Vincent Celier <celier@adacore.com>
* bindgen.adb: Remove any processing related to g-trasym
* Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
* mlib-prj.adb: Remove any processing related to g-trasym.
From-SVN: r179898
Tom de Vries [Thu, 13 Oct 2011 09:54:58 +0000 (09:54 +0000)]
memcpy-4.c: New test.
2011-10-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/memcpy-4.c: New test.
From-SVN: r179897
Tom de Vries [Thu, 13 Oct 2011 09:54:50 +0000 (09:54 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P for static const strings.
2011-10-13 Tom de Vries <tom@codesourcery.com>
* emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P
for static const strings.
* varasm.c (build_constant_desc): Generate the memory location of the
constant using gen_const_mem.
From-SVN: r179896
Richard Guenther [Thu, 13 Oct 2011 09:00:01 +0000 (09:00 +0000)]
re PR tree-optimization/50698 (pretending to create versioning for alias when not required)
2011-10-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50698
* tree-data-ref.c (split_constant_offset_1): Also process
offsets of &MEM.
* g++.dg/vect/pr50698.cc: New testcase.
From-SVN: r179895
GCC Administrator [Thu, 13 Oct 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r179885
Eric Botcazou [Wed, 12 Oct 2011 22:41:57 +0000 (22:41 +0000)]
Makefile.in (LOOSE_WARN): Delete.
gnattools/
* Makefile.in (LOOSE_WARN): Delete.
(GCC_WARN_CFLAGS): Set to -W -Wall.
(TOOLS_FLAGS_TO_PASS_1): Delete.
(TOOLS_FLAGS_TO_PASS_1re): Rename into...
(TOOLS_FLAGS_TO_PASS_RE): ...this.
(gnattools-native): Use TOOLS_FLAGS_TO_PASS_NATIVE.
(regnattools): Use TOOLS_FLAGS_TO_PASS_RE.
libada/
* Makefile.in (LOOSE_WARN): Delete.
(GCC_WARN_CFLAGS): Likewise.
(WARN_CFLAGS): Likewise.
(GNATLIBFLAGS): Add -nostdinc.
(GNATLIBCFLAGS_FOR_C): Add -W -Wall.
(LIBADA_FLAGS_TO_PASS): Remove WARN_CFLAGS.
* configure.ac (warn_cflags): Delete.
* configure: Regenerate.
gcc/ada/
* sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
* gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
(ALL_ADAFLAGS): Include WARN_ADAFLAGS.
(ADA_FLAGS_TO_PASS): Likewise.
(COMMON_FLAGS_TO_PASS): New.
(ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular
native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
(gnatlib): Use COMMON_FLAGS_TO_PASS.
(ada.install-common): Likewise.
(install-gnatlib): Likewise.
(install-gnatlib-obj): Likewise.
(gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
(gnat-cross): Delete.
(gnatboot): Likewise.
(gnatboot2): Likewise.
(gnatboot3): Likewise.
(gnatstage1): Likewise.
(gnatstage2): Likewise.
* gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
(MOST_ADAFLAGS): Likewise.
(LOOSE_CFLAGS): Likewise.
(gnat-cross): Likewise.
(GNATLIBFLAGS): Add -W -Wall.
(GNATLIBCFLAGS_FOR_C): Likewise.
* gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines.
* gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
From-SVN: r179878
Janis Johnson [Wed, 12 Oct 2011 22:41:18 +0000 (22:41 +0000)]
warn-1.c: Skip if not powerpc_vsx_ok.
* gcc.target/powerpc/warn-1.c: Skip if not powerpc_vsx_ok.
* gcc.target/powerpc/warn-2.c: Ditto.
From-SVN: r179877
Janis Johnson [Wed, 12 Oct 2011 22:38:57 +0000 (22:38 +0000)]
ppc-fma-3.c: Require powerpc_fprs.
* gcc.target/powerpc/ppc-fma-3.c: Require powerpc_fprs.
* gcc.target/powerpc/ppc-fma-4.c: Likewise.
* gcc.target/powerpc/ppc-fma-5.c: Likewise.
* gcc.target/powerpc/ppc-fma-7.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
* gcc.target/powerpc/ppc-pow.c: Likewise.
* gcc.target/powerpc/recip-1.c: Likewise.
* gcc.target/powerpc/recip-2.c: Likewise.
* gcc.target/powerpc/recip-3.c: Likewise.
* gcc.target/powerpc/recip-4.c: Likewise.
* gcc.target/powerpc/recip-5.c: Likewise.
From-SVN: r179876
David S. Miller [Wed, 12 Oct 2011 22:32:23 +0000 (22:32 +0000)]
Fix sparc when assembler lacks support for vis3/fmaf instructions.
gcc/
* config/sparc/sparc.h: Do not force TARGET_VIS3 and TARGET_FMAF
to zero when assembler lacks support for such instructions.
* config/sparc/sparc.c (sparc_option_override): Clear MASK_VIS3
and MASK_FMAF in defaults when assembler lacks necessary support.
gcc/testsuite/
* gcc.target/sparc/cmask.c: Remove 'vis3' target check and specify
'-mvis3' instead of 'mcpu=niagara3' in options.
* gcc.target/sparc/fhalve.c: Likewise.
* gcc.target/sparc/fnegop.c: Likewise.
* gcc.target/sparc/fpadds.c: Likewise.
* gcc.target/sparc/fshift.c: Likewise.
* gcc.target/sparc/fucmp.c: Likewise.
* gcc.target/sparc/lzd.c: Likewise.
* gcc.target/sparc/vis3misc.c: Likewise.
* gcc.target/sparc/xmul.c: Likewise.
From-SVN: r179875
Eric Botcazou [Wed, 12 Oct 2011 22:09:21 +0000 (22:09 +0000)]
trans.c (Attribute_to_gnu): Use remove_conversions.
* gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
(push_range_check_info): Likewise.
(gnat_to_gnu) <N_Code_Statement>: Likewise.
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
(gnat_invariant_expr): Likewise.
* gcc-interface/utils.c (compute_related_constant): Likewise.
(max_size): Fix handling of SAVE_EXPR.
(remove_conversions): Fix formatting.
From-SVN: r179873
Jakub Jelinek [Wed, 12 Oct 2011 22:07:24 +0000 (00:07 +0200)]
sse.md (vec_unpacks_lo_<mode>, [...]): Change VI124_128 mode to VI124_AVX2.
* config/i386/sse.md (vec_unpacks_lo_<mode>,
vec_unpacks_hi_<mode>, vec_unpacku_lo_<mode>,
vec_unpacku_hi_<mode>): Change VI124_128 mode to
VI124_AVX2.
* config/i386/i386.c (ix86_expand_sse_unpack): Handle
V32QImode, V16HImode and V8SImode for TARGET_AVX2.
From-SVN: r179872
Jakub Jelinek [Wed, 12 Oct 2011 22:06:45 +0000 (00:06 +0200)]
sse.md (vec_avx2): New mode_attr.
* config/i386/sse.md (vec_avx2): New mode_attr.
(mulv16qi3): Macroize to cover also mulv32qi3 for
TARGET_AVX2 into ...
(mul<mode>3): ... this.
From-SVN: r179871
Jakub Jelinek [Wed, 12 Oct 2011 22:05:58 +0000 (00:05 +0200)]
i386.md (UNSPEC_VPERMDI): Remove.
* config/i386/i386.md (UNSPEC_VPERMDI): Remove.
* config/i386/i386.c (ix86_expand_vec_perm): Handle
V16QImode and V32QImode for TARGET_AVX2.
(MAX_VECT_LEN): Increase to 32.
(expand_vec_perm_blend): Add support for 32-byte integer
vectors with TARGET_AVX2.
(valid_perm_using_mode_p): New function.
(expand_vec_perm_pshufb): Add support for 32-byte integer
vectors with TARGET_AVX2.
(expand_vec_perm_vpshufb2_vpermq): New function.
(expand_vec_perm_vpshufb2_vpermq_even_odd): New function.
(expand_vec_perm_even_odd_1): Handle 32-byte integer vectors
with TARGET_AVX2.
(ix86_expand_vec_perm_builtin_1): Try expand_vec_perm_vpshufb2_vpermq
and expand_vec_perm_vpshufb2_vpermq_even_odd.
* config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Add for TARGET_AVX2
32-byte integer vector modes.
(vec_pack_trunc_<mode>): Use VI248_AVX2 instead of VI248_128.
(avx2_interleave_highv32qi, avx2_interleave_lowv32qi): Remove pasto.
(avx2_pshufdv3, avx2_pshuflwv3, avx2_pshufhwv3): Generate
4 new operands.
(avx2_pshufd_1, avx2_pshuflw_1, avx2_pshufhw_1): Don't use
match_dup, instead add 4 new operands and require they have
right cross-lane values.
(avx2_permv4di): Change into define_expand.
(avx2_permv4di_1): New instruction.
(avx2_permv2ti): Use nonimmediate_operand instead of register_operand
for "xm" constrained operand.
(VEC_PERM_AVX2): Add V32QI and V16QI for TARGET_AVX2.
From-SVN: r179870
Jakub Jelinek [Wed, 12 Oct 2011 22:05:00 +0000 (00:05 +0200)]
sse.md (avx2_gathersi<mode>, [...]): Add clobber of match_scratch...
* config/i386/sse.md (avx2_gathersi<mode>,
avx2_gatherdi<mode>, avx2_gatherdi<mode>256): Add clobber of
match_scratch, change memory_operand to register_operand,
add (mem:BLK (scratch)) use.
(*avx2_gathersi<mode>, *avx2_gatherdi<mode>,
*avx2_gatherdi<mode>256): Add clobber of match_scratch,
add earlyclobber to the output operand and match_scratch,
add (mem:BLK (scratch)) use, change the other mem to match_operand.
Use %p6 instead of %c6 in the pattern.
* config/i386/i386.c (ix86_expand_builtin): Adjust for
operand 2 being a Pmode register_operand instead of memory_operand.
From-SVN: r179869
Eric Botcazou [Wed, 12 Oct 2011 22:00:14 +0000 (22:00 +0000)]
ada-tree.h (DECL_LOOP_PARM_P): New flag.
* gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
(DECL_INDUCTION_VAR): New macro.
(SET_DECL_INDUCTION_VAR): Likewise.
* gcc-interface/gigi.h (convert_to_index_type): Declare.
(gnat_invariant_expr): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
parameter, set DECL_LOOP_PARM_P on it.
* gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
* gcc-interface/trans.c (gnu_loop_label_stack): Delete.
(struct range_check_info_d): New type.
(struct loop_info_d): Likewise.
(gnu_loop_stack): New stack.
(Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P
is set, do not test DECL_RENAMED_OBJECT.
(push_range_check_info): New function.
(Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
the label. Reference the label and the iteration variable from it.
Build the special induction variable in the unsigned version of the
size type, if it is larger than the base type. And attach it to the
iteration variable if the latter isn't by-ref. In the iteration scheme
case, initialize the invariant conditions in front of the loop if
deemed profitable. Use gnu_loop_stack.
(gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
<N_Raise_Constraint_Error>: Always process the reason. In the range
check and related cases, and if loop unswitching is enabled, compute
invariant conditions and push this information onto the stack.
Do not translate again the condition if it has been already translated.
* gcc-interface/utils.c (record_global_renaming_pointer): Assert that
DECL_LOOP_PARM_P isn't set.
(convert_to_index_type): New function.
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
to convert the index from the base index type to sizetype.
(gnat_invariant_expr): New function.
From-SVN: r179868
Paolo Carlini [Wed, 12 Oct 2011 18:40:58 +0000 (18:40 +0000)]
re PR c++/50594 (Option -fwhole-program discards replaced new operator for std::string)
2011-10-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50594
* decl.c (cxx_init_decl_processing): Add
__attribute__((externally_visible)) to operator new and
operator delete library fn.
2011-10-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50594
* libsupc++/new (operator new, operator delete): Decorate with
__attribute__((__externally_visible__)).
* include/bits/c++config: Add _GLIBCXX_THROW.
* libsupc++/del_op.cc: Adjust.
* libsupc++/del_opv.cc: Likewise.
* libsupc++/del_opnt.cc: Likewise.
* libsupc++/del_opvnt.cc: Likewise.
* libsupc++/new_op.cc: Likewise.
* libsupc++/new_opv.cc: Likewise.
* libsupc++/new_opnt.cc: Likewise.
* libsupc++/new_opvnt.cc: Likewise.
* testsuite/18_support/50594.cc: New.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
line number.
From-SVN: r179863
H.J. Lu [Wed, 12 Oct 2011 17:39:11 +0000 (17:39 +0000)]
Add -mfpmath=sse/-mtune=generic to FMA tests.
2011-10-12 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/fma_run_double_1.c: Add -mfpmath=sse.
* gcc.target/i386/fma_run_double_2.c: Likewise.
* gcc.target/i386/fma_run_double_3.c: Likewise.
* gcc.target/i386/fma_run_double_4.c: Likewise.
* gcc.target/i386/fma_run_double_5.c: Likewise.
* gcc.target/i386/fma_run_double_6.c: Likewise.
* gcc.target/i386/fma_run_float_1.c: Likewise.
* gcc.target/i386/fma_run_float_2.c: Likewise.
* gcc.target/i386/fma_run_float_3.c: Likewise.
* gcc.target/i386/fma_run_float_4.c: Likewise.
* gcc.target/i386/fma_run_float_5.c: Likewise.
* gcc.target/i386/fma_run_float_6.c: Likewise.
* gcc.target/i386/l_fma_double_1.c: Add -mtune=generic and
remove the extra dg-options.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
From-SVN: r179861
Kai Tietz [Wed, 12 Oct 2011 17:05:07 +0000 (19:05 +0200)]
i386.md (simple_return): Disable if TARGET_SEH is active.
* config/i386/i386.md (simple_return): Disable
if TARGET_SEH is active.
From-SVN: r179860
Steve Ellcey [Wed, 12 Oct 2011 16:04:59 +0000 (16:04 +0000)]
ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
2011-10-12 Steve Ellcey <sje@cup.hp.com>
* config/ia64/ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
From-SVN: r179859
Richard Guenther [Wed, 12 Oct 2011 15:28:48 +0000 (15:28 +0000)]
tree-ssa-alias.c (maybe_skip_until): Cache also at the point of the first store we visit in a basic-block.
2011-10-12 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (maybe_skip_until): Cache also at the point
of the first store we visit in a basic-block.
(get_continuation_for_phi): Search for a candidate VUSE that
might dominates all others. Do pairwise disambiguation against
that candidate.
From-SVN: r179858
Paul Koning [Wed, 12 Oct 2011 15:16:14 +0000 (11:16 -0400)]
re PR middle-end/50189 (Wrong code error in -O2 [-fstrict-enums] compile, target independent)
2011-10-12 Paul Koning <pkoning@gcc.gnu.org>
PR tree-optimization/50189
* tree-vrp.c (extract_range_from_assert): Use the type of
the variable, not the limit.
* g++.dg/torture/pr50189.C: New testcase.
From-SVN: r179857
Tobias Burnus [Wed, 12 Oct 2011 14:11:20 +0000 (16:11 +0200)]
invoke.texi (-fwhole-file): Update wording since -fwhole-file is now enabled by default.
2011-10-11 Tobias Burnus <burnus@net-b.de>
Janus Weil <janus@gcc.gnu.org>
* invoke.texi (-fwhole-file): Update wording since -fwhole-file
is now enabled by default.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r179854
Richard Guenther [Wed, 12 Oct 2011 13:19:34 +0000 (13:19 +0000)]
re PR middle-end/50700 (__builtin_object_size computed wrong)
2011-10-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50700
* tree-object-size.c (addr_object_size): Simplify and treat
MEM_REF bases consistently.
* gcc.dg/builtin-object-size-12.c: New testcase.
From-SVN: r179850
Bernd Schmidt [Wed, 12 Oct 2011 12:04:04 +0000 (12:04 +0000)]
function.c (prepare_shrink_wrap, [...]): New function.
* function.c (prepare_shrink_wrap, bb_active_p): New function.
(thread_prologue_and_epilogue_insns): Use bb_active_p.
Call prepare_shrink_wrap, then recompute bb_active_p for the
last block.
From-SVN: r179848
Joseph Myers [Wed, 12 Oct 2011 11:56:03 +0000 (12:56 +0100)]
re PR c/50565 (initializer element is not computable at load time)
PR c/50565
* convert.c (convert_to_integer): Do not narrow operands of
pointer subtraction.
testsuite:
* gcc.c-torture/compile/pr50565-1.c,
gcc.c-torture/compile/pr50565-2.c: New tests.
From-SVN: r179845
Nick Clifton [Wed, 12 Oct 2011 10:18:17 +0000 (10:18 +0000)]
arm.h (EMIT_EABI_ATTRIBUTE): New macro.
* config/arm/arm.h (EMIT_EABI_ATTRIBUTE): New macro. Used to
emit a .eabi_attribute assembler directive, possibly with a
comment attached.
* config/arm/arm.c (arm_file_start): Use the new macro.
* config/arm/arm-c.c (arm_output_c_attributes): Likewise.
From-SVN: r179844
Georg-Johann Lay [Wed, 12 Oct 2011 09:59:30 +0000 (09:59 +0000)]
re PR target/49939 ([avr] Skip 2-word instructions if applicable)
PR target/49939
* config/avr/avr.md (*movqi): Rename to movqi_insn.
(*call_insn): Rename to call_insn.
(*call_value_insn): Rename to call_value_insn.
* config/avr/avr.c (avr_2word_insn_p): New static function.
(jump_over_one_insn_p): Use it.
From-SVN: r179843
Richard Sandiford [Wed, 12 Oct 2011 07:46:58 +0000 (07:46 +0000)]
expr.h (copy_blkmode_to_reg): Declare.
gcc/
* expr.h (copy_blkmode_to_reg): Declare.
* expr.c (copy_blkmode_to_reg): New function.
(expand_assignment): Don't expand register RESULT_DECLs before
the lhs. Use copy_blkmode_to_reg to copy BLKmode values into a
RESULT_DECL register.
(expand_expr_real_1): Handle BLKmode decls when looking for promotion.
* stmt.c (expand_return): Move BLKmode-to-register code into
copy_blkmode_to_reg.
From-SVN: r179839
GCC Administrator [Wed, 12 Oct 2011 00:18:27 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r179835
Eric Botcazou [Tue, 11 Oct 2011 21:33:24 +0000 (21:33 +0000)]
re PR target/49965 (libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC)
PR target/49965
* config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
(mov<F:mode>cc): Likewise.
From-SVN: r179827
Ian Lance Taylor [Tue, 11 Oct 2011 21:29:04 +0000 (21:29 +0000)]
Remove incorrect ChangeLog entry, correct spacing.
From-SVN: r179826
Bill Schmidt [Tue, 11 Oct 2011 21:21:43 +0000 (21:21 +0000)]
tree-ssa-address.c (copy_ref_info): Remove copy of TREE_THIS_NOTRAP.
2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree-ssa-address.c (copy_ref_info): Remove copy of TREE_THIS_NOTRAP.
From-SVN: r179825
Michael Meissner [Tue, 11 Oct 2011 19:55:09 +0000 (19:55 +0000)]
Convert standard builtin functions from being arrays to using a functional interface
From-SVN: r179820
Bill Schmidt [Tue, 11 Oct 2011 18:39:51 +0000 (18:39 +0000)]
tree.h (copy_ref_info): Expose existing function.
2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree.h (copy_ref_info): Expose existing function.
* tree-ssa-loop-ivopts.c (copy_ref_info): Move function to...
* tree-ssa-address.c (copy_ref_info): ...here, and remove static token.
From-SVN: r179818
Georg-Johann Lay [Tue, 11 Oct 2011 18:34:16 +0000 (18:34 +0000)]
avr-protos.h (avr_mode_code_base_reg_class): New prototype.
* config/avr/avr-protos.h (avr_mode_code_base_reg_class): New prototype.
(avr_regno_mode_code_ok_for_base_p): New prototype.
* config/avr/avr.h (BASE_REG_CLASS): Remove.
(REGNO_OK_FOR_BASE_P): Remove.
(REG_OK_FOR_BASE_NOSTRICT_P): Remove.
(REG_OK_FOR_BASE_STRICT_P): Remove.
(MODE_CODE_BASE_REG_CLASS): New define.
(REGNO_MODE_CODE_OK_FOR_BASE_P): New define.
* config/avr/avr.c (avr_mode_code_base_reg_class): New function.
(avr_regno_mode_code_ok_for_base_p): New function.
(avr_reg_ok_for_addr_p): New static function.
(avr_legitimate_address_p): Use it. Beautify.
From-SVN: r179817
Georg-Johann Lay [Tue, 11 Oct 2011 18:28:49 +0000 (18:28 +0000)]
re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)
PR target/50447
* config/avr/avr.md (cc): Add out_plus attribute alternative.
(addsi3): Use it. Adapt avr_out_plus to new prototype. Use
avr_out_plus for all CONST_INT addends.
* config/avr/avr-protos.h (avr_out_plus): Change prototype.
* config/avr/avr.c (notice_update_cc): Call avr_out_plus on
CC_OUT_PLUS.
(avr_out_plus_1): Change prototype and report effect on cc0.
(avr_out_plus): Ditto.
(adjust_insn_length): Adapt call to avr_out_plus to new prototype.
From-SVN: r179816
Jason Merrill [Tue, 11 Oct 2011 17:53:07 +0000 (13:53 -0400)]
re PR c++/49855 (internal compiler error: in fold_convert_const_int_from_real)
PR c++/49855
PR c++/49896
* cp-tree.def (IMPLICIT_CONV_EXPR): New.
* call.c (perform_implicit_conversion_flags): Build it
instead of NOP_EXPR.
* cp-objcp-common.c (cp_common_init_ts): It's typed.
* cxx-pretty-print.c (pp_cxx_cast_expression): Handle it.
(pp_cxx_expression): Likewise.
* error.c (dump_expr): Likewise.
* semantics.c (potential_constant_expression_1): Likewise.
* tree.c (cp_tree_equal): Likewise.
(cp_walk_subtrees): Likewise.
* pt.c (iterative_hash_template_arg): Likewise.
(for_each_template_parm_r): Likewise.
(type_dependent_expression_p): Likewise.
(tsubst_copy, tsubst_copy_and_build): Handle IMPLICIT_CONV_EXPR
and CONVERT_EXPR.
* cp-tree.h (IMPLICIT_CONV_EXPR_DIRECT_INIT): New.
From-SVN: r179813
H.J. Lu [Tue, 11 Oct 2011 17:25:07 +0000 (17:25 +0000)]
Remove the extra break.
2011-10-11 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_expand_special_args_builtin): Remove
the extra break.
From-SVN: r179812
Artjoms Sinkarovs [Tue, 11 Oct 2011 16:10:59 +0000 (16:10 +0000)]
New warning -Wvector-operation-performance.
From-SVN: r179807
Andreas Krebbel [Tue, 11 Oct 2011 14:11:50 +0000 (14:11 +0000)]
pr49994-3.c: Add -mbackchain for s390 and s390x.
2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/pr49994-3.c: Add -mbackchain for s390 and s390x.
From-SVN: r179805
Paolo Carlini [Tue, 11 Oct 2011 13:07:52 +0000 (13:07 +0000)]
re PR c++/50611 (Error reporting routines re-entered)
2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50611
* pt.c (tsubst_copy_and_build): If (complain & tf_error) is false
do not call unqualified_name_lookup_error.
From-SVN: r179802
Emil Wojak [Tue, 11 Oct 2011 12:39:18 +0000 (12:39 +0000)]
re PR libstdc++/50661 (std::equal should use more efficient version for arrays of pointers)
2011-10-11 Emil Wojak <emil@wojak.eu>
PR c++/50661
* include/bits/stl_algobase.h (equal): Compare arrays of pointers
too with memcmp.
From-SVN: r179801
Richard Guenther [Tue, 11 Oct 2011 11:57:23 +0000 (11:57 +0000)]
re PR tree-optimization/50204 (Missed fully redundant load found in crafty (SPEC 2k))
2011-10-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50204
* tree-ssa-alias.c (get_continuation_for_phi_1): Split out
two argument handling from ...
(get_continuation_for_phi): ... here. Handle arbitrary number
of PHI args.
* gcc.dg/tree-ssa/ssa-fre-36.c: New testcase.
From-SVN: r179799
Andreas Krebbel [Tue, 11 Oct 2011 10:59:26 +0000 (10:59 +0000)]
20090223-1.c: Add -Wno-attributes.
2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/
20090223-1.c: Add -Wno-attributes.
From-SVN: r179798
Paolo Carlini [Tue, 11 Oct 2011 10:57:40 +0000 (10:57 +0000)]
re PR c++/33067 (Awkward long decimal expansion for double literal in error.)
2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33067
* c-family/c-pretty-print.c (pp_c_floating_constant): Output
max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
From-SVN: r179797
Kirill Yukhin [Tue, 11 Oct 2011 10:18:48 +0000 (10:18 +0000)]
fma_double_1.c: Add -mfpmath=sse.
* gcc.target/i386/fma_double_1.c: Add -mfpmath=sse.
* gcc.target/i386/fma_double_2.c: Ditto.
* gcc.target/i386/fma_double_3.c: Ditto.
* gcc.target/i386/fma_double_4.c: Ditto.
* gcc.target/i386/fma_double_5.c: Ditto.
* gcc.target/i386/fma_double_6.c: Ditto.
* gcc.target/i386/fma_float_1.c: Ditto.
* gcc.target/i386/fma_float_2.c: Ditto.
* gcc.target/i386/fma_float_3.c: Ditto.
* gcc.target/i386/fma_float_4.c: Ditto.
* gcc.target/i386/fma_float_5.c: Ditto.
* gcc.target/i386/fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
* gcc.target/i386/l_fma_float_1.c: Ditto.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_run_double_1.c: Ditto.
* gcc.target/i386/l_fma_run_double_2.c: Ditto.
* gcc.target/i386/l_fma_run_double_3.c: Ditto.
* gcc.target/i386/l_fma_run_double_4.c: Ditto.
* gcc.target/i386/l_fma_run_double_5.c: Ditto.
* gcc.target/i386/l_fma_run_double_6.c: Ditto.
* gcc.target/i386/l_fma_run_float_1.c: Ditto.
* gcc.target/i386/l_fma_run_float_2.c: Ditto.
* gcc.target/i386/l_fma_run_float_3.c: Ditto.
* gcc.target/i386/l_fma_run_float_4.c: Ditto.
* gcc.target/i386/l_fma_run_float_5.c: Ditto.
* gcc.target/i386/l_fma_run_float_6.c: Ditto.
From-SVN: r179796
Richard Sandiford [Tue, 11 Oct 2011 08:17:26 +0000 (08:17 +0000)]
modulo-sched.c: Fix comment typo.
gcc/
* modulo-sched.c: Fix comment typo. Mention the possibility
of using scheduling windows of II+1 cycles.
From-SVN: r179788
Tristan Gingold [Tue, 11 Oct 2011 07:13:59 +0000 (07:13 +0000)]
c.opt: (fallow-parameterless-variadic-functions): New.
c-family/ChangeLog
2011-10-11 Tristan Gingold <gingold@adacore.com>
* c.opt: (fallow-parameterless-variadic-functions): New.
ChangeLog
2011-10-11 Tristan Gingold <gingold@adacore.com>
* doc/invoke.texi (C Dialect Options): Document
-fallow-parameterless-variadic-functions.
* c-parser.c (c_parser_parms_list_declarator): Handle it.
testsuite/ChangeLog
2011-10-11 Tristan Gingold <gingold@adacore.com>
* gcc.dg/va-arg-4.c: New test.
* gcc.dg/va-arg-5.c: Ditto.
From-SVN: r179786
Tobias Burnus [Tue, 11 Oct 2011 07:12:14 +0000 (09:12 +0200)]
ChangeLog: Fix PR number.
2011-10-11 Tobias Burnus <burnus@net-b.de>
* gcc/fortran/ChangeLog: Fix PR number.
* gcc/testsuite/ChangeLog: Ditto.
From-SVN: r179785
Paolo Carlini [Tue, 11 Oct 2011 01:28:34 +0000 (01:28 +0000)]
re PR c++/50660 (warning about pass NULL to non pointer argument happens twice)
2011-10-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50660
* call.c (conversion_null_warnings): Don't look through references.
From-SVN: r179779
GCC Administrator [Tue, 11 Oct 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r179778
Uros Bizjak [Mon, 10 Oct 2011 22:24:21 +0000 (00:24 +0200)]
target-supports.exp (check_effective_target_fd_truncate): Close and unlink test file before exit.
* lib/target-supports.exp (check_effective_target_fd_truncate):
Close and unlink test file before exit.
From-SVN: r179774
Ian Lance Taylor [Mon, 10 Oct 2011 20:34:20 +0000 (20:34 +0000)]
re PR c++/48665 (type of const member function)
PR c++/48665
* cp-demangle.c (d_cv_qualifiers): If qualifiers are applied to a
function type, change them to apply to the "this" parameter.
* testsuite/demangle-expected: Add test case.
From-SVN: r179772
Matthias Klose [Mon, 10 Oct 2011 19:27:31 +0000 (19:27 +0000)]
posix95: Remove empty directory.
2011-10-10 Matthias Klose <doko@ubuntu.com>
* config/posix95: Remove empty directory.
From-SVN: r179771
Thomas Koenig [Mon, 10 Oct 2011 19:07:35 +0000 (19:07 +0000)]
re PR fortran/50564 (Front-end optimization - ICE with FORALL)
2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50564
* frontend-passes (forall_level): New variable.
(cfe_register_funcs): Don't register functions if we
are within a forall loop.
(optimize_namespace): Set forall_level to 0 before entry.
(gfc_code_walker): Increase/decrease forall_level.
2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/50564
* gfortran.dg/forall_15.f90: New test case.
From-SVN: r179770
Benjamin Kosnik [Mon, 10 Oct 2011 19:03:39 +0000 (19:03 +0000)]
re PR libstdc++/49818 (libsupc++ does not export __cxa_get_globals or related functions)
2011-10-10 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/49818
* config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
* testsuite/util/testsuite_abi.cc: Same.
* libsupc++/unwind-cxx.h: Move required eh API...
* libsupc++/cxxabi.h: ... to here. Add required forward declarations.
Use _GLIBCXX_NOTHROW.
* libsupc++/pure.cc (__cxa_deleted_virtual): Add.
* libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
* libsupc++/eh_catch.cc: Same.
* libsupc++/eh_globals.cc: Same.
* libsupc++/eh_type.cc: Same.
From-SVN: r179769
Aldy Hernandez [Mon, 10 Oct 2011 18:32:07 +0000 (18:32 +0000)]
simulate-thread.gdb: Call wrappers for *other_threads() and *final_verify().
* gcc.dg/simulate-thread/simulate-thread.gdb: Call
wrappers for *other_threads() and *final_verify().
* gcc.dg/simulate-thread/simulate-thread.h
(simulate_thread_wrapper_other_threads): New.
(simulate_thread_wrapper_final_verify): New.
Co-Authored-By: Andrew MacLeod <amacleod@redhat.com>
From-SVN: r179768
Uros Bizjak [Mon, 10 Oct 2011 18:23:30 +0000 (20:23 +0200)]
gcc-gdb-test.exp (gdb-test): Delete $cmd_file before return.
* lib/gcc-gdb-test.exp (gdb-test): Delete $cmd_file before return.
From-SVN: r179767
Georg-Johann Lay [Mon, 10 Oct 2011 17:25:48 +0000 (17:25 +0000)]
avr.c (avr_option_override): Set flag_omit_frame_pointer to 0 if frame pointer is needed for unwinding.
* config/avr/avr.c (avr_option_override): Set
flag_omit_frame_pointer to 0 if frame pointer is needed for
unwinding.
From-SVN: r179765
Uros Bizjak [Mon, 10 Oct 2011 17:07:56 +0000 (19:07 +0200)]
* ChangeLog: Add PR number.
From-SVN: r179764
Uros Bizjak [Mon, 10 Oct 2011 17:04:41 +0000 (19:04 +0200)]
re PR bootstrap/50665 (Bootstrap failure)
PR bootstrap/50665
* optabs.h (DOI_vec_perm): Rename from OTI_vec_perm. Move from enum
optab_index to enum direct_optab_index.
(vec_perm_optab): Update.
From-SVN: r179763
Janis Johnson [Mon, 10 Oct 2011 16:41:12 +0000 (16:41 +0000)]
* gcc.dg/graphite/id-pr46845.c: Include powerpc for warning options.
From-SVN: r179762
Anatoly Sokolov [Mon, 10 Oct 2011 16:39:26 +0000 (20:39 +0400)]
cris.c (cris_preferred_reload_class): New function.
* config/cris/cris.c (cris_preferred_reload_class): New function.
(TARGET_PREFERRED_RELOAD_CLASS): Define.
* config/cris/cris.h (PREFERRED_RELOAD_CLASS): Remove.
From-SVN: r179761
Georg-Johann Lay [Mon, 10 Oct 2011 16:31:22 +0000 (16:31 +0000)]
avr.md (*tablejump_rjmp): Change insn condition to !AVR_HAVE_JMP_CALL.
* config/avr/avr.md (*tablejump_rjmp): Change insn condition to
!AVR_HAVE_JMP_CALL.
(*tablejump_lib): Change insn condition to AVR_HAVE_JMP_CALL.
(*tablejump_enh, *tablejump): Remove insns.
* config/avr/libgcc.S (__tablejump__): Use RET instead of EIND +
EIJMP for indirect jump. Use LPM Z+ where available.
From-SVN: r179760
Richard Henderson [Mon, 10 Oct 2011 16:22:21 +0000 (09:22 -0700)]
* doc/md.texi (vec_perm_const): Fix typo in cindex.
From-SVN: r179759
Kirill Yukhin [Mon, 10 Oct 2011 16:07:15 +0000 (16:07 +0000)]
Fix a typo in x86 FMA.
gcc/
2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo.
gcc/testsuite/
2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* gcc.target/i386/fma_1.h: New file.
* gcc.target/i386/fma_2.h: Likewise.
* gcc.target/i386/fma_3.h: Likewise.
* gcc.target/i386/fma_4.h: Likewise.
* gcc.target/i386/fma_5.h: Likewise.
* gcc.target/i386/fma_6.h: Likewise.
* gcc.target/i386/fma_double_1.c: Likewise.
* gcc.target/i386/fma_double_2.c: Likewise.
* gcc.target/i386/fma_double_3.c: Likewise.
* gcc.target/i386/fma_double_4.c: Likewise.
* gcc.target/i386/fma_double_5.c: Likewise.
* gcc.target/i386/fma_double_6.c: Likewise.
* gcc.target/i386/fma_float_1.c: Likewise.
* gcc.target/i386/fma_float_2.c: Likewise.
* gcc.target/i386/fma_float_3.c: Likewise.
* gcc.target/i386/fma_float_4.c: Likewise.
* gcc.target/i386/fma_float_5.c: Likewise.
* gcc.target/i386/fma_float_6.c: Likewise.
* gcc.target/i386/fma_main.h: Likewise.
* gcc.target/i386/fma_run_double_1.c: Likewise.
* gcc.target/i386/fma_run_double_2.c: Likewise.
* gcc.target/i386/fma_run_double_3.c: Likewise.
* gcc.target/i386/fma_run_double_4.c: Likewise.
* gcc.target/i386/fma_run_double_5.c: Likewise.
* gcc.target/i386/fma_run_double_6.c: Likewise.
* gcc.target/i386/fma_run_double_results_1.h: Likewise.
* gcc.target/i386/fma_run_double_results_2.h: Likewise.
* gcc.target/i386/fma_run_double_results_3.h: Likewise.
* gcc.target/i386/fma_run_double_results_4.h: Likewise.
* gcc.target/i386/fma_run_double_results_5.h: Likewise.
* gcc.target/i386/fma_run_double_results_6.h: Likewise.
* gcc.target/i386/fma_run_float_1.c: Likewise.
* gcc.target/i386/fma_run_float_2.c: Likewise.
* gcc.target/i386/fma_run_float_3.c: Likewise.
* gcc.target/i386/fma_run_float_4.c: Likewise.
* gcc.target/i386/fma_run_float_5.c: Likewise.
* gcc.target/i386/fma_run_float_6.c: Likewise.
* gcc.target/i386/fma_run_float_results_1.h: Likewise.
* gcc.target/i386/fma_run_float_results_2.h: Likewise.
* gcc.target/i386/fma_run_float_results_3.h: Likewise.
* gcc.target/i386/fma_run_float_results_4.h: Likewise.
* gcc.target/i386/fma_run_float_results_5.h: Likewise.
* gcc.target/i386/fma_run_float_results_6.h: Likewise.
* gcc.target/i386/l_fma_1.h: Likewise.
* gcc.target/i386/l_fma_2.h: Likewise.
* gcc.target/i386/l_fma_3.h: Likewise.
* gcc.target/i386/l_fma_4.h: Likewise.
* gcc.target/i386/l_fma_5.h: Likewise.
* gcc.target/i386/l_fma_6.h: Likewise.
* gcc.target/i386/l_fma_double_1.c: Likewise.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
* gcc.target/i386/l_fma_main.h: Likewise.
* gcc.target/i386/l_fma_run_double_1.c: Likewise.
* gcc.target/i386/l_fma_run_double_2.c: Likewise.
* gcc.target/i386/l_fma_run_double_3.c: Likewise.
* gcc.target/i386/l_fma_run_double_4.c: Likewise.
* gcc.target/i386/l_fma_run_double_5.c: Likewise.
* gcc.target/i386/l_fma_run_double_6.c: Likewise.
* gcc.target/i386/l_fma_run_float_1.c: Likewise.
* gcc.target/i386/l_fma_run_float_2.c: Likewise.
* gcc.target/i386/l_fma_run_float_3.c: Likewise.
* gcc.target/i386/l_fma_run_float_4.c: Likewise.
* gcc.target/i386/l_fma_run_float_5.c: Likewise.
* gcc.target/i386/l_fma_run_float_6.c: Likewise.
Co-Authored-By: Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
From-SVN: r179758
Richard Guenther [Mon, 10 Oct 2011 15:45:53 +0000 (15:45 +0000)]
re PR tree-optimization/50389 (ICE: in execute_todo, at passes.c:1730 with -O -freorder-blocks -ftracer and __builtin___memcpy_chk())
2011-10-10 Richard Guenther <rguenther@suse.de>
PR middle-end/50389
* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
mark symbols for renaming. Append the VUSE to all statements
that possibly can have one.
* gcc.dg/torture/pr50389.c: New testcase.
From-SVN: r179757
Richard Guenther [Mon, 10 Oct 2011 15:42:28 +0000 (15:42 +0000)]
ipa-split.c (pass_split_functions): Add verification TODOs.
2011-10-10 Richard Guenther <rguenther@suse.de>
* ipa-split.c (pass_split_functions): Add verification TODOs.
(pass_feedback_split_functions): Likewise.
From-SVN: r179756
Richard Guenther [Mon, 10 Oct 2011 14:25:34 +0000 (14:25 +0000)]
re PR middle-end/50195 (Linking time error with -fast-math -O0)
2011-10-10 Richard Guenther <rguenther@suse.de>
PR middle-end/50195
* fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
only when optimizing.
* gcc.dg/builtins-47.c: Optimize.
From-SVN: r179752
Aldy Hernandez [Mon, 10 Oct 2011 13:42:41 +0000 (13:42 +0000)]
gcc-simulate-thread.exp: New.
* lib/gcc-simulate-thread.exp: New.
* gcc.dg/simulate-thread/guality.h: New.
* gcc.dg/simulate-thread/simulate-thread.h: New.
* gcc.dg/simulate-thread/simulate-thread.exp: New.
* gcc.dg/simulate-thread/simulate-thread.gdb: New.
* gcc.dg/simulate-thread/README: New.
* g++.dg/simulate-thread/guality.h: New.
* g++.dg/simulate-thread/simulate-thread.h: New.
* g++.dg/simulate-thread/simulate-thread.exp: New.
* g++.dg/simulate-thread/simulate-thread.gdb: New.
* c-c++-common/cxxbitfields-2.c: Remove.
* c-c++-common/cxxbitfields.c: Remove.
* c-c++-common/cxxbitfields-4.c: Remove.
* c-c++-common/cxxbitfields-5.c: Remove.
* c-c++-common/simulate-thread/bitfields-1.c: New.
* c-c++-common/simulate-thread/bitfields-2.c: New.
* c-c++-common/simulate-thread/bitfields-3.c: New.
* c-c++-common/simulate-thread/bitfields-4.c: New.
From-SVN: r179751
Nick Clifton [Mon, 10 Oct 2011 13:31:03 +0000 (13:31 +0000)]
re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of CC_REGNUM and checking enabled in rx backend)
PR middle-end/49801
* compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
df_get_live_out instead of accessing the bitmaps directly.
(execute_compare_elim_after_reload): Remove calls to df_set_flags,
df_live_add_problem and df_analyze.
From-SVN: r179749
Michael Matz [Mon, 10 Oct 2011 11:59:29 +0000 (11:59 +0000)]
re PR middle-end/50638 (emulated TLS fails)
PR middle-end/50638
* tree-emutls.c (gen_emutls_addr): Call add_referenced_var.
From-SVN: r179745
Richard Sandiford [Mon, 10 Oct 2011 11:42:55 +0000 (11:42 +0000)]
modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
gcc/
* modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
(SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
(node_sched_params): Remove first_reg_move and nreg_moves.
(ps_num_consecutive_stages, extend_node_sched_params): New functions.
(update_node_sched_params): Move up file.
(print_node_sched_params): Print the stage. Don't dump info related
to first_reg_move and nreg_moves.
(set_columns_for_row): New function.
(set_columns_for_ps): Move up file and use set_columns_for_row.
(schedule_reg_move): New function.
(schedule_reg_moves): Call extend_node_sched_params and
schedule_reg_move. Extend size of uses bitmap. Initialize
num_consecutive_stages. Return false if a move could not be
scheduled.
(apply_reg_moves): Don't emit moves here.
(permute_partial_schedule): Handle register moves.
(duplicate_insns_of_cycles): Remove for_prolog. Emit moves according
to the same stage-count test as ddg nodes.
(generate_prolog_epilog): Update calls accordingly.
(sms_schedule): Allow move-scheduling to add a new first stage.
From-SVN: r179744
Richard Sandiford [Mon, 10 Oct 2011 11:42:38 +0000 (11:42 +0000)]
modulo-sched.c (ps_insn): Adjust comment.
gcc/
* modulo-sched.c (ps_insn): Adjust comment.
(ps_reg_move_info): New structure.
(partial_schedule): Add reg_moves field.
(SCHED_PARAMS): Use node_sched_param_vec instead of node_sched_params.
(node_sched_params): Turn first_reg_move into an identifier.
(ps_reg_move): New function.
(ps_rtl_insn): Cope with register moves.
(ps_first_note): Adjust comment and assert that the instruction
isn't a register move.
(node_sched_params): Replace with...
(node_sched_param_vec): ...this vector.
(set_node_sched_params): Adjust accordingly.
(print_node_sched_params): Take a partial schedule instead of a ddg.
Use ps_rtl_insn and ps_reg_move.
(generate_reg_moves): Rename to...
(schedule_reg_moves): ...this. Remove rescan parameter. Record each
move in the partial schedule, but don't emit it here. Don't perform
register substitutions here either.
(apply_reg_moves): New function.
(duplicate_insns_of_cycles): Use register indices directly,
rather than finding instructions using PREV_INSN. Use ps_reg_move.
(sms_schedule): Call schedule_reg_moves before committing to
a partial schedule. Try the next ii if the schedule fails.
Use apply_reg_moves instead of generate_reg_moves. Adjust
call to print_node_sched_params. Free node_sched_param_vec
instead of node_sched_params.
(create_partial_schedule): Initialize reg_moves.
(free_partial_schedule): Free reg_moves.
From-SVN: r179743
Richard Sandiford [Mon, 10 Oct 2011 11:42:21 +0000 (11:42 +0000)]
modulo-sched.c (ps_insn): Replace node field with an identifier.
gcc/
* modulo-sched.c (ps_insn): Replace node field with an identifier.
(SCHED_ASAP): Replace with..
(NODE_ASAP): ...this macro.
(SCHED_PARAMS): New macro.
(SCHED_TIME, SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES, SCHED_ROW)
(SCHED_STAGE, SCHED_COLUMN): Redefine using SCHED_PARAMS.
(node_sched_params): Remove asap.
(ps_rtl_insn, ps_first_note): New functions.
(set_node_sched_params): Use XCNEWVEC. Don't copy across the
asap values.
(print_node_sched_params): Use SCHED_PARAMS and NODE_ASAP.
(generate_reg_moves): Pass ids to the SCHED_* macros.
(update_node_sched_params): Take a ps insn identifier rather than
a node as parameter. Use ps_rtl_insn.
(set_columns_for_ps): Update for above field and SCHED_* macro changes.
(permute_partial_schedule): Use ps_rtl_insn and ps_first_note.
(optimize_sc): Update for above field and SCHED_* macro changes.
Update calls to try_scheduling_node_in_cycle and
update_node_sched_params.
(duplicate_insns_of_cycles): Adjust for above field and SCHED_*
macro changes. Use ps_rtl_insn and ps_first_note.
(sms_schedule): Pass ids to the SCHED_* macros.
(get_sched_window): Adjust for above field and SCHED_* macro changes.
Use NODE_ASAP instead of SCHED_ASAP.
(try_scheduling_node_in_cycle): Remove node parameter. Update
call to ps_add_node_check_conflicts. Pass ids to the SCHED_*
macros.
(sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
(ps_insert_empty_row): Adjust for above field changes.
(compute_split_row): Use ids rather than nodes.
(verify_partial_schedule): Adjust for above field changes.
(print_partial_schedule): Use ps_rtl_insn.
(create_ps_insn): Take an id rather than a node.
(ps_insn_find_column): Adjust for above field changes.
Use ps_rtl_insn.
(ps_insn_advance_column): Adjust for above field changes.
(add_node_to_ps): Remove node parameter. Update call to
create_ps_insn.
(ps_has_conflicts): Use ps_rtl_insn.
(ps_add_node_check_conflicts): Replace node parameter than an id.
From-SVN: r179742
Richard Sandiford [Mon, 10 Oct 2011 11:41:55 +0000 (11:41 +0000)]
modulo-sched.c (undo_replace_buff_elem): Delete.
gcc/
* modulo-sched.c (undo_replace_buff_elem): Delete.
(generate_reg_moves): Don't build and return an undo list.
(free_undo_replace_buff): Delete.
(sms_schedule): Adjust call to generate_reg_moves.
Don't call free_undo_replace_buff.
From-SVN: r179741
Matthias Klose [Mon, 10 Oct 2011 11:25:54 +0000 (11:25 +0000)]
m32c: Remove empty directory.
2011-10-10 Matthias Klose <doko@ubuntu.com>
* common/config/m32c: Remove empty directory.
From-SVN: r179740
Georg-Johann Lay [Mon, 10 Oct 2011 09:57:02 +0000 (09:57 +0000)]
avr.md (*mulhi3_enh): Treat squaring smarter.
* config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
From-SVN: r179739
Georg-Johann Lay [Mon, 10 Oct 2011 08:32:15 +0000 (08:32 +0000)]
re PR target/50652 ([avr] Incorrect data start value for atmega164a)
PR target/50652
* config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
atmega164a to 0x100.
From-SVN: r179737
GCC Administrator [Mon, 10 Oct 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r179735
Paolo Carlini [Sun, 9 Oct 2011 23:20:39 +0000 (23:20 +0000)]
re PR c++/38980 (missing -Wformat warning on const char format string)
/cp
2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38980
* init.c (constant_value_1): Add bool parameter.
(decl_constant_value_safe): Add.
(integral_constant_value): Adjust.
(decl_constant_value): Adjust.
* cp-tree.h (decl_constant_value_safe): Declare.
* typeck.c (decay_conversion): Use decl_constant_value_safe.
* call.c (convert_like_real): Likewise.
/testsuite
2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38980
* g++.dg/warn/format5.C: New.
From-SVN: r179731
Eric Botcazou [Sun, 9 Oct 2011 21:39:12 +0000 (21:39 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make the replacement if the conversion to the LHS type is not useless.
* tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
the replacement if the conversion to the LHS type is not useless.
From-SVN: r179730
Tobias Burnus [Sun, 9 Oct 2011 19:37:47 +0000 (21:37 +0200)]
re PR fortran/45044 (Different named COMMON block size: No warning)
2011-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* trans-common.c (translate_common): Fix -Walign-commons
check.
2011-10-09 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
* gfortran.dg/common_16.f90: New.
From-SVN: r179729
Mikael Morin [Sun, 9 Oct 2011 16:59:42 +0000 (16:59 +0000)]
Fix dead e-mail address in ChangeLogs
From-SVN: r179728
Mikael Morin [Sun, 9 Oct 2011 16:48:25 +0000 (16:48 +0000)]
Fix bogus e-mail address in ChangeLogs
From-SVN: r179727
Mikael Morin [Sun, 9 Oct 2011 16:19:06 +0000 (18:19 +0200)]
interface.c (check_dummy_characteristics): Count dimensions starting from one in diagnostic.
* interface.c (check_dummy_characteristics): Count dimensions starting
from one in diagnostic.
From-SVN: r179726
Tobias Burnus [Sun, 9 Oct 2011 15:36:18 +0000 (17:36 +0200)]
Make-lang.in (F95_PARSER_OBJS, [...]): Add dependency on iso-c-binding.def and iso-fortran-env.def.
2011-10-09 Tobias Burnus <burnus@net-b.de>
* Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
dependency on iso-c-binding.def and iso-fortran-env.def.
* module.c (import_iso_c_binding_module): Add error when
explicitly importing a nonstandard symbol; extend standard-
depending loading.
* iso-c-binding.def: Add c_float128 and c_float128_complex
integer parameters (for -std=gnu).
* intrinsic.texi (ISO_C_Binding): Document them.
* symbol.c (generate_isocbinding_symbol): Change macros
to ignore GFC_STD_* data.
* trans-types.c (gfc_init_c_interop_kinds): Ditto; make
nonstatic and renamed from "init_c_interop_kinds".
(gfc_init_kinds): Don't call it
* trans-types.h (gfc_init_c_interop_kinds): Add prototype.
* f95-lang.c (gfc_init_decl_processing): Call it.
2011-10-09 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/iso_c_binding_param_1.f90: New.
* gfortran.dg/iso_c_binding_param_2.f90: New.
* gfortran.dg/c_sizeof_2.f90: Update dg-error.
From-SVN: r179725