paolo [Fri, 14 Oct 2011 09:14:26 +0000 (09:14 +0000)]
/gcc
2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/17212
* c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
* doc/invoke.texi: Update.
/testsuite
2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/17212
* g++.dg/warn/format6.C: New.
* obj-c++.dg/warn6.mm: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179963
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 14 Oct 2011 08:13:04 +0000 (08:13 +0000)]
gcc:
PR bootstrap/50699
* config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
build for powerpc targets. (darwin_patch_builtins): Only build for
powerpc targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179962
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 14 Oct 2011 06:57:55 +0000 (06:57 +0000)]
2011-10-14 Jonathan Yong <jon_y@users.sourceforge.net>
* configure.host: Use config/os/mingw32-w64 instead of
config/os/mingw32 if vendor key is "w64".
* config/os/mingw32-w64: Duplicate from config/os/mingw32.
* config/os/mingw32-w64/os_defines.h: Enable
_GLIBCXX_FULLY_DYNAMIC_STRING if undefined.
* acinclude.m4: Set fully-dynamic-string to 1 when enabled,
0 when disabled or undefined if unset by user.
* include/bits/basic_string.h: Check if
_GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined.
include/bits/basic_string.tcc: Likewise.
* configure: Regenerated.
* config.h.in: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179961
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 14 Oct 2011 06:06:14 +0000 (06:06 +0000)]
* config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
(avx_cvtdq2pd256_2): ... this.
(sseunpackfltmode): New mode attr.
(vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
using VI2_AVX2 iterator.
(vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New
expanders.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179960
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Fri, 14 Oct 2011 03:48:06 +0000 (03:48 +0000)]
Merge sparc plus/minus vector operations using a code iterator.
* config/sparc/sparc.md (plusminus): New code iterator.
(plusminus_insn): New code attr.
(addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
using plusminus and plusminus_insn.
(fpadd64_vis, fpsub64_vis): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179959
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 14 Oct 2011 03:31:23 +0000 (03:31 +0000)]
Expand vector permutation with vec_perm and vec_perm_const.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179958
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 14 Oct 2011 03:27:01 +0000 (03:27 +0000)]
rs6000: Fix typo in rs6000_expand_vector_init
Of course we don't support vectors of size <= 4.
We're supposed to be checking the vector element size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179957
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 14 Oct 2011 03:25:58 +0000 (03:25 +0000)]
Move lowering of vector shifts from v/s to v/v from gimple to rtl.
This allows other rtl expanders to rely on shifts of vector by scalar.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179956
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 14 Oct 2011 03:20:37 +0000 (03:20 +0000)]
i386: Implement vec_perm_const<mode>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179955
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 14 Oct 2011 03:18:14 +0000 (03:18 +0000)]
spu: Implement vec_permv16qi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179954
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 14 Oct 2011 03:17:16 +0000 (03:17 +0000)]
rs6000: Implement vec_permv16qi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179953
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 14 Oct 2011 00:18:38 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179952
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 14 Oct 2011 00:12:40 +0000 (00:12 +0000)]
2011-10-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/50714
* include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize
_M_c_locale_codecvt member.
* testsuite/22_locale/codecvt_byname/50714.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179948
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 Oct 2011 21:23:47 +0000 (21:23 +0000)]
PR c++/50614
* cp-tree.h (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK): New.
(DECL_TEMPLATE_INFO): Use it.
* pt.c (tsubst_decl) [FIELD_DECL]: Set DECL_TEMPLATE_INFO
if the decl has an NSDMI.
* init.c (perform_member_init): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179945
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 Oct 2011 21:23:36 +0000 (21:23 +0000)]
PR c++/50437
* cp-tree.h (struct tree_lambda_expr): Add closure field.
(LAMBDA_EXPR_CLOSURE): New.
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Likewise.
* semantics.c (build_lambda_object): Use it instead of TREE_TYPE.
(begin_lambda_type, lambda_function, add_capture): Likewise.
(add_default_capture, lambda_expr_this_capture): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179944
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Thu, 13 Oct 2011 21:15:44 +0000 (21:15 +0000)]
Fix the RTL of some sparc VIS patterns.
* config/sparc/sparc.md (UNSPEC_FPMERGE): Delete.
(UNSPEC_MUL16AU, UNSPEC_MUL8, UNSPEC_MUL8SU, UNSPEC_MULDSU): New
unspecs.
(fpmerge_vis): Remove inaccurate comment, represent using vec_select
of a vec_concat.
(vec_interleave_lowv8qi, vec_interleave_highv8qi): New insns.
(fmul8x16_vis, fmul8x16au_vis, fmul8sux16_vis, fmuld8sux16_vis):
Reimplement as unspecs and remove inaccurate comments.
(vis3_shift_patname): New code attr.
(<vis3_shift_insn><vbits>_vis): Rename to "v<vis3_shift_patname><mode>3".
(vis3_addsub_ss_patname): New code attr.
(<vis3_addsub_ss_insn><vbits>_vis): Rename to
"<vis3_addsub_ss_patname><mode>3".
* config/sparc/sparc.c (sparc_vis_init_builtins): Update to
accommodate pattern name changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179943
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Thu, 13 Oct 2011 18:26:08 +0000 (18:26 +0000)]
* cp-tree.h (struct language_function): Rename in_function_try_handler
to x_in_function_try_handler.
Rename in_base_initializer to x_in_base_initializer.
Update all users.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179940
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Thu, 13 Oct 2011 18:25:10 +0000 (18:25 +0000)]
* class.c (sorted_fields_type_new): Factor out of ...
(finish_struct_1): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179939
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 13 Oct 2011 18:01:51 +0000 (18:01 +0000)]
PR c++/50618
* init.c (expand_aggr_init_1): Don't zero-initialize virtual
bases of a base subobject.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179934
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 13 Oct 2011 16:26:48 +0000 (16:26 +0000)]
* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
to V.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179931
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 13 Oct 2011 16:09:12 +0000 (16:09 +0000)]
* tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE
from vector or complex vars even if their DECL_UID is in not_reg_needs
bitmap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179930
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 13 Oct 2011 16:08:04 +0000 (16:08 +0000)]
* config/i386/sse.md (reduc_umin_v8hi): New pattern.
* config/i386/i386.c (ix86_build_const_vector): Handle
also V32QI, V16QI, V16HI and V8HI modes.
(emit_reduc_half): New function.
(ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
Use emit_reduc_half helper function.
* gcc.target/i386/sse4_1-phminposuw-2.c: New test.
* gcc.target/i386/sse4_1-phminposuw-3.c: New test.
* gcc.target/i386/avx-vphminposuw-2.c: New test.
* gcc.target/i386/avx-vphminposuw-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179929
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Thu, 13 Oct 2011 15:41:52 +0000 (15:41 +0000)]
2011-10-12 Lawrence Crowl <crowl@google.com>
Diego Novillo <dnovillo@google.com>
* lto-streamer-in.c (input_struct_function_base): Factor out of ...
(input_function): ... here.
* lto-streamer-out.c (output_struct_function_base): Factor out of ...
(output_function): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179928
138bc75d-0d04-0410-961f-
82ee72b054a4
dnovillo [Thu, 13 Oct 2011 15:40:29 +0000 (15:40 +0000)]
2011-10-12 Gabriel Charette <gchare@google.com>
Diego Novillo <dnovillo@google.com>
* streamer-hooks.h (struct streamer_hooks): Add hooks
input_location and output_location.
* lto-streamer-in.c (lto_input_location): Use
streamer_hooks.input_location, if set.
* lto-streamer-out.c (lto_output_location): Use
streamer_hooks.output_location, if set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179927
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 13 Oct 2011 15:39:27 +0000 (15:39 +0000)]
Check ia32 instead of ilp32.
2011-10-13 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pr50712.c: Check ia32 instead of ilp32.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179926
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 13 Oct 2011 12:59:34 +0000 (12:59 +0000)]
* doc/invoke.texi (SPARC options): Document -mfix-at697f.
* config/sparc/sparc.opt (mfix-at697f): New option.
* config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
(sparc_reorg): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179921
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 13 Oct 2011 12:28:16 +0000 (12:28 +0000)]
* gcc.dg/builtins-67.c: Guard iround and irint with HAVE_C99_RUNTIME.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179920
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 13 Oct 2011 12:07:44 +0000 (12:07 +0000)]
2011-10-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50712
* ipa-split.c (split_function): Always re-gimplify parameters
when they are not gimple vals before passing them. Properly
check for type compatibility.
* gcc.target/i386/pr50712.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179919
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 11:12:07 +0000 (11:12 +0000)]
Remove Packages_To_Check parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179918
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 11:11:37 +0000 (11:11 +0000)]
Remove default for argument Packages_To_Check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179917
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 13 Oct 2011 11:10:01 +0000 (11:10 +0000)]
Fix PR middle-end/50527 ChangeLog entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179916
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 11:09:11 +0000 (11:09 +0000)]
2011-10-13 Robert Dewar <dewar@adacore.com>
* sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
sem_ch6.adb, exp_ch3.adb: Minor reformatting.
2011-10-13 Arnaud Charlet <charlet@adacore.com>
* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
2011-10-13 Jerome Guitton <guitton@adacore.com>
* sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
* a-convec.ads (Cursor): Minor reformatting.
* a-convec.adb (Next): Fix minor inconsistencies.
(Previous): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179915
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 11:05:50 +0000 (11:05 +0000)]
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
New predicate to determine whether some operations on an array
type are available when the full view of its component may differ
from the view of the point of the array declaration.
* sem_ch4.adb (Find_Equality_Types): Use
Available_Full_View_Of_Component.
* sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb: Analyze aspects while discriminants of protected
type are visible.
2011-10-13 Geert Bosch <bosch@adacore.com>
* Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
longer depend on an external library.
* gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
Update dependencies.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179914
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 11:00:13 +0000 (11:00 +0000)]
2011-10-13 Cyrille Comar <comar@adacore.com>
* gnat_ugn.texi: Minor editing.
2011-10-13 Vincent Celier <celier@adacore.com>
* projects.texi: Add documentation on packages and attributes
that are inherited from a project being extended into the
extended project.
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Master): Rewritten.
(Expand_N_Full_Type_Declaration): Reformat the declarative
region. Update the call to Build_Master_Renaming.
(Expand_Previous_Access_Type): Rewritten.
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
Add local constant Result_Subt and update related usage.
(Expand_N_Extended_Return_Statement): Add local constant
Result_Subt and update related usage.
* exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
new context detection mechanism.
(Build_Class_Wide_Master):
Use Insert_Action to add the renaming into the tree.
(Build_Master_Entity): Rewritten to use the new context detection
mechanism.
(Build_Master_Renaming): Add formal parameter Ins_Nod
and related usage. Use Insert_Action to add the renaming into the
tree.
(Find_Enclosing_Context): New subsidiary routine. Rather
than relying on enclosing scopes, this routine looks at the
tree structure to figure out the proper context for a _master
or a _chain. This approach eliminates the issues with transient
scopes which have not been converted into blocks.
* exp_ch9.ads (Build_Master_Entity): Change parameter profile
to better reflect the new usage. Update the related comment.
(Build_Master_Renaming): Add formal parameter Ins_Nod. Update
the comment on usage.
* sem_ch3.adb (Access_Definition): Update the calls to
Build_Master_Entity and Build_Master_Renaming.
* sem_ch6.adb (Create_Extra_Formals): Add local variable
Full_Subt. Code reformatting.
* sem_util.adb (Is_Iterator): Alphabetized.
(Is_LHS): Alphabetized.
(Is_Limited_Class_Wide_Type): New routine.
* sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179913
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:56:08 +0000 (10:56 +0000)]
2011-10-13 Geert Bosch <bosch@adacore.com>
* a-ngrear.adb (Solve): Make generic and move to
System.Generic_Array_Operations.
* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
New generic solvers to compute a vector resp. matrix Y such
that A * Y = X, approximately.
* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
Implement using Forward_Eliminate and Back_Substitute
* a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
on BLAS and LAPACK.
* a-ngcoar.ads ("abs"): Fix return type to be real.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179912
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 13 Oct 2011 10:54:19 +0000 (10:54 +0000)]
PR ada/50589
* s-linux-alpha.ads: Do not "with" Interfaces.C.
* s-linux-sparc.ads: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179911
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:52:59 +0000 (10:52 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179910
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:51:39 +0000 (10:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179909
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:49:57 +0000 (10:49 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179908
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:47:00 +0000 (10:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179907
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:43:52 +0000 (10:43 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179906
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:40:53 +0000 (10:40 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179905
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:39:15 +0000 (10:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179904
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:37:33 +0000 (10:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179903
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:32:13 +0000 (10:32 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179902
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 13 Oct 2011 10:24:47 +0000 (10:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179901
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:23:36 +0000 (10:23 +0000)]
* gcc-interface/Makefile.in: Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179900
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:22:28 +0000 (10:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179899
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 13 Oct 2011 10:13:36 +0000 (10:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179898
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 13 Oct 2011 09:54:58 +0000 (09:54 +0000)]
2011-10-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/memcpy-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179897
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 13 Oct 2011 09:54:50 +0000 (09:54 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179896
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 13 Oct 2011 09:00:01 +0000 (09:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179895
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 13 Oct 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179885
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 12 Oct 2011 22:41:57 +0000 (22:41 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179878
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Wed, 12 Oct 2011 22:41:18 +0000 (22:41 +0000)]
* gcc.target/powerpc/warn-1.c: Skip if not powerpc_vsx_ok.
* gcc.target/powerpc/warn-2.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179877
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Wed, 12 Oct 2011 22:38:57 +0000 (22:38 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179876
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179875
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 12 Oct 2011 22:09:21 +0000 (22:09 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179873
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 Oct 2011 22:07:24 +0000 (22:07 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179872
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 Oct 2011 22:06:45 +0000 (22:06 +0000)]
* config/i386/sse.md (vec_avx2): New mode_attr.
(mulv16qi3): Macroize to cover also mulv32qi3 for
TARGET_AVX2 into ...
(mul<mode>3): ... this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179871
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 Oct 2011 22:05:58 +0000 (22:05 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179870
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 Oct 2011 22:05:00 +0000 (22:05 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179869
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 12 Oct 2011 22:00:14 +0000 (22:00 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179868
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 12 Oct 2011 18:40:58 +0000 (18:40 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179863
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179861
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 12 Oct 2011 17:05:07 +0000 (17:05 +0000)]
* config/i386/i386.md (simple_return): Disable
if TARGET_SEH is active.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179860
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Wed, 12 Oct 2011 16:04:59 +0000 (16:04 +0000)]
2011-10-12 Steve Ellcey <sje@cup.hp.com>
* config/ia64/ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179859
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 12 Oct 2011 15:28:48 +0000 (15:28 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179858
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 12 Oct 2011 15:16:14 +0000 (15:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179857
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 12 Oct 2011 14:11:20 +0000 (14:11 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179854
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 12 Oct 2011 13:19:34 +0000 (13:19 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179850
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 12 Oct 2011 13:08:11 +0000 (13:08 +0000)]
Delete svn:mergeinfo properties.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179849
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Wed, 12 Oct 2011 12:04:04 +0000 (12:04 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179848
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 12 Oct 2011 11:56:03 +0000 (11:56 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179845
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Wed, 12 Oct 2011 10:18:17 +0000 (10:18 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179844
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Wed, 12 Oct 2011 09:59:30 +0000 (09:59 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179843
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 12 Oct 2011 07:46:58 +0000 (07:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179839
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 12 Oct 2011 00:18:27 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179835
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 11 Oct 2011 21:33:24 +0000 (21:33 +0000)]
PR target/49965
* config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
(mov<F:mode>cc): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179827
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 11 Oct 2011 21:29:04 +0000 (21:29 +0000)]
Remove incorrect ChangeLog entry, correct spacing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179826
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 11 Oct 2011 21:21:43 +0000 (21:21 +0000)]
2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree-ssa-address.c (copy_ref_info): Remove copy of TREE_THIS_NOTRAP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179825
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 11 Oct 2011 19:55:09 +0000 (19:55 +0000)]
Convert standard builtin functions from being arrays to using a functional interface
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179820
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 11 Oct 2011 18:39:51 +0000 (18:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179818
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 11 Oct 2011 18:34:16 +0000 (18:34 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179817
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 11 Oct 2011 18:28:49 +0000 (18:28 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179816
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 11 Oct 2011 17:53:07 +0000 (17:53 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179813
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179812
138bc75d-0d04-0410-961f-
82ee72b054a4
tema [Tue, 11 Oct 2011 16:10:59 +0000 (16:10 +0000)]
New warning -Wvector-operation-performance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179807
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 11 Oct 2011 14:11:50 +0000 (14:11 +0000)]
2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/pr49994-3.c: Add -mbackchain for s390 and s390x.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179805
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 11 Oct 2011 13:07:52 +0000 (13:07 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179802
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 11 Oct 2011 12:39:18 +0000 (12:39 +0000)]
2011-10-11 Emil Wojak <emil@wojak.eu>
PR c++/50661
* include/bits/stl_algobase.h (equal): Compare arrays of pointers
too with memcmp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179801
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 11 Oct 2011 11:57:23 +0000 (11:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179799
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 11 Oct 2011 10:59:26 +0000 (10:59 +0000)]
2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/
20090223-1.c: Add -Wno-attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179798
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 11 Oct 2011 10:57:40 +0000 (10:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179797
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 11 Oct 2011 10:18:48 +0000 (10:18 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179796
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 11 Oct 2011 08:17:26 +0000 (08:17 +0000)]
gcc/
* modulo-sched.c: Fix comment typo. Mention the possibility
of using scheduling windows of II+1 cycles.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179788
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Tue, 11 Oct 2011 07:13:59 +0000 (07:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179786
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 11 Oct 2011 07:12:14 +0000 (07:12 +0000)]
2011-10-11 Tobias Burnus <burnus@net-b.de>
* gcc/fortran/ChangeLog: Fix PR number.
* gcc/testsuite/ChangeLog: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179785
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 11 Oct 2011 01:28:34 +0000 (01:28 +0000)]
2011-10-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50660
* call.c (conversion_null_warnings): Don't look through references.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179779
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 11 Oct 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179778
138bc75d-0d04-0410-961f-
82ee72b054a4