Oleg Endo [Sat, 15 Oct 2011 02:32:53 +0000 (02:32 +0000)]
re PR target/49263 (SH Target: underutilized "TST #imm, R0" instruction)
PR target/49263
* config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro.
* config/sh/sh.c (sh_rtx_costs): Add test instruction case.
* config/sh/sh.md (tstsi_t): Name existing insn. Make inner
and instruction commutative.
(tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not,
tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor,
tstsi_t_zero_extract_subreg_xor_little,
tstsi_t_zero_extract_subreg_xor_big): New insns.
(*movsicc_t_false, *movsicc_t_true): Replace space with tab in
asm output.
(*andsi_compact): Reorder alternatives so that K08 is considered
first.
* gcc.target/sh/pr49263.c: New.
From-SVN: r180020
GCC Administrator [Sat, 15 Oct 2011 00:19:01 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r180019
Eric Botcazou [Fri, 14 Oct 2011 23:24:36 +0000 (23:24 +0000)]
* gnat.dg/specs/debug1.ads: Tweak.
From-SVN: r180015
Eric Botcazou [Fri, 14 Oct 2011 23:02:40 +0000 (23:02 +0000)]
re PR target/50354 (architecture mismatch between compiler and assembler)
PR target/50354
* config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default
processor is at least V9 and TARGET_64BIT_DEFAULT is defined.
From-SVN: r180013
Gerald Pfeifer [Fri, 14 Oct 2011 20:22:15 +0000 (20:22 +0000)]
* invoke.texi (AVR Options): Avoid \leq{}.
From-SVN: r180007
Kai Tietz [Fri, 14 Oct 2011 19:30:42 +0000 (21:30 +0200)]
gimplify.c (gimplify_expr): Take care that for bitwise-binary transformation the operands have compatible types.
* gimplify.c (gimplify_expr): Take care that for bitwise-binary
transformation the operands have compatible types.
* gfortran.fortran-torture/compile/logical-2.f90: New test.
From-SVN: r180006
Jakub Jelinek [Fri, 14 Oct 2011 19:25:07 +0000 (21:25 +0200)]
sse.md (vec_widen_smult_hi_v8hi, [...]): Macroize using VI2_AVX2 mode iterator and any_extend code iterator.
* config/i386/sse.md (vec_widen_smult_hi_v8hi,
vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
mode iterator and any_extend code iterator.
(vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New
expanders.
(vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
also for TARGET_SSE4_1 using pmuldq insn.
(sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
(sse2_sse4_1): New code attr.
(udot_prodv4si): Macroize using any_extend code iterator.
(<s>dot_prodv8si): New expander.
* gcc.target/i386/sse2-mul-1.c: New test.
* gcc.target/i386/sse4_1-mul-1.c: New test.
* gcc.target/i386/avx-mul-1.c: New test.
* gcc.target/i386/xop-mul-1.c: New test.
* gcc.target/i386/avx2-mul-1.c: New test.
From-SVN: r180005
Jason Merrill [Fri, 14 Oct 2011 19:22:59 +0000 (15:22 -0400)]
fix PR tag
From-SVN: r180004
Jason Merrill [Fri, 14 Oct 2011 19:12:57 +0000 (15:12 -0400)]
re PR c++/50563 ([C++0x] Weird syntax acceptance rules for non-static data members initialized in place)
PR c++/50563
* parser.c (cp_parser_cache_group): Handle end==CPP_COMMA.
(cp_parser_save_nsdmi): Pass it.
From-SVN: r180003
Jason Merrill [Fri, 14 Oct 2011 19:12:45 +0000 (15:12 -0400)]
re PR c++/50707 ([C++0x] Non-static const data member initializer breaks default constructor)
PR c++/50507
* method.c (walk_field_subobs): Check for NSDMI before
complaining about uninitialized fields.
From-SVN: r180002
Jason Merrill [Fri, 14 Oct 2011 19:12:33 +0000 (15:12 -0400)]
pt.c (tsubst_decl): Use void_zero_node instead of error_mark_node as a placeholder.
* pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node
instead of error_mark_node as a placeholder.
From-SVN: r180001
Janus Weil [Fri, 14 Oct 2011 17:59:29 +0000 (19:59 +0200)]
re PR fortran/50570 (Incorrect error for assignment to intent(in) pointer)
2011-10-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/50570
* expr.c (gfc_check_vardef_context): Don't throw an error on
non-pointer assignments involving an intent(in) pointer dummy.
2011-10-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/50570
* gfortran.dg/pointer_intent_5.f90: New.
From-SVN: r180000
Yakovlev Vladimir [Fri, 14 Oct 2011 17:38:46 +0000 (17:38 +0000)]
Changed cost for loading QImode using movzbl.
2011-10-14 Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
* config/i386/i386.c (atom_cost): Changed cost for loading
QImode using movzbl.
From-SVN: r179999
Michael Meissner [Fri, 14 Oct 2011 17:36:05 +0000 (17:36 +0000)]
Fix typo in my last change
From-SVN: r179998
Jakub Jelinek [Fri, 14 Oct 2011 16:55:25 +0000 (18:55 +0200)]
sse.md (vec_interleave_high<mode>, [...]): Add AVX2 expanders for VI_256 modes.
* config/i386/sse.md (vec_interleave_high<mode>,
vec_interleave_low<mode>): Add AVX2 expanders for VI_256
modes.
* config/i386/i386.c (expand_vec_perm_interleave3): New function.
(ix86_expand_vec_perm_builtin_1): Call it.
From-SVN: r179995
Georg-Johann Lay [Fri, 14 Oct 2011 16:42:24 +0000 (16:42 +0000)]
Fix thinko from r179765
Fix thinko from r179765
* config/avr/avr.c (avr_option_override): Don't override
flag_omit_frame_pointer if not actually needed.
From-SVN: r179994
Georg-Johann Lay [Fri, 14 Oct 2011 15:42:33 +0000 (15:42 +0000)]
re PR target/46278 (avr-gcc 4.5.1 doing suboptimal reloads using X)
PR target/46278
* doc/invoke.texi (AVR Options): Document -mstrict-X.
* config/avr/avr.opt (-mstrict-X): New option.
(avr_strict_X): New variable reflecting -mstrict-X.
* config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
(avr_legitimate_address_p): Pass outer_code to
avr_reg_ok_for_addr_p and use that function in case PLUS.
(avr_mode_code_base_reg_class): Depend on avr_strict_X.
(avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
(avr_option_override): Disable -fcaller-saves if -mstrict-X is on.
From-SVN: r179993
Artjoms Sinkarovs [Fri, 14 Oct 2011 15:37:07 +0000 (15:37 +0000)]
Exclude 32-bit archs from warn-vect-op* tests.
From-SVN: r179991
Jakub Jelinek [Fri, 14 Oct 2011 15:28:39 +0000 (17:28 +0200)]
sse.md (neg<mode>2): Use VI_AVX2 iterator instead of VI_128.
* config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
of VI_128.
From-SVN: r179990
Arnaud Charlet [Fri, 14 Oct 2011 15:12:32 +0000 (17:12 +0200)]
[multiple changes]
2011-10-14 Ed Schonberg <schonberg@adacore.com>
* exp_disp.adb (Check_Premature_Freezing): If an untagged type
is a generic actual, it is a subtype of a type that was frozen
by the instantiation, and even if not marked frozen it does not
affect the construction of the dispatch table.
2011-10-14 Robert Dewar <dewar@adacore.com>
* make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
reformatting.
* s-rident.ads: Add missing Compiler_Unit pragma.
From-SVN: r179989
Tobias Burnus [Fri, 14 Oct 2011 15:09:21 +0000 (17:09 +0200)]
re PR fortran/50718 (ICE (fold_convert) with -fcheck=pointer)
2011-10-14 Tobias Burnus <burnus@net-b.de>
PR fortran/50718
* trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
for dummy arguments with VALUE attribute.
2011-10-14 Tobias Burnus <burnus@net-b.de>
PR fortran/50718
* gfortran.dg/pointer_check_11.f90: New.
* gfortran.dg/pointer_check_12.f90: New.
From-SVN: r179988
Jakub Jelinek [Fri, 14 Oct 2011 15:05:55 +0000 (17:05 +0200)]
sse.md (mulv2di3): Macroize using VI8_AVX2 iterator.
* config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2
iterator.
(ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
Use <sseinsnmode> instead of TI in mode attr.
From-SVN: r179987
Arnaud Charlet [Fri, 14 Oct 2011 15:03:39 +0000 (17:03 +0200)]
[multiple changes]
2011-10-14 Gary Dismukes <dismukes@adacore.com>
* sem_res.adb: Minor reformatting.
2011-10-14 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
Code and comment reformatting. Use BIP_Task_Master
when creating a _master.
(BIP_Formal_Suffix): Code reformatting. Correct the case for
BIP_Task_Master.
(Make_Build_In_Place_Call_In_Object_Declaration): Use
BIP_Task_Master when creating a reference to the enclosing
function's _master formal.
(Move_Activation_Chain): Use BIP_Task_Master when creating a reference
to the _master.
* exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
(Needs_BIP_Finalization_Master): Alphabetized.
* sem_ch6.adb (Create_Extra_Formals): Update the usage of
BIP_Task_Master.
2011-10-14 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
reject an aliased keyword on the object declaration of an extended
return statement. In older versions of the language indicate
that this is illegal in the standard.
2011-10-14 Pascal Obry <obry@adacore.com>
* sem_util.adb, sem_ch4.adb: Minor reformatting.
2011-10-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb: Recognize properly procedure calls that are
transformed into code statements.
2011-10-14 Vincent Celier <celier@adacore.com>
* projects.texi: Minor fix in project example.
From-SVN: r179986
Arnaud Charlet [Fri, 14 Oct 2011 14:56:46 +0000 (16:56 +0200)]
[multiple changes]
2011-10-14 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb: Return objects are aliased if their type is
immutably limited as per AI05-0053.
2011-10-14 Gary Dismukes <dismukes@adacore.com>
* exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
Short_Circuit_And_Or expansion code (moved to sem_res).
* sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
"and" and "or" operators as short-circuit "and then" and "or
else", when pragma Short_Circuit_And_Or is active.
From-SVN: r179985
Paolo Carlini [Fri, 14 Oct 2011 14:43:03 +0000 (14:43 +0000)]
re PR c++/38174 (Missing some built-in candidates for operator overloading)
/cp
2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38174
* call.c (add_builtin_candidate): If two pointers have a composite
pointer type, generate a single candidate with that type.
/testsuite
2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38174
* g++.dg/overload/operator4.C: New.
From-SVN: r179984
David Alan Gilbert [Fri, 14 Oct 2011 14:39:32 +0000 (14:39 +0000)]
di-longlong64-sync-1.c: New test.
gcc/testsuite/
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
* gcc.dg/di-longlong64-sync-1.c: New test.
* gcc.dg/di-sync-multithread.c: New test.
* gcc.target/arm/di-longlong64-sync-withhelpers.c: New test.
* gcc.target/arm/di-longlong64-sync-withldrexd.c: New test.
* lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target
tests for v5, v6, v6k, and v7-a, and add-options helpers.
(check_effective_target_arm_arm_ok): New helper.
(check_effective_target_sync_longlong): New helper.
From-SVN: r179983
David Alan Gilbert [Fri, 14 Oct 2011 14:39:10 +0000 (14:39 +0000)]
linux-atomic-64bit.c: New (based on linux-atomic.c).
gcc/
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
* config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
* config/arm/linux-atomic.c: Change comment to point to 64bit version.
(SYNC_LOCK_RELEASE): Instantiate 64bit version.
* config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.
From-SVN: r179982
David Alan Gilbert [Fri, 14 Oct 2011 14:38:58 +0000 (14:38 +0000)]
arm.c (arm_output_ldrex): Support ldrexd.
gcc/
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
* config/arm/arm.c (arm_output_ldrex): Support ldrexd.
(arm_output_strex): Support strexd.
(arm_output_it): New helper to output it in Thumb2 mode only.
(arm_output_sync_loop): Support DI mode. Change comment to
not support const_int.
(arm_expand_sync): Support DI mode.
* config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
and LDREXD.
* config/arm/iterators.md (NARROW): move from sync.md.
(QHSD): New iterator for all current ARM integer modes.
(SIDI): New iterator for SI and DI modes only.
* config/arm/sync.md (sync_predtab): New mode_attr.
(sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
(sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
(sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
(sync_nandsi): Fold into sync_nand<mode>.
(sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
(sync_new_nandsi): Fold into sync_new_nand<mode>.
(sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
(sync_old_nandsi): Fold into sync_old_nand<mode>.
(sync_compare_and_swap<mode>): Support SI & DI.
(sync_lock_test_and_set<mode>): Likewise.
(sync_<sync_optab><mode>): Likewise.
(sync_nand<mode>): Likewise.
(sync_new_<sync_optab><mode>): Likewise.
(sync_new_nand<mode>): Likewise.
(sync_old_<sync_optab><mode>): Likewise.
(sync_old_nand<mode>): Likewise.
(arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
(arm_sync_lock_test_and_setsi): Likewise.
(arm_sync_new_<sync_optab>si): Likewise.
(arm_sync_new_nandsi): Likewise.
(arm_sync_old_<sync_optab>si): Likewise.
(arm_sync_old_nandsi): Likewise.
(arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
(arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
(arm_sync_new_<sync_optab><mode> NARROW): Likewise.
(arm_sync_new_nand<mode> NARROW): Likewise.
(arm_sync_old_<sync_optab><mode> NARROW): Likewise.
(arm_sync_old_nand<mode> NARROW): Likewise.
From-SVN: r179981
David Alan Gilbert [Fri, 14 Oct 2011 14:38:42 +0000 (14:38 +0000)]
re PR target/48126 (arm_output_sync_loop: misplaced memory barrier)
gcc/
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
PR target/48126
* config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
From-SVN: r179980
David Alan Gilbert [Fri, 14 Oct 2011 14:38:30 +0000 (14:38 +0000)]
arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
gcc/
2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
* config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
From-SVN: r179979
Paolo Carlini [Fri, 14 Oct 2011 14:03:53 +0000 (14:03 +0000)]
invoke.texi ([Wformat-zero-length]): Tidy.
2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
* doc/invoke.texi ([Wformat-zero-length]): Tidy.
From-SVN: r179978
Jakub Jelinek [Fri, 14 Oct 2011 12:05:43 +0000 (14:05 +0200)]
gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also on COND_EXPR/VEC_COND_EXPR comparison operands if...
* gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr
also on COND_EXPR/VEC_COND_EXPR comparison operands if they are
ADDR_EXPRs.
From-SVN: r179969
François Dumont [Fri, 14 Oct 2011 11:25:27 +0000 (13:25 +0200)]
41975.cc: New.
2011-10-14 François Dumont <francois.cppdevs@free.fr>
* testsuite/performance/23_containers/insert_erase/41975.cc: New.
From-SVN: r179968
Richard Guenther [Fri, 14 Oct 2011 11:03:06 +0000 (11:03 +0000)]
re PR tree-optimization/50723 (internal compiler error: verify_ssa failed)
2011-10-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50723
* ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
* gcc.dg/torture/pr50723.c: New testcase.
From-SVN: r179967
Jonathan Wakely [Fri, 14 Oct 2011 10:38:23 +0000 (10:38 +0000)]
50714.cc: Fix mychar.
2011-10-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar.
From-SVN: r179966
Nicola Pero [Fri, 14 Oct 2011 10:19:01 +0000 (10:19 +0000)]
In gcc/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
* gengtype.c (files_rules): Added rules for objc/objc-map.h and
objc/objc-map.c.
In gcc/objc/:
2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-map.h: New file.
* objc-map.c: New file.
* config-lang.in (gtfiles): Added objc-map.h.
* Make-lang.in (OBJC_OBJS): Added objc-map.o.
(objc/objc-map.o): New rule.
(objc/objc-act.o): Depend on objc/objc-map.h.
* objc-next-runtime-abi-02.c: Added a TODO comment.
* objc-act.c: Include objc-map.h.
(nst_method_hash_list, cls_method_hash_list): Removed.
(instance_method_map, class_method_map): New.
(cls_name_hash_list, als_name_hash_list): Removed.
(class_name_map, alias_name_map): Removed.
(ivar_offset_hash_list): Removed.
(hash_class_name_enter, hash_class_name_lookup, hash_enter,
hash_lookup, hash_add_attr, add_method_to_hash_list): Removed.
(interface_hash_init): New.
(objc_init): Call interface_hash_init.
(objc_write_global_declarations): Iterate over class_method_map
and instance_method_map instead of cls_method_hash_list and
nst_method_hash_list.
(objc_declare_alias): Use alias_name_map instead of
cls_name_hash_list.
(objc_is_class_name): Use class_name_map and alias_name_map
instead of cls_name_hash_list and als_name_hash_list.
(interface_tuple, interface_htab, hash_interface, eq_interface):
Removed.
(interface_map): New.
(add_class): Renamed to add_interface. Use interface_map instead
of interface_htab.
(lookup_interface): Use interface_map instead of interface_htab.
(check_duplicates): Changed first argument to be a tree,
potentially a TREE_VEC, instead of a hash. Changed implementation
to match.
(lookup_method_in_hash_lists): Use class_method_map and
instance_method_map instead of cls_method_hash_list and
nst_method_hash_list.
(objc_build_selector_expr): Likewise.
(hash_func): Removed.
(hash_init): Create instance_method_map, class_method_map,
class_name_map, and alias_name_map. Do not create
nst_method_hash_list, cls_method_hash_list, cls_name_hash_list,
als_name_hash_list, and ivar_offset_hash_list.
(insert_method_into_method_map): New.
(objc_add_method): Use insert_method_into_method_map instead of
add_method_to_hash_list.
(start_class): Call add_interface instead of add_class.
* objc-act.h (cls_name_hash_list, als_name_hash_list,
nst_method_hash_list, cls_method_hash_list): Removed.
In gcc/objcp/:
2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
* Make-lang.in (OBJCXX_OBJS): Added objc-map.o.
(objcp/objc-map.o): New rule.
(objcp/objcp-act.o): Depend on objc/objc-map.h.
* config-lang.in (gtfiles): Added objc-map.h.
From-SVN: r179965
Paolo Carlini [Fri, 14 Oct 2011 09:14:58 +0000 (09:14 +0000)]
re PR c++/17212 (-W(no)format-zero-length does not work with C++)
/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.
From-SVN: r179964
Paolo Carlini [Fri, 14 Oct 2011 09:14:26 +0000 (09:14 +0000)]
re PR c++/17212 (-W(no)format-zero-length does not work with C++)
/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.
From-SVN: r179963
Iain Sandoe [Fri, 14 Oct 2011 08:13:04 +0000 (08:13 +0000)]
re PR bootstrap/50699 (Bootstrap fails on *-apple-darwin* due to revision 179820)
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.
From-SVN: r179962
Jonathan Yong [Fri, 14 Oct 2011 06:57:55 +0000 (06:57 +0000)]
configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64".
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.
From-SVN: r179961
Jakub Jelinek [Fri, 14 Oct 2011 06:06:14 +0000 (08:06 +0200)]
sse.md (*avx_cvtdq2pd256_2): Rename to...
* 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.
From-SVN: r179960
David S. Miller [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.
From-SVN: r179959
Richard Henderson [Fri, 14 Oct 2011 03:31:23 +0000 (20:31 -0700)]
Expand vector permutation with vec_perm and vec_perm_const.
From-SVN: r179958
Richard Henderson [Fri, 14 Oct 2011 03:27:01 +0000 (20:27 -0700)]
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.
From-SVN: r179957
Richard Henderson [Fri, 14 Oct 2011 03:25:58 +0000 (20:25 -0700)]
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.
From-SVN: r179956
Richard Henderson [Fri, 14 Oct 2011 03:20:37 +0000 (20:20 -0700)]
i386: Implement vec_perm_const<mode>.
From-SVN: r179955
Richard Henderson [Fri, 14 Oct 2011 03:18:14 +0000 (20:18 -0700)]
spu: Implement vec_permv16qi.
From-SVN: r179954
Richard Henderson [Fri, 14 Oct 2011 03:17:16 +0000 (20:17 -0700)]
rs6000: Implement vec_permv16qi.
From-SVN: r179953
GCC Administrator [Fri, 14 Oct 2011 00:18:38 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r179952
Paolo Carlini [Fri, 14 Oct 2011 00:12:40 +0000 (00:12 +0000)]
re PR libstdc++/50714 (codecvt_byname::codecvt::_M_c_locale_codecvt not initialized by destroyed)
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.
From-SVN: r179948
Jason Merrill [Thu, 13 Oct 2011 21:23:47 +0000 (17:23 -0400)]
re PR c++/50614 ([C++0x] ICE: tree check: expected field_decl, have identifier_node in component_ref_field_offset, at expr.c:6697 with -fcompare-debug and a non-static initializer)
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.
From-SVN: r179945
Jason Merrill [Thu, 13 Oct 2011 21:23:36 +0000 (17:23 -0400)]
re PR c++/50437 ([C++0x] [4.7 regression] ICE for trivial use of lambda in template function)
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.
From-SVN: r179944
David S. Miller [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.
From-SVN: r179943
Diego Novillo [Thu, 13 Oct 2011 18:26:08 +0000 (14:26 -0400)]
cp-tree.h (struct language_function): Rename in_function_try_handler to x_in_function_try_handler.
* 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.
From-SVN: r179940
Diego Novillo [Thu, 13 Oct 2011 18:25:10 +0000 (14:25 -0400)]
class.c (sorted_fields_type_new): Factor out of ...
* class.c (sorted_fields_type_new): Factor out of ...
(finish_struct_1): ... here.
From-SVN: r179939
Jason Merrill [Thu, 13 Oct 2011 18:01:51 +0000 (14:01 -0400)]
re PR c++/50618 (Virtual inheritance segfault)
PR c++/50618
* init.c (expand_aggr_init_1): Don't zero-initialize virtual
bases of a base subobject.
From-SVN: r179934
Jakub Jelinek [Thu, 13 Oct 2011 16:26:48 +0000 (18:26 +0200)]
sse.md (vec_set<mode>): Change V_128 iterator mode to V.
* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
to V.
From-SVN: r179931
Jakub Jelinek [Thu, 13 Oct 2011 16:09:12 +0000 (18:09 +0200)]
tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector or complex vars even if...
* 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.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r179930
Jakub Jelinek [Thu, 13 Oct 2011 16:08:04 +0000 (18:08 +0200)]
sse.md (reduc_umin_v8hi): New pattern.
* 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.
From-SVN: r179929
Lawrence Crowl [Thu, 13 Oct 2011 15:41:52 +0000 (15:41 +0000)]
lto-streamer-in.c (input_struct_function_base): Factor out of ...
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.
Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r179928
Gabriel Charette [Thu, 13 Oct 2011 15:40:29 +0000 (15:40 +0000)]
streamer-hooks.h (struct streamer_hooks): Add hooks input_location and output_location.
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.
Co-Authored-By: Diego Novillo <dnovillo@google.com>
From-SVN: r179927
H.J. Lu [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.
From-SVN: r179926
Eric Botcazou [Thu, 13 Oct 2011 12:59:34 +0000 (12:59 +0000)]
invoke.texi (SPARC options): Document -mfix-at697f.
* 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.
From-SVN: r179921
Eric Botcazou [Thu, 13 Oct 2011 12:28:16 +0000 (12:28 +0000)]
* gcc.dg/builtins-67.c: Guard iround and irint with HAVE_C99_RUNTIME.
From-SVN: r179920
Richard Guenther [Thu, 13 Oct 2011 12:07:44 +0000 (12:07 +0000)]
re PR middle-end/50712 (invalid argument to gimple call)
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.
From-SVN: r179919
Arnaud Charlet [Thu, 13 Oct 2011 11:12:07 +0000 (13:12 +0200)]
Remove Packages_To_Check parameter.
From-SVN: r179918
Arnaud Charlet [Thu, 13 Oct 2011 11:11:37 +0000 (13:11 +0200)]
Remove default for argument Packages_To_Check.
From-SVN: r179917
Tom de Vries [Thu, 13 Oct 2011 11:10:01 +0000 (11:10 +0000)]
Fix PR middle-end/50527 ChangeLog entry
From-SVN: r179916
Arnaud Charlet [Thu, 13 Oct 2011 11:09:11 +0000 (13:09 +0200)]
[multiple changes]
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.
From-SVN: r179915
Arnaud Charlet [Thu, 13 Oct 2011 11:05:50 +0000 (13:05 +0200)]
[multiple changes]
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.
From-SVN: r179914
Arnaud Charlet [Thu, 13 Oct 2011 11:00:13 +0000 (13:00 +0200)]
[multiple changes]
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.
From-SVN: r179913
Geert Bosch [Thu, 13 Oct 2011 10:56:08 +0000 (10:56 +0000)]
a-ngrear.adb (Solve): Make generic and move to System.Generic_Array_Operations.
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.
From-SVN: r179912
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