hainque [Thu, 12 Sep 2013 09:35:54 +0000 (09:35 +0000)]
2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
Olivier Hainque <hainque@adacore.com>
* gcc-interface/Makefile.in: Import target_cpu, target_vendor,
target_os and their host_ counterparts. Remove host_canonical and
target_cpu_default, unused. Remove local ad-hoc computations of
"host", "targ", "arch", "osys" and "manu". Replace uses of these by
uses of the now imported family, hence back to filters against
canonical values. Remove filters on e500 for target_cpu, expected to
be canonicalized into powerpc. Invert the logic filtering on 64bit
sparc for VxWorks. Simplify the filtering logic for bareboard tools
target pairs, now using straight elf/eabi filters on the target_os
part only.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202518
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 12 Sep 2013 09:23:08 +0000 (09:23 +0000)]
* doc/extend.texi: Fix errors in x86 FMA builtin naming.
The FMA instruction names should have a 'v' prefix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202517
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 12 Sep 2013 08:49:01 +0000 (08:49 +0000)]
2013-09-12 Richard Biener <rguenther@suse.de>
* tree-loop-distribution.c (dot_rdg_1): Make graph prettier.
(dot_rdg): Use popen instead of system in optional code.
(remaining_stmts, upstream_mem_writes): Remove global bitmaps.
(already_processed_vertex_p): Adjust.
(has_anti_or_output_dependence, predecessor_has_mem_write,
mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes,
rdg_flag_uses): Remove.
(rdg_flag_vertex): Simplify.
(rdg_flag_vertex_and_dependent): Rely on a correct RDG and
remove recursion.
(build_rdg_partition_for_component): Process the first vertex
of a component only.
(ldist_gen): Do not compute remaining_stmts or upstream_mem_writes.
* gcc.dg/tree-ssa/ldist-4.c: Remove undefined behavior. Adjust
expected outcome and comment why that happens.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202516
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Thu, 12 Sep 2013 02:47:05 +0000 (02:47 +0000)]
* config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202515
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 12 Sep 2013 00:17:06 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202514
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Thu, 12 Sep 2013 00:16:03 +0000 (00:16 +0000)]
* config/rl78/predicates.md (rl78_cmp_operator_signed): New.
(rl78_stack_based_mem): New.
* config/rl78/constraints.md (Iv08): New.
(Iv16): New.
(Iv24): New.
(Is09): New.
(Is17): New.
(Is25): New.
(ISsi): New.
(IShi): New.
(ISqi): New.
* config/rl78/rl78-expand.md (movqi): Reject more SUBREG operands.
(movhi): Likewise.
(movsi): Change from expand to insn-and-split.
(ashrsi3): Clobber AX.
(lshrsi3): New.
(ashlsi3): New.
(cbranchsi4): New.
* config/rl78/rl78.md (CC_REG): Fix.
(addsi3): Allow memory and immediate operands.
(addsi3_internal): Split into...
(addsi3_internal_virt): ...new, and ...
(addsi3_internal_real): ...new.
(subsi): New.
(subsi3_internal_virt): New.
(subsi3_internal_real): New.
(mulsi3): Add memory operand.
(mulsi3_rl78): Likewise.
(mulsi3_g13): Likewise.
* config/rl78/rl78-real.md (cbranchqi4_real_signed): New.
(cbranchqi4_real): Add more constraint options.
(cbranchhi4_real): Expand pattern.
(cbranchhi4_real_signed): New.
(cbranchhi4_real_inverted): New.
(cbranchsi4_real_lt): New.
(cbranchsi4_real_ge): New.
(cbranchsi4_real_signed): New.
(cbranchsi4_real): New.
(peephole2): New.
* config/rl78/rl78-virt.md (ashrsi3_virt): Add custom cases for constant shifts.
(lshrsi3_virt): Likewise.
(ashlsi3_virt): Likewise.
(cbranchqi4_virt_signed): New.
(cbranchhi4_virt_signed): New.
(cbranchsi4_virt): New.
* config/rl78/rl78.c: Whitespace fixes throughout.
(move_elim_pass): New.
(pass_data_rl78_move_elim): New.
(pass_rl78_move_elim): New.
(make_pass_rl78_move_elim): New.
(rl78_devirt_info): Run devirt earlier.
(rl78_move_elim_info): New.
(rl78_asm_file_start): Register it.
(rl78_split_movsi): New.
(rl78_as_legitimate_address): Allow virtual base registers when
appropriate.
(rl78_addr_space_convert): Remove spurious debug stuff.
(rl78_print_operand_1): Add z,s,S,r,E modifiers.
(rl78_print_operand): More cases for not printing '#'.
(rl78_expand_compare): Remove most of the logic.
(content_memory): New.
(clear_content_memory): New.
(get_content_index): New.
(get_content_name): New.
(display_content_memory): New.
(update_content): New.
(record_content): New.
(already_contains): New.
(insn_ok_now): Re-recog insns with virtual registers.
(add_postponed_content_update): New.
(process_postponed_content_update): New.
(gen_and_emit_move): New.
(transcode_memory_rtx): Record new location content. Use
gen_and_emit_move.
(force_into_acc): New.
(move_to_acc): Use gen_and_emit_move.
(move_from_acc): Likewise.
(move_acc_to_reg): Likewise.
(move_to_x): Likewise.
(move_to_hl): Likewise.
(move_to_de): Likewise.
(rl78_alloc_physical_registers_op1): Record location content.
(has_constraint): New.
(rl78_alloc_physical_registers_op2): Record location content.
Optimize use of HL.
(rl78_alloc_physical_registers_ro1): Likewise.
(rl78_alloc_physical_registers_cmp): Likewise.
(rl78_alloc_physical_registers_umul): Likewise.
(rl78_alloc_address_registers_macax): New.
(rl78_alloc_physical_registers): Initialize and set location
content memory as needed.
(rl78_reorg): Make sure split2 is called.
(rl78_rtx_costs): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202511
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 11 Sep 2013 22:24:50 +0000 (22:24 +0000)]
2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/58358
* include/bits/stl_algo.h (search_n): Fix to guarantee a number
of comparisons <= number of elements in the range.
* testsuite/25_algorithms/search_n/58358.cc: New.
* testsuite/25_algorithms/search_n/iterator.cc: Extend.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202510
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 11 Sep 2013 17:40:56 +0000 (17:40 +0000)]
gcc/
* simplify-rtx.c (simplify_unary_operation_1): Use simplify_gen_binary
for (not (neg ...)) and (neg (not ...)) cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202506
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 11 Sep 2013 12:20:07 +0000 (12:20 +0000)]
2013-09-11 Richard Biener <rguenther@suse.de>
PR middle-end/58377
* passes.def: Split critical edges before late uninit warning passes.
* tree-cfg.c (pass_split_crit_edges): Implement clone method.
* g++.dg/uninit-pred-4.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202496
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 11 Sep 2013 11:35:51 +0000 (11:35 +0000)]
PR tree-optimization/58385
* fold-const.c (build_range_check): If both low and high are NULL,
use omit_one_operand_loc to preserve exp side-effects.
* gcc.c-torture/execute/pr58385.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202494
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 11 Sep 2013 11:14:39 +0000 (11:14 +0000)]
[gcc/]
* config/arm/arm.md (arm_shiftsi3): New alternative l/l/M.
[gcc/testsuite]
* gcc.target/arm/thumb-ifcvt-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202493
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 11 Sep 2013 10:09:41 +0000 (10:09 +0000)]
2013-09-11 Richard Biener <rguenther@suse.de>
* tree-data-ref.c (dump_rdg_vertex, debug_rdg_vertex,
dump_rdg_component, debug_rdg_component, dump_rdg, debug_rdg,
dot_rdg_1, dot_rdg, rdg_vertex_for_stmt, create_rdg_edge_for_ddr,
create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
stmts_from_loop, known_dependences_p, build_empty_rdg,
build_rdg, free_rdg, rdg_defs_used_in_other_loops_p): Move ...
* tree-loop-distribution.c: ... here.
* tree-data-ref.h (struct rdg_vertex, RDGV_STMT, RDGV_DATAREFS,
RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT, RDG_DATAREFS,
RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT, enum rdg_dep_type,
struct rdg_edge, RDGE_TYPE, RDGE_LEVEL, RDGE_RELATION): Move ...
* tree-loop-distribution.c: ... here.
* tree-loop-distribution.c: Include gimple-pretty-print.h.
(struct partition_s): Add loops member.
(partition_alloc, partition_free, rdg_flag_uses, rdg_flag_vertex,
rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
build_rdg_partition_for_component, rdg_build_partitions): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202492
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 11 Sep 2013 07:32:30 +0000 (07:32 +0000)]
* config/i386/constraints.md (k): New.
(Yk): Ditto.
* config/i386/i386.c (const regclass_map): Add new mask registers.
(dbx_register_map): Ditto.
(dbx64_register_map): Ditto.
(svr4_dbx_register_map): Ditto.
(ix86_conditional_register_usage): Squash mask registers if AVX512F is
disabled.
(ix86_preferred_reload_class): Disable constants for mask registers.
(ix86_secondary_reload): Do spill of mask register using 32-bit insn.
(ix86_hard_regno_mode_ok): Support new mask registers.
(x86_order_regs_for_local_alloc): Ditto.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Update.
(FIXED_REGISTERS): Add new mask registers.
(CALL_USED_REGISTERS): Ditto.
(REG_ALLOC_ORDER): Ditto.
(VALID_MASK_REG_MODE): New.
(FIRST_MASK_REG): Ditto.
(LAST_MASK_REG): Ditto.
(reg_class): Add MASK_EVEX_REGS, MASK_REGS.
(MAYBE_MASK_CLASS_P): New.
(REG_CLASS_NAMES): Add MASK_EVEX_REGS, MASK_REGS.
(REG_CLASS_CONTENTS): Ditto.
(MASK_REGNO_P): New.
(ANY_MASK_REG_P): Ditto.
(HI_REGISTER_NAMES): Add new mask registers.
* config/i386/i386.md (MASK0_REG, MASK1_REG, MASK2_REG,
MASK3_REG, MASK4_REG, MASK5_REG, MASK6_REG,
MASK7_REG): Constants for new mask registers.
(attribute "type"): Add mskmov, msklog.
(attribute "length_immediate"): Support them.
(attribute "memory"): Ditto.
(attribute "prefix_0f"): Ditto.
(*movhi_internal): Support new mask registers.
(*movqi_internal): Ditto.
(define_split): Split out clobber pattern is a logic
insn on mask registers.
(*k<logic><mode>): New.
(*andhi_1): Extend to support mask regs.
(*andqi_1): Extend to support mask regs.
(kandn<mode>): New.
(define_split): Split and-not to and and not if operands
are not mask regs.
(*<code><mode>_1): Separate HI mode to new pattern...
(*<code>hi_1): This.
(*<code>qi_1): Extend to support mask regs.
(kxnor<mode>): New.
(kortestzhi): Ditto.
(kortestchi): Ditto.
(kunpckhi): Ditto.
(*one_cmpl<mode>2_1): Remove HImode and handle it...
(*one_cmplhi2_1): ...Here, now with mask registers support.
(*one_cmplqi2_1): Support new mask registers.
(HI/QImode arithmetics splitter): Don't split if mask registers are used.
(HI/QImode not splitter): Ditto.
* config/i386/predicated.md (mask_reg_operand): New.
(general_reg_operand): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202491
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 11 Sep 2013 07:21:15 +0000 (07:21 +0000)]
*·doc/invoke.texi:·Document·fxsr,·xsave·and·xsaveopt·options.
*·doc/extend.texi:·Document·fxsr,·xsave·and·xsaveopt·builtins.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202490
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 11 Sep 2013 02:23:48 +0000 (02:23 +0000)]
PR tree-optimization/58380
* tree-ssa-threadupdate.c (thread_block): Recognize another case
of threading through a buried loop header.
* tree-ssa-threadedge.c (thread_around_empty_blocks): Correct
return value for single successor case.
* g++.dg/torture/pr58380.C: New test.
2013-09-10 Jeff Law <law@redhat.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202489
138bc75d-0d04-0410-961f-
82ee72b054a4
emsr [Wed, 11 Sep 2013 01:27:31 +0000 (01:27 +0000)]
2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
* testsuite/28_regex/traits/wchar_t/value.cc: Change template args
from char to wchar_t, literals from 'x' to L'x'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202487
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 11 Sep 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202486
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 10 Sep 2013 21:41:38 +0000 (21:41 +0000)]
* ipa-devirt.c (ipa_devirt): Enable with LTO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202482
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Tue, 10 Sep 2013 19:17:37 +0000 (19:17 +0000)]
Now that it's official, add myself back in as libvtv
maintainer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202481
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 10 Sep 2013 18:45:29 +0000 (18:45 +0000)]
2013-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR bootstrap/58386
Revert:
2013-09-10 Gary Benson <gbenson@redhat.com>
* cp-demangle.c: Include hashtab.h.
(struct d_print_info): New field saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(struct d_saved_scope): New structure.
(d_store_scope): New function.
(d_free_scope) Likewise.
(d_restore_scope) Likewise.
(d_hash_saved_scope) Likewise.
(d_equal_saved_scope) Likewise.
(d_print_comp): New variable saved_scope.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202480
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Tue, 10 Sep 2013 16:46:55 +0000 (16:46 +0000)]
PR target/58361
* arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
support conditional execution.
(combine_vcvt_f64_<FCVTI32typename>): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202475
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 10 Sep 2013 16:18:34 +0000 (16:18 +0000)]
Add PR's section
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202473
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 10 Sep 2013 16:17:25 +0000 (16:17 +0000)]
PR/54314
* config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
like in gnu.ver.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202472
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Tue, 10 Sep 2013 16:10:28 +0000 (16:10 +0000)]
To prevent further confusion, remove myself as libvtv
maintainer until (if) I am officially approved as such.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202471
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 10 Sep 2013 16:00:13 +0000 (16:00 +0000)]
Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM
PR other/58374
* configure.ac: Move VTV_SUPPORTED check after AC_CANONICAL_SYSTEM.
* configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202470
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 10 Sep 2013 15:37:57 +0000 (15:37 +0000)]
2013-09-10 Vladimir Makarov <vmakarov@redhat.com>
* lra.c (lra): Clear lra_optional_reload_pseudos before every
constraint pass.
* lra-constraints.c (curr_insn_transform): Switch on optional
reloads. Check destination too to check move insn.
(undo_optional_reloads): Add check that the original peudo did not
changed its allocation and the optional reload was inherited on
last inheritance pass. Break loop after deciding to keep optional
reload.
(lra_undo_inheritance): Add check that inherited pseudo still in
memory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202468
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:30:44 +0000 (15:30 +0000)]
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: sem_ch3.adb:
(Replace_Anonymoous_Access_To_Protected_Subprogram): If the
return type is itself an access to function, recurse to emit
another anonymous type.
gcc-interface/decl.c (gnat_to_gnu_entity): In ASIS mode
(type_annotate_only) do not check whether access types have a set size.
2013-09-10 Robert Dewar <dewar@adacore.com>
* err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
* errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
* errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
* inline.ads (Warnings): New component in Pending_Body_Info.
* sem_ch12.adb (Pending_Body_Info): Save and restore warnings
at instantiation point.
* warnsw.adb (Save_Warnings): New function (Restore_Warnings):
New procedure Remove special handling of Warning_Doc_Switch,
cleaner to handle the VMS case in errout, than to introduce
undocumented oddities here.
* warnsw.ads (Warning_Record) : New type.
(Save_Warnings): New function.
(Restore_Warnings): New procedure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202467
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:21:28 +0000 (15:21 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* sinput.adb (Check_For_BOM): Avoid reading past end of file.
2013-09-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Error_Msg_Ada_2012_Feature): New procedure.
* errout.ads (Error_Msg_Ada_2012_Feature): New procedure.
* inline.ads: Save/Restore Ada_Version_Pragma.
* opt.adb: Save/Restore Ada_Version_Pragma.
* opt.ads (Ada_Version_Pragma): New variable.
* par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch8.adb, par-prag.adb: Use Error_Msg_Ada_2012_Feature.
* prj.adb: Initialize Ada_Version_Pragma.
* sem_attr.adb: Use Error_Msg_Ada_2012_Feature.
* sem_ch12.adb, sem_ch8.adb: Save/restore Ada_Version_Pragma.
* sem_prag.adb (Analyze_Pragma, cases Ada_xx): Set Ada_Version_Pragma.
* switch-c.adb: Initialize Ada_Version_Pragma.
* sem_ch12.adb: Minor reformatting.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Subtype): Discard constraint on access
to class-wide type. Such constraints are not supported and are
considered a language pathology.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202466
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:17:44 +0000 (15:17 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* gnatbind.adb: Correct starting date in --version string.
* gnatdll.adb: Use Check_Version_And_Help_G to implement --help
and --version.
* gnatkr.adb: Use Check_Version_And_Help_G to implement --help
and --version.
* gnatlink.adb: Correct starting date in --version string.
* gnatls.adb: Correct starting date in --version string.
* make.adb: Correct starting date in --version string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202465
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:16:41 +0000 (15:16 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* switch-c.adb: Minor reformatting.
* atree.ads (Original_Nodes): Add documentation on ASIS usage.
* sinfo.ads: Add section on ASIS mode (documentation only).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202464
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:15:20 +0000 (15:15 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Warnings): Don't allow
REASON parameter in compiler units (bootstrap issues).
2013-09-10 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Output warning if
-gnateE specified for a target that does not support it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202463
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:12:42 +0000 (15:12 +0000)]
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Handle properly
a subprogram body without previous spec.
2013-09-10 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb: Minor typo fixes.
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb (Aspects_On_Body_OK): New routine.
* aspects.ads: Modify type Aspect_Expression to include
the Optional_XXX variants. Update the contents of
table Aspect_Argument. Add table Aspect_On_Body_OK.
(Aspects_On_Body_OK): New routine.
* par-ch13.adb (Get_Aspect_Specifications): Account for optional
names and expressions when parsing an aspect.
* sem_ch6.adb: Add with and use clause for Aspects.
(Analyze_Subprogram_Body_Helper): Do not emit an error when
analyzing a body with aspects that can be applied simultaneously
to both spec and body.
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
corresponding pragma of an aspect that applies to a subprogram
body in the declarative part.
(Make_Aitem_Pragma): Do not generate a pragma with an empty argument
list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202462
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:09:33 +0000 (15:09 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* switch-c.adb: Diagnose -gnatc given after -gnatRm.
* gnat_ugn.texi: Add documentation for -gnatRm.
* usage.adb: Minor reorganization (put style entries in proper
order) Document -gnatRm switch.
* sinfo.ads: Minor comment fix.
2013-09-10 Sergey Rybin <rybin@adacore.com frybin>
* tree_io.ads: Update ASIS_Version_Number.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): Check whether the
designated type can appear in a parameterless call.
* sem_ch4.adb (Analyze_Call): Do not insert an explicit dereference
in the case of an indirect call through an access function that
returns an array type.
(Analyze_One_Call): Handle properly legal parameterless calls
whose result is indexed, in constructs of the for F.all (I)
* sem_ch6.ads (May_Need_Actuals): Make public, for use on access
to subprogram types.
* sem_res.adb (Resolve_Call): If the call is indirect, there is
no entity to set on the name in the call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202461
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:05:40 +0000 (15:05 +0000)]
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb: Add entries in the Has_Aspect_Specifications_Flag
table for package body and body stubs.
(Move_Or_Merge_Aspects): New routine.
(Remove_Aspects): New routine.
* aspects.ads (Move_Aspects): Update comment on usage.
(Move_Or_Merge_Aspects): New routine.
(Remove_Aspects): New routine.
* par-ch3.adb: Update the grammar of private_type_declaration,
private_extension_declaration, object_renaming_declaration,
and exception_renaming_declaration.
(P_Subprogram): Parse the
aspect specifications that apply to a body stub.
* par-ch6.adb: Update the grammar of subprogram_body_stub and
generic_instantiation.
* par-ch7.adb: Update the grammar of package_declaration,
package_specification, package_body, package_renaming_declaration,
package_body_stub.
(P_Package): Parse the aspect specifications
that apply to a body, a body stub and package renaming.
* par-ch9.adb: Update the grammar of entry_declaration,
protected_body, protected_body_stub, task_body,
and task_body_stub.
(P_Protected): Add local variable
Aspect_Sloc. Add local constant Dummy_Node. Parse the aspect
specifications that apply to a protected body and a protected
body stub.
(P_Task): Add local variable Aspect_Sloc. Add local
constant Dummy_Node. Parse the aspect specifications that apply
to a task body and a task body stub.
* par-ch12.adb: Update the grammar of
generic_renaming_declaration.
(P_Generic): Parse the aspect
specifications that apply to a generic renaming.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not emit
an error when analyzing aspects that apply to a body stub. Such
aspects are relocated to the proper body.
* sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the aspect
specifications that apply to a body.
* sem_ch9.adb (Analyze_Protected_Body): Warn about user-defined
aspects not being supported on protected bodies. Remove the
aspect specifications. (Analyze_Single_Protected_Declaration):
Analyze the aspects that apply to a single protected declaration.
(Analyze_Task_Body): Warn about user-defined aspects not being
supported on task bodies. Remove the aspect specifications.
* sem_ch10.adb: Add with and use clause for Aspects.
(Analyze_Package_Body_Stub): Propagate the aspect specifications
from the stub to the proper body.
* sem_ch13.adb (Analyze_Aspect_Specifications): Insert the
corresponding pragma of an aspect that applies to a body in the
declarations of the body.
* sinfo.ads: Update the gramma of expression_function,
private_type_declaration, private_extension_declaration,
object_renaming_declaration, exception_renaming_declaration,
package_renaming_declaration, subprogram_renaming_declaration,
generic_renaming_declaration, entry_declaration,
subprogram_body_stub, package_body_stub, task_body_stub,
generic_subprogram_declaration.
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Pragma): Add processing
for aspect/pragma SPARK_Mode when it applies to a [library-level]
subprogram or package [body].
2013-09-10 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document that -gnatc and -gnatR cannot be
given together.
* switch-c.adb (Scan_Front_End_Switches): Give error if both
-gnatR and -gnatc given.
2013-09-10 Robert Dewar <dewar@adacore.com>
* g-table.ads, g-table.adb (For_Each): New generic procedure
(Sort_Table): New generic procedure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202460
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 15:02:33 +0000 (15:02 +0000)]
2013-09-10 Thomas Quinot <quinot@adacore.com>
* adaint.c (__gnat_is_executable_file_attr): Should be true
for an executable regular file only only (not for a directory
that has the executable permission).
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: Further work on operator calls in ASIS.
2013-09-10 Yannick Moy <moy@adacore.com>
* sinfo.ads, sem_prag.ads, sem_ch13.adb: Minor correction and comment
update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202459
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:58:22 +0000 (14:58 +0000)]
2013-09-10 Thomas Quinot <quinot@adacore.com>
* aspects.ads, sem_ch13.adb: Minor reformatting.
* adaint.c (__gnat_set_close_on_exec): Add comment documenting
that this routine is shared between OS_Lib and Sockets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202458
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:56:41 +0000 (14:56 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* exp_prag.adb (Expand_Pragma_Check): Ignore pragma if Is_Ignored set.
* sem_ch13.adb (Make_Aitem_Pragma): Set Is_Checked if needed.
* sem_prag.adb (Check_Kind): Moved from spec (Analyze_Pragma):
Make sure Is_Ignored/Is_Checked are set right (Analyze_Pragma,
case Check): Ditto (Check_Applicable_Policy): Handle
Statement_Assertion case Throughout, set and check the Is_Checked
flag as appropriate.
* sem_prag.ads (Check_Kind): Moved to body.
* sinfo.ads, sinfo.adb (Is_Checked): New flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202457
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:54:41 +0000 (14:54 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* aspects.ads (Delay_Type): New type (Aspect_Delay): New table.
* einfo.adb (Has_Delayed_Rep_Aspects): New flag
(May_Inherit_Delayed_Rep_Aspects): New flag (Rep_Clause): Removed
(use Get_Attribute_Representation_Clause).
* einfo.ads (Has_Delayed_Rep_Aspects): New flag
(May_Inherit_Delayed_Rep_Aspects): New flag
* freeze.adb: Minor reformatting
* sem_ch13.adb (Analyze_Aspect_Speficifications): Redo
handling of delayed evaluation, including optimizing some cases
and avoiding delays.
(Analyze_Aspects_At_Freeze_Point): Now
handled inheriting delayed rep aspects for type derivation case.
(Inherit_Delayed_Rep_Aspects): New procedure
* sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Now handled
inheriting delayed rep aspects for type derivation case.
* sem_ch3.adb (Build_Derived_Type): Set
May_Inherit_Derived_Rep_Aspects if parent type flag
Has_Delayed_Rep_Aspects is set
2013-09-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Finalize): Don't delete real errors with specific
warning control.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Timed_Entry_Call,
Expand_N_Conditional_Entry_Call, Expand_N_Asynchronous_Select):
Handle properly a trigger that is a call to a primitive operation
of a type that implements a limited interface, if the type itself
is not limited.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202456
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:52:46 +0000 (14:52 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sinfo.ads, exp_ch9.adb, sem_prag.adb, sem_ch12.adb,
exp_ch4.adb, sprint.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202455
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:50:09 +0000 (14:50 +0000)]
2013-09-10 Yannick Moy <moy@adacore.com>
* sinfo.ads: Document splitting of pre/post in N_Contract description.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Op_Multiply): If the operation is of the
form X * 2 ** N and it has been marked Is_Power_Of_2_For_Shift,
add a mod operation if the result type is a binary modular type.
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Add local
variable Context. Remove local variable Subp_Id. Start the
context traversal from the current subprogram rather than the
current scope. Update the scope traversal and error reporting.
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Timed_Entry_Call): New procedure
Rewrite_Triggering_Statements, to encapsulate the statements that
follow the trigger of the entry call. This procedure is needed
when the trigger is a dispatching call, because the expansion
requires several copies of those statements. The procedure is
more efficient, and preserves non-local references when the
construct is within an instance.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202454
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:48:04 +0000 (14:48 +0000)]
2013-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation): If the
instantiation is a compilation unit, analyze aspects before
analyzing the package declaration for the instance.
* sem_ch13.adb (Analyze_Aspect_Specifications): If the
corresponding node is a package instantiation, insert generated
pragmas at the head of visible declarations.
* sem_prag.adb (Analyze_Pragma, case Preelaborate): In an instance
do not ignore the pragma if it comes from an aspect specification
in the instance, and not from the generic unit.
* sprint.adb (Sprint_Node_Actual): For a package declaration that
is an instantiation, print aspects after declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202453
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:45:08 +0000 (14:45 +0000)]
2013-09-10 Robert Dewar <dewar@adacore.com>
* einfo.adb, sem_prag.adb, rtsfind.ads: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202452
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 10 Sep 2013 14:43:06 +0000 (14:43 +0000)]
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Get_SPARK_Mode_Id): Handle the
case where the pragma may appear without an argument.
(Analyze_Global_List): Add expanded_name to the list of constructs
that denote a single item.
(Collect_Global_List): Add expanded_name to the list of constructs
that denote a single item.
2013-09-10 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Apply_Accessibility_Check): Add local constant
Pool_Id and local variables Fin_Call and Free_Stmt. Finalize
and deallocate a heap-allocated class-wide object after it
has been determined that it violates the accessibility rules.
* rtsfind.ads: Add new RTU_Id for System.Memory. Add new RE_Id
and entry in RE_Unit_Table for RE_Free.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202451
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 10 Sep 2013 13:55:38 +0000 (13:55 +0000)]
[AArch64] Prevent generic pipeline description from dominating other pipeline descriptions.
gcc/
* config/aarch64/aarch64.md (generic_sched): New.
* config/aarch64/aarch64-generic.md (load): Make conditional
on generic_sched attribute.
(nonload): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202448
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 10 Sep 2013 13:50:43 +0000 (13:50 +0000)]
* lto-cgraph.c: Include ipa-utils.h.
(compute_ltrans_boundary): Also add possible targets into the boundary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202447
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 10 Sep 2013 13:46:31 +0000 (13:46 +0000)]
* gimple-fold.c (gimple_get_virt_method_for_binfo): Pass real
VAR_DECL of vtable rather than full expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202446
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 10 Sep 2013 13:04:36 +0000 (13:04 +0000)]
2013-09-10 Jan Hubicka <jh@suse.cz>
Paolo Carlini <paolo.carlini@oracle.com>
* cgraphunit.c (analyze_functions): Save input_location, set it
to UNKNOWN_LOCATION and restore it at the end.
/cp
2013-09-10 Jan Hubicka <jh@suse.cz>
Paolo Carlini <paolo.carlini@oracle.com>
* error.c (print_instantiation_partial_context_line): If
loc == UNKNOWN_LOCATION return immediately.
/testsuite
2013-09-10 Jan Hubicka <jh@suse.cz>
Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/cond2.C: Tweak, do not expect a "required from".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202445
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 10 Sep 2013 13:01:47 +0000 (13:01 +0000)]
2013-09-10 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (propagate_constants_topo): Do not ignore SCC
represented by a thunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202444
138bc75d-0d04-0410-961f-
82ee72b054a4
gary [Tue, 10 Sep 2013 12:33:50 +0000 (12:33 +0000)]
2013-09-10 Gary Benson <gbenson@redhat.com>
* cp-demangle.c: Include hashtab.h.
(struct d_print_info): New field saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(struct d_saved_scope): New structure.
(d_store_scope): New function.
(d_free_scope) Likewise.
(d_restore_scope) Likewise.
(d_hash_saved_scope) Likewise.
(d_equal_saved_scope) Likewise.
(d_print_comp): New variable saved_scope.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202442
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 10 Sep 2013 12:29:58 +0000 (12:29 +0000)]
PR tree-optimization/58343
* tree-ssa-threadupdate.c (thread_block): Identify and disable
jump threading requests through loop headers buried in the middle
of a jump threading path.
* tree-ssa-threadedge.c (thread_around_empty_blocks): Fix thinko
in return value/type.
* gcc.c-torture/compile/pr58343.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202441
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 10 Sep 2013 11:47:19 +0000 (11:47 +0000)]
PR rtl-optimization/58365
* cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
it differs.
* gcc.c-torture/execute/pr58365.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202434
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 10 Sep 2013 10:26:08 +0000 (10:26 +0000)]
2013-09-10 Richard Biener <rguenther@suse.de>
* tree-data-ref.h (build_rdg): Drop all parameters but loop.
* tree-data-ref.c (create_rdg_vertices): Collect all data
references, signal failure to the caller, use data-ref API.
(build_rdg): Compute data references only once. Maintain
lifetime of data references and data dependences from within
RDG.
(free_rdg): Free dependence relations.
* tree-loop-distribution.c (rdg_flag_uses): Drop weird code
inventing extra dependences.
(distribute_loop): Update for RDG API changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202431
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Tue, 10 Sep 2013 09:09:05 +0000 (09:09 +0000)]
* doc/invoke.texi (fms-extensions): Document changed
behavior for ms-abi targets.
* config/i386/i386.c (ix86_option_override_internal):
Set default value of option -fms-extension for ms-abi targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202429
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 10 Sep 2013 08:38:57 +0000 (08:38 +0000)]
PR target/58330
oops, missed from commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202428
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 10 Sep 2013 07:53:22 +0000 (07:53 +0000)]
gcc:
* config/i386/i386.c (ix86_expand_movmem): Fix epilogue generation.
gcc/testsuite:
* gcc.dg/torture/memcpy-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202423
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 10 Sep 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202421
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 9 Sep 2013 23:48:10 +0000 (23:48 +0000)]
PR target/58330
gcc/
* config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
gcc/testsuite/
* gcc.target/powerpc/pr58330.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202418
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 9 Sep 2013 23:40:34 +0000 (23:40 +0000)]
gcc/
* config/rs6000/predicates.md (add_cint_operand): New.
(reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
* config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
using add_cint_operand.
(largetoc_high_plus_aix): Likewise.
gcc/testsuite/
* gcc.target/powerpc/medium_offset.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202417
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 9 Sep 2013 21:55:22 +0000 (21:55 +0000)]
2013-09-09 Tobias Burnus <burnus@net-b.de>
* invoke.texi (Error and Warning Options): Add hyphen.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202416
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 9 Sep 2013 17:12:15 +0000 (17:12 +0000)]
PR c++/58325
* init.c (build_vec_delete): Call mark_rvalue_use on base.
* g++.dg/warn/Wunused-var-21.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202411
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 9 Sep 2013 17:09:59 +0000 (17:09 +0000)]
PR tree-optimization/58364
* tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
BOOLEAN_TYPE, only invert in_p and continue with arg0 if
the current range can't be an unconditional true or false.
* gcc.c-torture/execute/pr58364.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202409
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 9 Sep 2013 15:16:03 +0000 (15:16 +0000)]
[AArch64] obvious - Fix parameter to vrsqrte_f64
gcc/
* config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202407
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 9 Sep 2013 15:07:58 +0000 (15:07 +0000)]
* ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202406
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 14:47:21 +0000 (14:47 +0000)]
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.
/c-family
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* c.opt (Wdelete-incomplete): Add.
/cp
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.
/testsuite
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202405
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 14:31:16 +0000 (14:31 +0000)]
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.
/c-family
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* c.opt (Wdelete-incomplete): Add.
/cp
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.
/testsuite
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202404
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [Mon, 9 Sep 2013 13:53:18 +0000 (13:53 +0000)]
Improve handling of constants destined for FP_REGS on AArch64
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202403
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 13:39:47 +0000 (13:39 +0000)]
/cp
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58362
* error.c (location_of): Don't handle PARM_DECLs specially.
/testsuite
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58362
* g++.dg/warn/Wunused-parm-5.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202402
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 9 Sep 2013 13:34:44 +0000 (13:34 +0000)]
2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
* error.c (dump_expr, [PSEUDO_DTOR_EXPR]): Fix.
* cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
Tweak, TREE_OPERAND (t, 1) may be null.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202401
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 9 Sep 2013 13:32:50 +0000 (13:32 +0000)]
[gcc/]
2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
comparison with negated operand.
* config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL form.
[gcc/testsuite/]
2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/cmn-neg.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202400
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 9 Sep 2013 13:18:38 +0000 (13:18 +0000)]
2013-09-09 Richard Biener <rguenther@suse.de>
PR middle-end/58326
* cfgloopmanip.c (fix_bb_placements): When fixing the placement
of a subloop record all its block as affecting loop-closed SSA form.
* gcc.dg/torture/pr58326-1.c: New testcase.
* gcc.dg/torture/pr58326-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202399
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 9 Sep 2013 13:16:44 +0000 (13:16 +0000)]
2013-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/57735
* g++.dg/ext/pr57735.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202398
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:07:18 +0000 (13:07 +0000)]
gcc/
* expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead
of an rtx/bitpos pair.
(store_fixed_bit_field): Update accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202395
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:07:10 +0000 (13:07 +0000)]
gcc/
* asan.c (asan_emit_stack_protection): Use gen_int_mode instead of
GEN_INT.
* builtins.c (expand_errno_check): Likewise.
* dwarf2cfi.c (init_return_column_size): Likewise.
* except.c (sjlj_mark_call_sites): Likewise.
* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
* lra-constraints.c (emit_inc): Likewise.
* ree.c (combine_set_extension): Likewise.
* regmove.c (fixup_match_2): Likewise.
* reload1.c (inc_for_reload): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202394
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:07:02 +0000 (13:07 +0000)]
gcc/
* combine.c (simplify_set, expand_field_assignment, extract_left_shift)
(force_to_mode, simplify_shift_const_1, simplify_comparison):
Use gen_int_mode with the mode of the associated simplify_* call.
* explow.c (probe_stack_range, anti_adjust_stack_and_probe): Likewise.
* expmed.c (expand_shift_1): Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202393
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:06:53 +0000 (13:06 +0000)]
gcc/
* asan.c (asan_clear_shadow): Use gen_int_mode with the mode
of the associated expand_* call.
(asan_emit_stack_protection): Likewise.
* builtins.c (round_trampoline_addr): Likewise.
* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, expand_divmod)
(emit_store_flag): Likewise.
* expr.c (emit_move_resolve_push, push_block, emit_single_push_insn_1)
(emit_push_insn, optimize_bitfield_assignment_op, expand_expr_real_1):
Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* ifcvt.c (noce_try_store_flag_constants): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* modulo-sched.c (generate_prolog_epilog): Likewise.
* optabs.c (expand_binop, widen_leading, expand_doubleword_clz)
(expand_ctz, expand_ffs, expand_unop): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202392
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 13:06:43 +0000 (13:06 +0000)]
gcc/
* alias.c (addr_side_effect_eval): Use gen_int_mode with the mode
of the associated gen_rtx_* call.
* caller-save.c (init_caller_save): Likewise.
* combine.c (find_split_point, make_extraction): Likewise.
(make_compound_operation): Likewise.
* dwarf2out.c (mem_loc_descriptor): Likewise.
* explow.c (plus_constant, probe_stack_range): Likewise.
* expmed.c (expand_mult_const): Likewise.
* expr.c (emit_single_push_insn_1, do_tablejump): Likewise.
* reload1.c (init_reload): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
* var-tracking.c (adjust_mems): Likewise.
* modulo-sched.c (sms_schedule): Likewise, but use gen_rtx_GT
rather than gen_rtx_fmt_ee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202391
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 12:09:50 +0000 (12:09 +0000)]
PR middle-end/58294
* value-prof.c (gimple_ic): Copy also abnormal edges.
* g++.dg/torture/PR58294.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202389
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 9 Sep 2013 09:23:54 +0000 (09:23 +0000)]
gcc/
* asan.c (asan_shadow_cst): Use gen_int_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202384
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 07:37:53 +0000 (07:37 +0000)]
* ipa-profile.c: Add toplevel comment.
(ipa_propagate_frequency_1): Be more conservative when profile is read.
(contains_hot_call_p): New function.
(ipa_propagate_frequency): Set frequencies based on counts when
profile is read.
* predict.c (compute_function_frequency): Use PROFILE_READ gueard for
profile; do not tamper with profile after inlining if it is read.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202382
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 06:13:24 +0000 (06:13 +0000)]
* ipa-prop.c (try_make_edge_direct_simple_call): Do not special case
speculative edges.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202381
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 9 Sep 2013 06:12:21 +0000 (06:12 +0000)]
* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
summary generation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202380
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Sep 2013 03:07:28 +0000 (03:07 +0000)]
* tree-ssa-threadedge.c (thread_across_edge): Fix initialization
of 'found'.
* gcc.c-torture/compile/pr58340.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202379
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 9 Sep 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202377
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Sun, 8 Sep 2013 23:41:38 +0000 (23:41 +0000)]
Fix handling of very long asm statements in inliner
An auto generated program with a 6.4mio line asm statement gave
with 4.7 and 4.8:
xxx.c:6400017:1: internal compiler error: in account_size_time, at
ipa-inline-analysis.c:601
The problem is that the inliner counts the number of lines in the asm
statement and multiplies that with a weight. With the weight this
overflows 32bit signed int, and triggers an assert for negative time.
Fix this by limiting the number of lines to 1000 for asm cost
estimation. The RTL backend also does similar multiplications for
jump shortening. I haven't tried to address this, but presumably
it's less likely to result in a failure.
gcc/:
2013-09-08 Andi Kleen <ak@linux.intel.com>
* tree-inline.c (estimate_num_insns): Limit asm cost to 1000.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202374
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Sun, 8 Sep 2013 23:35:14 +0000 (23:35 +0000)]
Update libvtv testsuite so that most of the tests now run under
the dejagnu test harness.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202373
138bc75d-0d04-0410-961f-
82ee72b054a4
ctice [Sun, 8 Sep 2013 21:58:07 +0000 (21:58 +0000)]
Fix PR 58300: Re-order events with -fvtable-verify=preinit
flag, so constructor init function is not written to assembly
file until after call to cgraph_process_new_functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202371
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Sep 2013 20:32:46 +0000 (20:32 +0000)]
* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202370
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 8 Sep 2013 18:15:49 +0000 (18:15 +0000)]
gcc/
* ira.c (update_equiv_regs): Only call set_paradoxical_subreg
for non-debug insns.
* lra.c (new_insn_reg): Take the containing insn as a parameter.
Only modify lra_reg_info[].biggest_mode if it's non-debug insn.
(collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update
accordingly.
gcc/testsuite/
* g++.dg/debug/ra1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202369
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Sep 2013 16:42:21 +0000 (16:42 +0000)]
* testsuite/g++.dg/ipa/devirt-11.C: Update template.
* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
* testsuite/g++.dg/ipa/devirt-18.C: New testcase.
* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
targets and devirtualize to BUILT_IN_UNREACHABLE.
* timevar.def (TV_IPA_UNREACHABLE): New timevar.
* ipa.c (walk_polymorphic_call_targets): New function.
(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
functions; use the new timevar.
* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
was removed from the program.
(record_binfo): If BINFO corresponds to an anonymous namespace, we may
not consider it in the walk when its vtable is dead.
(possible_polymorphic_call_targets_1): Pass anonymous flag to
record_binfo.
(devirt_variable_node_removal_hook): New function.
(possible_polymorphic_call_targets): Also register
devirt_variable_node_removal_hook.
(ipa_devirt): Do not do non-speculative devirtualization.
(gate_ipa_devirt): One execute if devirtualizing speculatively.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202368
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sun, 8 Sep 2013 16:18:04 +0000 (16:18 +0000)]
* cgraph.h (varpool_node_hook, varpool_node_hook_list,
varpool_add_node_removal_hook, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook): Declare.
* varpool.c (varpool_node_hook_list): New structure.
(first_varpool_node_removal_hook,
first_varpool_variable_insertion_hook): New variables.
(varpool_add_node_removal_hook, varpool_remove_node_removal_hook,
varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook,
varpool_call_variable_insertion_hooks): New functions.
(varpool_remove_node): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202367
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sun, 8 Sep 2013 14:30:27 +0000 (14:30 +0000)]
2013-09-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54941
* diagnostic.c (diagnostic_build_prefix): When s.file is
"<built-in>" don't output line and column numbers.
/testsuite
2013-09-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54941
* g++.dg/overload/new1.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202366
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sun, 8 Sep 2013 08:17:47 +0000 (08:17 +0000)]
Add missing ChangeLog entry for r199969.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202365
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sun, 8 Sep 2013 06:16:24 +0000 (06:16 +0000)]
gcc/c-family:
* c-common.c (same_scalar_type_ignoring_signedness): Delete.
(vector_types_compatible_elements_p): New function.
* c-common.h: (same_scalar_type_ignoring_signedness): Delete
declaration.
(vector_types_compatible_elements_p): Declare.
gcc/c:
* c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
gcc/cp:
* typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
gcc/testsuite:
* c-c++-common/opaque-vector.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202364
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 8 Sep 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202363
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sat, 7 Sep 2013 23:31:58 +0000 (23:31 +0000)]
Testcase for PR58282
2013-09-08 Tom de Vries <tom@codesourcery.com>
PR c++/58282
* g++.dg/tm/noexcept-6.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202360
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Sat, 7 Sep 2013 23:31:48 +0000 (23:31 +0000)]
Handle noexcept on transactions with -fno-exceptions
2013-09-08 Tom de Vries <tom@codesourcery.com>
PR c++/58282
* except.c (build_must_not_throw_expr): Handle
flag_exceptions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202359
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 7 Sep 2013 22:57:49 +0000 (22:57 +0000)]
2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58341
* include/bits/stl_algobase.h (copy_backward): Fix documentation
per DR 1206.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202357
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 7 Sep 2013 21:35:38 +0000 (21:35 +0000)]
2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
definition of check-am:.
* testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202356
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 7 Sep 2013 07:48:59 +0000 (07:48 +0000)]
* cgraphunit.c (expand_thunk): Get body before touching arguments.
* lto-streamer-out.c: Stream thunks, too.
* lto-streamer-in.c (input_function): Pop cfun here
(lto_read_body): Instead of here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202352
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 7 Sep 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202350
138bc75d-0d04-0410-961f-
82ee72b054a4