gjl [Tue, 20 Mar 2012 19:38:51 +0000 (19:38 +0000)]
PR testsuite/52641
* gcc.dg/torture/pr48124-1.c: Add dg-require-effective-target
int32plus.
* gcc.dg/torture/pr48124-4.c: Ditto:
* gcc.dg/torture/pr52530.c: Use long instead of int if int=16.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185588
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 20 Mar 2012 19:14:29 +0000 (19:14 +0000)]
PR c++/52510
* decl.c (reshape_init_class): Handle repeated reshaping.
* search.c (lookup_field_1): Add sanity check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185587
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 20 Mar 2012 19:14:16 +0000 (19:14 +0000)]
* tree-streamer-in.c (streamer_alloc_tree): Call
ggc_alloc_zone_cleared_tree_node instead of
ggc_alloc_zone_cleared_tree_node_stat.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185586
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 20 Mar 2012 17:47:07 +0000 (17:47 +0000)]
* doc/extend.texi (Template Instantiation): Remove anachronisms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185584
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 20 Mar 2012 17:38:29 +0000 (17:38 +0000)]
* gcc.target/avr/progmem.h (pgm_read_char): Define depending on
__AVR_HAVE_LPMX__
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185583
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 20 Mar 2012 17:10:10 +0000 (17:10 +0000)]
Correct date in ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185582
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 20 Mar 2012 17:01:19 +0000 (17:01 +0000)]
* include/bits/stl_list.h (list::_M_size): Use NSDMI.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185580
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 20 Mar 2012 16:51:41 +0000 (16:51 +0000)]
PR target/52607
* config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
(ix86_expand_vec_perm_const_1): Call it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185579
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 20 Mar 2012 16:27:05 +0000 (16:27 +0000)]
* config/i386/i386.c (vselect_insn): New variable.
(init_vselect_insn): New function.
(expand_vselect, expand_vselect_insn): Add testing_p argument.
Call init_vselect_insn if vselect_insn is NULL. Adjust
PATTERN (vselect_insn), instead of creating a new insn each time,
only emit a copy of it if not testing and recog has been successful.
(expand_vec_perm_pshufb, expand_vec_perm_1,
expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_broadcast_1): Adjust
callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185578
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 20 Mar 2012 16:25:54 +0000 (16:25 +0000)]
PR target/52607
* config/i386/i386.md ("isa" attribute): Add avx2 and noavx2.
("enabled" attribute): Handle avx2 and noavx2 isas.
* config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcast<mode>_1):
New insns.
(vec_dup<mode>): Add avx2 =x,x alternative.
(vec_dup<mode> splitter): Don't split if TARGET_AVX2.
(*avx_vperm_broadcast_<mode>): Don't split V4DFmode if TARGET_AVX2.
For TARGET_AVX2, V8SFmode and elt == 0 split into vbroadcastss.
* config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
for V8SFmode.
(expand_vec_perm_1): For broadcasts, use avx2_pbroadcast<mode>_1
if possible, handle also V8SFmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185577
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Tue, 20 Mar 2012 14:11:05 +0000 (14:11 +0000)]
* arm/predicates.md (zero_operand, reg_or_zero_operand): New predicates.
* arm/neon.md (neon_vceq<mode>, neon_vcge<mode>): Use
reg_or_zero_operand predicate.
(neon_vcle<mode>, neon_vclt<mode>): Use zero_operand predicate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185573
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 20 Mar 2012 11:32:54 +0000 (11:32 +0000)]
PR target/49868
* gcc.target/avr/torture/addr-space-2.h: New file.
* gcc.target/avr/torture/addr-space-2-g.h: New test.
* gcc.target/avr/torture/addr-space-2-0.h: New test.
* gcc.target/avr/torture/addr-space-2-1.h: New test.
* gcc.target/avr/torture/addr-space-2-x.h: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185570
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 20 Mar 2012 11:18:57 +0000 (11:18 +0000)]
2012-03-20 Richard Guenther <rguenther@suse.de>
PR gcov-profile/52627
* libgcov.c (init_mx): Fix mutex name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185569
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 20 Mar 2012 11:18:06 +0000 (11:18 +0000)]
* config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
If operand isn't UNSPEC, return 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185568
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 20 Mar 2012 10:01:05 +0000 (10:01 +0000)]
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185567
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 20 Mar 2012 10:00:00 +0000 (10:00 +0000)]
2012-03-20 Arnaud Charlet <charlet@adacore.com>
* hlo.ads, hlo.adb: Removed, no longer used.
* gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
* gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
and compute it from EXTRA_LIBGNAT_OBJS.
Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185565
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 20 Mar 2012 09:52:02 +0000 (09:52 +0000)]
2012-03-20 Richard Guenther <rguenther@suse.de>
* tree-pass.h (pass_rtl_eh): Remove.
* except.c (gate_handle_eh): Likewise.
(rest_of_handle_eh): Likewise.
(pass_rtl_eh): Likewise.
(finish_eh_generation): Export.
* except.h (finish_eh_generation): Declare.
* passes.c (init_optimization_passes): Remove pass_rtl_eh.
* cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation
after expanding stack alignment. Instead of compacting blocks
call cleanup_cfg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185564
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 20 Mar 2012 09:31:40 +0000 (09:31 +0000)]
2012-03-20 Richard Guenther <rguenther@suse.de>
* stor-layout.c (finish_bitfield_representative): Fallback
to conservative maximum size if the padding up to the next
field cannot be computed as a constant.
(finish_bitfield_layout): If we cannot compute the distance
between the start of the bitfield representative and the
bitfield member start a new representative.
* expr.c (get_bit_range): The distance between the start of
the bitfield representative and the bitfield member is zero
if the field offsets are not constants.
* gnat.dg/pack16.adb: New testcase.
* gnat.dg/pack16_pkg.ads: Likewise.
* gnat.dg/specs/pack8.ads: Likewise.
* gnat.dg/specs/pack8_pkg.ads: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185563
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 20 Mar 2012 09:23:26 +0000 (09:23 +0000)]
2012-03-20 Yannick Moy <moy@adacore.com>
* gnat_rm.texi, sem_attr.ads: Update documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185562
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Tue, 20 Mar 2012 08:47:27 +0000 (08:47 +0000)]
2012-03-20 Tristan Gingold <gingold@adacore.com>
* tree.h (enum size_type_kind): Add stk_ prefix to constants,
convert in lowercase.
(sizetype_tab, sizetype, bitsizetype, ssizetype, sbitsizetype)
(size_int, ssize_int, bitsize_int, sbitsize_int): Adjust.
* stor-layout.c (sizetype_tab): Adjust.
(initialize_sizetypes): Use SIZETYPE instead of SIZE_TYPE.
* tree-streamer.c (preload_common_nodes): Use stk_type_kind_last
instead of type_kind_last.
* tree-scalar-evolution.c (interpret_rhs_expr): Use size_int
instead of size_int_kind.
* doc/tm.texi.in (Type Layout): Document SIZETYPE.
* doc/tm.texi: Regenerate.
* defaults.h (SIZETYPE): Provide a default value.
* config/vms/vms.h (SIZE_TYPE): Define as "unsigned int".
(SIZETYPE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185561
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Tue, 20 Mar 2012 00:37:19 +0000 (00:37 +0000)]
* config/sh/sh.md: Use braced string notation where applicable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185555
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 20 Mar 2012 00:19:20 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185552
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 19 Mar 2012 23:48:16 +0000 (23:48 +0000)]
2012-03-19 Paweł Sikora <pawel.sikora@agmk.net>
PR libstdc++/52540
* include/Makefile.am (c++config.h): Fix sed rule to not break
the _GLIBCXX_EXTERN_TEMPLATE redefinition.
* include/Makefile.in: Regenerate.
2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185548
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 19 Mar 2012 22:16:45 +0000 (22:16 +0000)]
* config/i386/i386.md (allocate_stack): Simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185545
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 19 Mar 2012 21:41:15 +0000 (21:41 +0000)]
2012-03-19 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/allocator.h (std::allocator): Base class is
__allocator_base.
(uses_allocator): Add to sub-grouping.
* include/ext/new_allocator.h: Doxygen markup for tparm.
* config/allocator/bitmap_allocator_base.h: Use __allocator_base
template alias in C++11.
* config/allocator/malloc_allocator_base.h: Same.
* config/allocator/mt_allocator_base.h: Same.
* config/allocator/new_allocator_base.h: Same.
* config/allocator/pool_allocator_base.h: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185544
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 19 Mar 2012 20:43:30 +0000 (20:43 +0000)]
2012-03-19 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pb_ds/detail/pat_trie_/
constructors_destructor_fn_imps.hpp: Increment after recursion.
* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
node_type markup from brief.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185542
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 19 Mar 2012 20:35:59 +0000 (20:35 +0000)]
* builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
copy_to_mode_reg (Pmode, ...).
(expand_builtin_frame_address): Ditto.
* expr.c (emit_block_move_via_libcall): Ditto.
(set_storage_via_libcall): Ditto.
* config/i386/i386.c (ix86_expand_movmem): Ditto.
(ix86_expand_setmem): Ditto.
(ix86_trampoline_init): DItto.
* config/i386/i386.md (cmpstrnsi): Ditto.
(allocate_stack): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185541
138bc75d-0d04-0410-961f-
82ee72b054a4
sandra [Mon, 19 Mar 2012 20:34:29 +0000 (20:34 +0000)]
2012-03-19 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
* config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL.
* doc/invoke.texi (Option Summary): Remove -madjust-unroll.
(SH Options): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185540
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 19 Mar 2012 19:11:03 +0000 (19:11 +0000)]
* config/i386/i386.c (get_thread_pointer): Add tp_mode argument.
Generate ZERO_EXTEND in place if GET_MODE (tp) != tp_mode.
(legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: Always generate
DImode UNSPEC_GOTNTPOFF references on TARGET_64BIT.
(ix86_decompose_address): Allow zero extended UNSPEC_TP references.
Revert:
2012-03-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
* config/i386/i386.c (ix86_decompose_address): Use
TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
(legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
thread pointer to a register.
Revert:
2012-03-10 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
if Pmode != word_mode.
(legitimize_tls_address): Call gen_tls_initial_exec_x32 if
Pmode == SImode for TARGET_X32.
* config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
(tls_initial_exec_x32): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185536
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 19 Mar 2012 19:04:20 +0000 (19:04 +0000)]
Fix ChangeLog formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185535
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 19 Mar 2012 18:59:16 +0000 (18:59 +0000)]
PR target/50751
* config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P,
DISP_ADDR_OFFSET): New macros.
* config/sh/sh.c (sh_address_cost): Add SH2A special case.
(sh_legitimate_index_p): Allow QImode displacements for non-SH2A.
(sh_legitimize_address): Add QImode displacement handling.
(sh_cannot_change_mode_class): Disallow GENERAL_REGS for SFmode
vector subregs.
(sh_secondary_reload): Add QImode displacement handling.
* config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate.
* config/sh/constraints.md (K04, Snd, Sdd): New constraints.
* config/sh/sh.md (extendqisi2): Remove constraints from expander.
(*extendqisi2_compact): Rename to *extendqisi2_compact_reg, restrict
to register operands only.
(*extendqisi2_compact_mem_disp, *extendqisi2_compact_snd): New insns.
(extendqihi2): Change insn to expander.
(*extendqihi2_compact_reg): New insn.
(movqi_i, movqi): Replace with ...
(movqi, *movqi_reg_reg, *movqi_store_mem_disp12,
*movqi_load_mem_disp, *movqi_load_mem_disp): ... these.
Add new peepholes for QImode displacement addressing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185534
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 19 Mar 2012 17:55:11 +0000 (17:55 +0000)]
2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/warn/Wuseless-cast.C: Extend.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185531
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 19 Mar 2012 17:23:40 +0000 (17:23 +0000)]
2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
Complete previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185529
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 19 Mar 2012 16:41:25 +0000 (16:41 +0000)]
2012-03-19 Yannick Moy <moy@adacore.com>
* sem_ch6.adb: Minor code clean up.
2012-03-19 Vincent Celier <celier@adacore.com>
* make.adb (Scan_Make_Arg): Make sure all significant -m switches
on the command line are counted.
2012-03-19 Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
reference case
2012-03-19 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (Check_Bad_Exp): New procedure
2012-03-19 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
initial framework for Valid_Scalars attribute.
2012-03-19 Robert Dewar <dewar@adacore.com>
* scng.adb (Scan): Recognize incorrect preprocessor directive
2012-03-19 Robert Dewar <dewar@adacore.com>
* atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
* atree.ads (Num_Extension_Nodes): New variable
* debug.adb: New debug flag -gnatd.N
* gnat1drv.adb (Adjust_Global_Switches): Adjust
Num_Extension_Nodes if -gnatd.N set
2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
descriptions.
2012-03-19 Robert Dewar <dewar@adacore.com>
* opt.ads: Remove HLO_Active flag.
* sem.adb: Remove call of high level optimizer.
* sem.ads (New_Nodes_OK): Removed.
* sem_ch10.adb: Remove references to New_Nodes_OK.
* switch-c.adb: Remove handling of -gnatH switch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185528
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 19 Mar 2012 16:31:20 +0000 (16:31 +0000)]
2012-03-19 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
on trivially True or False postconditions and Ensures components
of contract-cases.
2012-03-19 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Fix index entry for -gnatei (now we have
ug_words entry).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185527
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 19 Mar 2012 16:29:27 +0000 (16:29 +0000)]
2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch3.adb (Get_Discriminant_Value): Instead of looking
at the immediate correcponsing discriminant, traverse a
potential chain of discriminants produced by type derivations.
(Root_Corresponding_Discriminant): Traverse a chain of inherited
discriminants and return the topmost discriminant.
2012-03-19 Bob Duff <duff@adacore.com>
* debug.adb: Minor comment change.
* gnat_ugn.texi: Update documentation for elaboration regarding
indirect calls.
2012-03-19 Gary Dismukes <dismukes@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): In
the case of an object of a class-wide interface type, where the
declaration is rewritten as a renaming, call Set_Debug_Info_Needed
on the renaming entity so that Materialize_Entity will be
set. Also, change existing call (for other than interface cases)
to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
(as specified for that flag).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185526
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 19 Mar 2012 16:27:18 +0000 (16:27 +0000)]
2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
by the build-in-place machinery where the designated type is
indefinite, but the underlying type is not. Do not emit errors
related to missing initialization in this case.
2012-03-19 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation for -gnateinnn switch.
* sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
* sem_prag.adb: Minor comment update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185525
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 19 Mar 2012 15:51:25 +0000 (15:51 +0000)]
2012-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14710
* doc/invoke.texi: Document -Wuseless-cast.
/c-family
2012-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14710
* c.opt ([Wuseless-cast]): Add.
/cp
2012-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14710
* cp-tree.h (maybe_warn_about_useless_cast): Declare.
* typeck.c (maybe_warn_about_useless_cast): Define.
(build_reinterpret_cast, build_const_cast,
build_static_cast, cp_build_c_cast): Use it.
* rtti.c (build_dynamic_cast): Likewise.
* pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement
c_inhibit_evaluation_warnings before/after the build_* calls.
/testsuite
2012-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/14710
* g++.dg/warn/Wuseless-cast.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185524
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 19 Mar 2012 15:35:55 +0000 (15:35 +0000)]
* tree.def (REALPART_EXPR, IMAGPART_EXPR, VIEW_CONVERT_EXPR): Move.
* tree.h (handled_component_p): Reorder cases.
* dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref): Do
not initialize unsignedp.
(loc_list_from_tree): Likewise.
(fortran_common): Likewise.
* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185522
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 19 Mar 2012 13:09:44 +0000 (13:09 +0000)]
* config/i386/i386.c (ix86_expand_prologue) <CM_LARGE_PIC>: Use Pmode
mode consistently. Use ix86_gen_add3. Assert that Pmode == DImode.
(ix86_expand_split_stack_prologue): Use ix86_gen_add3.
(ix86_split_long_move): Ditto.
(legitimize_tls_address): Use ix86_gen_sub3.
(construct_plt_address): Assert that Pmode == DImode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185520
138bc75d-0d04-0410-961f-
82ee72b054a4
fxcoudert [Mon, 19 Mar 2012 09:50:35 +0000 (09:50 +0000)]
PR fortran/52559
* error.c (gfc_widechar_display_length): Consider tabs as
one character wide, as they're displayed as spaces.
(show_locus): Move tab handling to...
(print_wide_char_into_buffer): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185517
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 19 Mar 2012 00:18:57 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185514
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 18 Mar 2012 14:07:21 +0000 (14:07 +0000)]
* cpplib.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185508
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 18 Mar 2012 14:06:34 +0000 (14:06 +0000)]
* gcc.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185507
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 18 Mar 2012 09:14:23 +0000 (09:14 +0000)]
* config/i386/i386.md: Remove empty predicates and/or constraints.
* config/i386/sync.md: Ditto.
* config/i386/sse.md: Ditto.
* config/i386/mmx.md: Ditto.
* config/i386/pentium.md: Ditto.
* config/i386/athlon.md: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185505
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 18 Mar 2012 00:45:24 +0000 (00:45 +0000)]
Add missing ChangeLog entry from 2012-03-09 commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185499
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 18 Mar 2012 00:18:53 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185498
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sat, 17 Mar 2012 18:25:51 +0000 (18:25 +0000)]
Typo in ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185489
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sat, 17 Mar 2012 18:24:09 +0000 (18:24 +0000)]
PR libfortran/52608 Add dejagnu directive to testcase
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185488
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sat, 17 Mar 2012 18:20:34 +0000 (18:20 +0000)]
2012-03-17 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/52608
* gfortran.dh/pr52608.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185487
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sat, 17 Mar 2012 17:19:49 +0000 (17:19 +0000)]
PR libfortran/52608 Move the removal of initial zeros.
2012-03-17 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/52608
* io/write_float.def (output_float): Move removal of initial zeros
until after the scale factor has been applied.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185486
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 17 Mar 2012 17:03:59 +0000 (17:03 +0000)]
2012-03-17 Tobias Burnus <burnus@net-b.de>
PR fortran/52585
* trans-intrinsic.c (gfc_conv_associated): Fix handling of
procpointer dummy arguments.
2012-03-17 Tobias Burnus <burnus@net-b.de>
PR fortran/52585
* gfortran.dg/proc_ptr_36.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185485
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 17 Mar 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185481
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Fri, 16 Mar 2012 21:03:15 +0000 (21:03 +0000)]
2012-03-15 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/52476
* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
(_Hashtable<>::_M_rehash): Use the latter.
* testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
* testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185476
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 16:48:31 +0000 (16:48 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52603
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Clarify
comment.
Revert
2012-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52571
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
flag_section_anchors check ...
(vect_can_force_dr_alignment_p): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185474
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 16 Mar 2012 15:02:41 +0000 (15:02 +0000)]
2012-03-16 Martin Jambor <mjambor@suse.cz>
* expr.c (expand_expr_real_1): handle misaligned scalar reads from
memory through MEM_REFs by calling extract_bit_field.
* testsuite/gcc.dg/misaligned-expand-1.c: New test.
* testsuite/gcc.dg/misaligned-expand-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185470
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 14:49:48 +0000 (14:49 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
* fold-const.c (native_interpret_expr): Also support POINTER_TYPE
and REFERENCE_TYPE interpretations.
(can_native_interpret_type_p): New function.
(fold_ternary_loc): Use native encode/interpret to fold
BIT_FIELD_REFs of constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185469
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 14:49:05 +0000 (14:49 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
PR middle-end/52584
* fold-const.c (fold_ternary_loc): Fold vector typed BIT_FIELD_REFs
of vector constants and constructors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185468
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 13:20:55 +0000 (13:20 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
VIEW_CONVERT_EXPR to convert constants.
(vect_is_simple_use): Treat all constants as vec_constant_def.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185466
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 11:48:48 +0000 (11:48 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
Kai Tietz <ktietz@redhat.com>
PR middle-end/48814
* gimplify.c (gimplify_self_mod_expr): Evaluate postfix
side-effects completely in the pre-queue and use a temporary
for the result.
* gcc.c-torture/execute/pr48814-1.c: New test.
* gcc.c-torture/execute/pr48814-2.c: New test.
* gcc.dg/tree-ssa/assign-1.c: New test.
* gcc.dg/tree-ssa/assign-2.c: New test.
* gcc.dg/tree-ssa/assign-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185465
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 11:47:26 +0000 (11:47 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
* stor-layout.c (finish_bitfield_representative): Fall back
to the conservative maximum size if we cannot compute the
size of the tail padding.
* gnat.dg/specs/pack7.ads: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185464
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 16 Mar 2012 10:58:28 +0000 (10:58 +0000)]
2012-03-16 Tristan Gingold <gingold@adacore.com>
* config/ia64/vms-unwind.h: Remove ulong (and replace
it by unw_reg where used). Define unw_reg with __int64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185463
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 16 Mar 2012 09:55:56 +0000 (09:55 +0000)]
2012-03-16 Tristan Gingold <gingold@adacore.com>
* config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
__CRTL_VER and __VMS_VER.
* config/vms/vms-protos.h: Declare vms_c_get_crtl_ver
and vms_c_get_vms_ver.
* config/vms/vms-c.c (vms_c_get_crtl_ver, vms_c_get_vms_ver): New
functions.
* config/alpha/vms.h (VMS_DEFAULT_CRTL_VER)
(VMS_DEFAULT_VMS_VER): Define.
* config/ia64/vms.h (VMS_DEFAULT_CRTL_VER)
(VMS_DEFAULT_VMS_VER): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185462
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 09:54:36 +0000 (09:54 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
* tree-vect-loop.c (get_initial_def_for_induction): Use
build_constructor directly.
* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
build_vector_from_val.
* tree.c (build_vector_from_val): Avoid creating a constructor
first when we want a constant vector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185461
138bc75d-0d04-0410-961f-
82ee72b054a4
aldot [Fri, 16 Mar 2012 09:51:06 +0000 (09:51 +0000)]
lib{gomp,itm}/testsuite: load missing fortran-modules.exp
libgomp/ChangeLog
2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* testsuite/lib/libgomp.exp: load fortran-modules.exp
libitm/ChangeLog
2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* testsuite/lib/libitm.exp: load fortran-modules.exp
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185460
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 16 Mar 2012 09:50:29 +0000 (09:50 +0000)]
Improve wording in GCC 4.7 Solaris update to install.texi
* doc/install.texi (Specific, *-*-solaris2*): Improve wording.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185459
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 16 Mar 2012 09:47:09 +0000 (09:47 +0000)]
2012-03-16 Richard Guenther <rguenther@suse.de>
* tree.h (TREE_VECTOR_CST_ELTS): Remove.
(VECTOR_CST_NELTS, VECTOR_CST_ELTS, VECTOR_CST_ELT): New defines.
(struct tree_vector): Remove elements member, add variable size
elts array member.
(build_vector_stat): Declare.
(build_vector): Define in terms of build_vector_stat.
* tree.c (build_vector): Rename to ...
(build_vector_stat): ... this. Take array of trees as parameter.
(build_vector_from_ctor): Adjust.
(integer_zerop, integer_onep, integer_all_onesp, iterative_hash_expr,
initializer_zerop): Adjust.
* cfgexpand.c (expand_debug_expr): Likewise.
* expr.c (categorize_ctor_elements_1, expand_expr_real_1,
const_vector_from_tree): Likewise.
* fold-const.c (const_binop, operand_equal_p, native_encode_vector,
native_interpret_vector, fold_unary_loc, vec_cst_ctor_to_array,
fold_vec_perm, fold_binary_loc, fold_ternary_loc): Likewise.
* tree-streamer-in.c (streamer_alloc_tree): Handle TS_VECTOR.
(lto_input_ts_vector_tree_pointers): Adjust.
* tree-streamer-out.c (streamer_write_tree_header): Handle TS_VECTOR.
(write_ts_vector_tree_pointers): Adjust.
* varasm.c (const_hash_1, compare_constant, copy_constant,
output_constant): Adjust.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Adjust.
* print-tree.c (print_node): Adjust.
* tree-pretty-print.c (dump_generic_node): Adjust.
* tree-vect-generic.c (uniform_vector_p, vector_element,
lower_vec_perm): Adjust.
* tree-vect-loop.c (get_initial_def_for_reduction): Adjust.
* tree-vect-slp.c (vect_get_constant_vectors,
vect_transform_slp_perm_load): Adjust.
* tree-vect-stmts.c (vect_gen_perm_mask): Adjust.
* expmed.c (make_tree): Adjust.
* config/i386/i386.c (ix86_expand_builtin): Adjust.
* config/sparc/sparc.c (sparc_handle_vis_mul8x16): Adjust interface
and implementation.
(sparc_fold_builtin): Adjust.
c-family/
* c-pretty-print.c (pp_c_initializer_list): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185458
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 16 Mar 2012 09:29:56 +0000 (09:29 +0000)]
2012-03-16 Tristan Gingold <gingold@adacore.com>
* config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
* config/vms/vms-stdint.h: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185456
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Fri, 16 Mar 2012 09:18:57 +0000 (09:18 +0000)]
2012-03-16 Tristan Gingold <gingold@adacore.com>
* config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
(ia64-hp-*vms*): Replaced by ...
(*-*-*vms*): ... This new entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185455
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Fri, 16 Mar 2012 08:30:26 +0000 (08:30 +0000)]
Share vtables instead of replicating them for each unit.
2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
* io/unix.h (struct stream): Rename to stream_vtable.
(struct stream): New struct definition.
(sread): Dereference vtable pointer.
(swrite): Likewise.
(sseek): Likewise.
(struncate): Likewise.
(sflush): Likewise.
(sclose): Likewise.
* io/unix.c (raw_vtable): New variable.
(buf_vtable): Likewise.
(mem_vtable): Likewise.
(mem4_vtable): Likewise.
(raw_init): Assign vtable pointer.
(buf_init): Likewise.
(open_internal): Likewise.
(open_internal4): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185454
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Fri, 16 Mar 2012 08:14:01 +0000 (08:14 +0000)]
Don't use BUILT_IN_IROUND for __float128.
2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
* trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
for __float128.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185453
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 16 Mar 2012 00:18:55 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185451
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Mar 2012 23:46:34 +0000 (23:46 +0000)]
PR target/52568
* config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New
function.
(ix86_expand_vec_perm_const_1): Use it.
* gcc.dg/torture/vshuf-4.inc: Add two new tests.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-32.inc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185447
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Mar 2012 23:45:45 +0000 (23:45 +0000)]
PR target/52568
* config/i386/sse.md (UNSPEC_VPERMDF): Remove.
(avx2_permv4df): Remove.
(avx2_permv4di): Macroize into...
(avx2_perm<mode>): ... this using VI8F_256 iterator.
(avx2_permv4di_1): Macroize into...
(avx2_perm<mode>_1): ... this using VI8F_256 iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185446
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Thu, 15 Mar 2012 21:56:13 +0000 (21:56 +0000)]
Remove commented out debug printf:s
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185444
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 15 Mar 2012 21:22:38 +0000 (21:22 +0000)]
PR c++/52582
* method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185443
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Thu, 15 Mar 2012 20:27:07 +0000 (20:27 +0000)]
Enable BUILT_IN_IROUND.
2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
* f95-lang.c (gfc_init_builtin_functions): Initialize
BUILT_IN_IROUND.
* mathbuiltins.def: Add IROUND.
* trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
type size matches.
(gfc_build_intrinsic_lib_fndecls): Build iround functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185442
138bc75d-0d04-0410-961f-
82ee72b054a4
aldot [Thu, 15 Mar 2012 16:55:12 +0000 (16:55 +0000)]
2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* lib/fortran-modules.exp: New file which was forgotten in r185430.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185439
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 15 Mar 2012 16:43:08 +0000 (16:43 +0000)]
* combine.c (apply_distributive_law): Do not distribute SUBREG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185438
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 15 Mar 2012 16:38:14 +0000 (16:38 +0000)]
ChangeLog:
* tree-vect-patterns.c (widened_name_p): Rename to ...
(type_conversion_p): ... this. Add new argument to determine
if it's a promotion or demotion operation. Check for
CONVERT_EXPR_CODE_P instead of NOP_EXPR.
(vect_recog_dot_prod_pattern): Call type_conversion_p instead
widened_name_p.
(vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern,
vect_operation_fits_smaller_type, vect_recog_widen_shift_pattern):
Likewise.
(vect_recog_mixed_size_cond_pattern): Likewise and allow
non-constant then and else clauses.
testsuite/ChangeLog:
* gcc.dg/vect/slp-cond-3.c: New test.
* gcc.dg/vect/slp-cond-4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185437
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 15 Mar 2012 16:36:48 +0000 (16:36 +0000)]
ChangeLog:
* tree-vectorizer.h (vect_pattern_recog): Add new argument.
* tree-vect-loop.c (vect_analyze_loop_2): Update call to
vect_pattern_recog.
* tree-vect-patterns.c (widened_name_p): Pass basic block
info to vect_is_simple_use.
(vect_recog_dot_prod_pattern): Fail for basic blocks.
(vect_recog_widen_sum_pattern): Likewise.
(vect_handle_widen_op_by_const): Support basic blocks.
(vect_operation_fits_smaller_type,
vect_recog_over_widening_pattern): Likewise.
(vect_recog_vector_vector_shift_pattern): Support basic blocks.
Update call to vect_is_simple_use.
(vect_recog_mixed_size_cond_pattern): Support basic blocks.
Add printing.
(check_bool_pattern): Add an argument, update call to
vect_is_simple_use and the recursive calls.
(vect_recog_bool_pattern): Update relevant function calls.
Add printing.
(vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
(vect_pattern_recog_1): Check for reduction only in loops.
(vect_pattern_recog): Add new argument. Support basic blocks.
* tree-vect-stmts.c (vectorizable_conversion): Pass basic block
info to vect_is_simple_use_1.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic
blocks.
(vect_slp_analyze_bb_1): Call vect_pattern_recog.
testsuite/ChangeLog:
* gcc.dg/vect/bb-slp-pattern-1.c: New test.
* gcc.dg/vect/bb-slp-pattern-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185436
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Thu, 15 Mar 2012 15:14:43 +0000 (15:14 +0000)]
2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/52434
PR libfortran/48878
PR libfortran/38199
* io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
(init_units): Likewise.
* io/write_float.def (determine_precision): New function.
(output_float): Take into account buffer with %f format, no need
for our own rounding if unspecified or processor specified
rounding.
(DTOA): Simplify format string, add parameters.
(FDTOA): New macros similar to DTOA, but using %f format.
(OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
precision and fill buffer.
(EN_PREC): New macro.
(determine_en_precision): New function.
(WRITE_FLOAT): For G format, move buffer filling into
output_float_FMT_G, use FDTOA for F format.
(write_float): Increase buffer due to F format.
testsuite ChangeLog:
2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/52434
PR libfortran/48878
PR libfortran/38199
* gfortran.dg/edit_real_1.f90: Don't assume roundTiesToAway.
* gfortran.dg/round_1.f03: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185433
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Mar 2012 13:30:04 +0000 (13:30 +0000)]
PR middle-end/52592
* builtins.c (expand_builtin_int_roundingfn_2): If expanding
BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
calls instead of __builtin_ir{int,ound}*.
* gcc.dg/pr52592.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185431
138bc75d-0d04-0410-961f-
82ee72b054a4
aldot [Thu, 15 Mar 2012 12:25:47 +0000 (12:25 +0000)]
gfortran testsuite: implicitly cleanup-modules
gcc/ChangeLog:
2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
documentation.
gcc/testsuite/ChangeLog:
2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* gfortran.fortran-torture/compile/compile.exp: Simplify.
* gfortran.fortran-torture/execute/execute.exp: Likewise.
* lib/gcc-dg.exp (cleanup-modules): Move to ..
* lib/fortran-modules.exp: .. this new file. Adjust users.
* lib/gfortran-dg.exp (gfortran-dg-runtest,
gfortran-dg-debug-runtest): Call cleanup-modules.
* lib/fortran-torture.exp (fortran-torture-execute,
fortran-torture): Likewise.
* gfortran.dg/coarray/caf.exp: Likewise.
* lib/lto.exp: Likewise.
* gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
* gfortran.dg/class_4b.f03: Likewise.
* gfortran.dg/class_4c.f03: Likewise.
* gfortran.dg/class_45a.f03: Likewise.
* gfortran.dg/binding_label_tests_10.f03: Likewise.
* gfortran.dg/binding_label_tests_10_main.f03: Likewise.
* gfortran.dg/binding_label_tests_11.f03: Likewise.
* gfortran.dg/binding_label_tests_11_main.f03: Likewise.
* gfortran.dg/binding_label_tests_13.f03: Likewise.
* gfortran.dg/binding_label_tests_13_main.f03: Likewise.
* gfortran.dg/test_common_binding_labels_2.f03: Likewise.
* gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
* gfortran.dg/test_common_binding_labels_3.f03: Likewise.
* gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
* gfortran.dg/whole_file_28.f90: Likewise.
* gfortran.dg/whole_file_29.f90: Likewise.
* gfortran.dg/whole_file_30.f90: Likewise.
* gfortran.dg/whole_file_31.f90: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185430
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 15 Mar 2012 10:53:30 +0000 (10:53 +0000)]
Fix date from last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185429
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 15 Mar 2012 10:50:58 +0000 (10:50 +0000)]
Fix gnu_unique_object handling for arm-linux-gnueabi
2012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config.gcc (target_type_format_char): New. Document it. Set it for
arm*-*-* .
* configure.ac (gnu_unique_option): Use target_type_format_char in test.
Comment rationale.
* configure: Regenerate .
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185428
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 15 Mar 2012 10:37:27 +0000 (10:37 +0000)]
PR tree-optimization/52267
* tree-vrp.c (masked_increment): New function.
(register_edge_assert_for_2): Derive ASSERT_EXPRs
from (X & CST1) cmp CST2 tests.
* gcc.dg/pr52267.c: New test.
* gcc.dg/tree-ssa/vrp65.c: New test.
* gcc.dg/tree-ssa/vrp66.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185427
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 15 Mar 2012 10:04:55 +0000 (10:04 +0000)]
2012-03-15 Richard Guenther <rguenther@suse.de>
PR middle-end/52580
* tree-data-ref.c (subscript_dependence_tester_1): Check
all dimensions for non-conflicting access functions.
* gfortran.dg/vect/pr52580.f: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185426
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 15 Mar 2012 09:57:29 +0000 (09:57 +0000)]
/c-family
2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/44783
* c.opt (ftemplate-backtrace-limit) Add.
/cp
2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/44783
* error.c (print_instantiation_partial_context): Use
template_backtrace_limit.
/doc
2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/44783
* doc/invoke.texi [C++ Language Options]: Document
-ftemplate-backtrace-limit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185424
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 09:15:49 +0000 (09:15 +0000)]
2012-03-15 Robert Dewar <dewar@adacore.com>
* errout.ads: Add entry for translating -gnateinn to
/MAX_INSTANTIATIONS for VMS.
* hostparm.ads (Max_Instantiations): Moved to Opt.
* opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
* sem_ch12.adb (Maximum_Instantiations): New name of
Max_Instantiations (Analyze_Package_Instantiation): Change error
msg for too many instantiations (mention -gnateinn switch).
* switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
* switch.ads: Minor comment update.
* usage.adb (Usage): Output line for -maxeinn switch.
* vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
2012-03-15 Yannick Moy <moy@adacore.com>
* alfa.ads Update the decription of ALI sections.
(Alfa_File_Record): Add a component Unit_File_Name to store the
unit file name for subunits.
* get_alfa.adb, put_alfa.adb Adapt to the possible presence of
a unit file name.
* lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
file name of the unit.
2012-03-15 Yannick Moy <moy@adacore.com>
* sem_ch6.adb (Check_Subprogram_Contract): Do
not issue warning on missing 'Result in postcondition if all
postconditions and contract-cases already get a warning for only
referring to pre-state.
2012-03-15 Bob Duff <duff@adacore.com>
* debug.adb: Add new debug switch -gnatd.U, which disables the
support added below, in case someone trips over a cycle, and needs
to disable this.
* sem_attr.adb (Analyze_Access_Attribute):
Treat Subp'Access as a call for elaboration purposes.
* sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
for Subp'Access.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185422
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 09:11:57 +0000 (09:11 +0000)]
2012-03-15 Vincent Pucci <pucci@adacore.com>
* sem.ads, sem.adb (Preanalyze): New routine.
* sem_ch4.adb (Analyze_Quantified_Expression): Call to the
Preanalyze routine in Sem added. Renaming of Needs_Expansion
into Need_Preanalysis.
* sem_ch6.adb (Preanalyze): Removed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185421
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 09:10:42 +0000 (09:10 +0000)]
2012-03-15 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
* sem_prag.adb: Minor comment additions.
* sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
is frozen.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185420
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 09:09:31 +0000 (09:09 +0000)]
2012-03-15 Vincent Pucci <pucci@adacore.com>
* sem_ch4.adb (Analyze_Quantified_Expression):
Preanalyze the condition when the quantified expression will be
further expanded.
2012-03-15 Yannick Moy <moy@adacore.com>
* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
to refer to both Test_Case pragma and Contract_Case pragma (same
acronym as in Spec_CTC_List).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185419
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 09:07:53 +0000 (09:07 +0000)]
2012-03-15 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
sem_warn.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185418
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 09:05:07 +0000 (09:05 +0000)]
2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
selector names as the function call always appears at the top selected
component.
2012-03-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
Mode_Conformance check for older versions of the language.
2012-03-15 Yannick Moy <moy@adacore.com>
* gnat_ugn.texi Document the extension of option -gnatw.t.
* sem_ch3.adb (Analyze_Declaration): Check for suspicious
contracts only after contract cases have been semantically
analyzed.
* sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
components of contract cases for detecting suspicious contracts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185417
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Thu, 15 Mar 2012 08:50:41 +0000 (08:50 +0000)]
2012-03-15 Tristan Gingold <gingold@adacore.com>
* README (EXAMPLES OF FIXES): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185416
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 08:48:36 +0000 (08:48 +0000)]
2012-03-15 Yannick Moy <moy@adacore.com>
* aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
Aspect_Contract_Case.
* gnat_rm.texi Document the new pragma/aspect
Contract_Case. Correct the documentation of the existing
pragma/aspect Test_Case with the new semantics.
* sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
Ensures component of a Contract_Case pragma.
* sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
and translate it into a pragma.
(Check_Aspect_At_Freeze_Point): Take into account the new aspect.
* sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
into CTC (for contract and test case).
* sem_ch6.adb (Process_PPCs): Generate Check pragmas from
Contract_Case pragmas, similarly to what is done already for
postconditions.
* sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
Renaming of Check_Test_Case.
(Analyze_Pragma, Sig_Flags): Take into account the new pragma.
* sem_util.adb, sem_util.ads Renaming to take into account the
new pragma, so that functions which applied only to Test_Case
now apply to both Test_Case and Contract_Case.
* par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
the new pragma.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185415
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Thu, 15 Mar 2012 08:47:20 +0000 (08:47 +0000)]
2012-03-15 Tristan Gingold <gingold@adacore.com>
* c-parser.c (c_parser_parameter_declaration): Handle #pragma
before a parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185413
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 15 Mar 2012 08:46:38 +0000 (08:46 +0000)]
2012-03-15 Robert Dewar <dewar@adacore.com>
* sem_ch6.ads: Minor comment updates.
* sem_ch12.adb: Minor comment clarification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185412
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Thu, 15 Mar 2012 08:44:42 +0000 (08:44 +0000)]
2012-03-15 Tristan Gingold <gingold@adacore.com>
* dwarf2out.c (gen_subprogram_die): Require dwarf unwinding to
use DW_OP_call_frame_cfa.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185411
138bc75d-0d04-0410-961f-
82ee72b054a4