tkoenig [Sun, 29 Apr 2012 07:12:03 +0000 (07:12 +0000)]
2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/53148
* frontend-passes.c (create_var): If the statement has a label,
put the label around the block.
2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/53148
* gfortran.dg/function_optimize_12.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186942
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Sun, 29 Apr 2012 07:00:01 +0000 (07:00 +0000)]
PR target/53156
* gcc.target/cris/peep2-andu2.c: Tweak expected assembly
code to match current output and cover new peephole2 pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186941
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Sun, 29 Apr 2012 06:59:09 +0000 (06:59 +0000)]
PR target/53156
* config/cris/cris.md (andqu): New peephole2.
(andu): Tweak head comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186940
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 29 Apr 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186938
138bc75d-0d04-0410-961f-
82ee72b054a4
devans [Sat, 28 Apr 2012 21:37:19 +0000 (21:37 +0000)]
* dwarf2.def (DW_OP): Add DW_OP_GNU_addr_index.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186934
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 28 Apr 2012 08:03:54 +0000 (08:03 +0000)]
libgcc/
2012-04-28 Aurelien Jarno <aurelien@aurel32.net>
* config.host (mips64*-*-linux*, mipsisa64*-*-linux*): Remove.
(mips*-*-linux*): Include mips/t-tpbit when long double is
16 bytes long.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186931
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 28 Apr 2012 04:56:55 +0000 (04:56 +0000)]
compiler: Fix some crashes on invalid code.
Fixes issue 7.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186929
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Sat, 28 Apr 2012 01:56:54 +0000 (01:56 +0000)]
PR tree-optimization/38785
* common.opt (ftree-partial-pre): New option.
* doc/invoke.texi: Document it.
* opts.c (default_options_table): Initialize flag_tree_partial_pre.
* tree-ssa-pre.c (do_partial_partial_insertion): Insert only if it will
benefit speed path.
(execute_pre): Use flag_tree_partial_pre.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186928
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 28 Apr 2012 00:29:23 +0000 (00:29 +0000)]
compiler: Use less memory for array/slice literals.
Fixes issue 8 in gofrontend issues list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186926
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 28 Apr 2012 00:18:20 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186925
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Fri, 27 Apr 2012 20:41:16 +0000 (20:41 +0000)]
PR target/52999
* config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
in constant pool.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186919
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Fri, 27 Apr 2012 16:58:53 +0000 (16:58 +0000)]
* dwarf2.h: Wrap function declarations in extern "C".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186918
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 27 Apr 2012 16:38:11 +0000 (16:38 +0000)]
PR go/52358
configure, runtime: Provide i386 long double math functions if needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186915
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 27 Apr 2012 16:32:42 +0000 (16:32 +0000)]
PR go/52358
math: Work around bug in Solaris 9 implementation of ldexp.
The bug is that ldexp(-1, -1075) should return -0, but the
Solaris 9 implementation returns +0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186913
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 27 Apr 2012 16:28:21 +0000 (16:28 +0000)]
runtime: Correct syscall.Setenv for systems that don't have setenv.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186911
138bc75d-0d04-0410-961f-
82ee72b054a4
aaw [Fri, 27 Apr 2012 14:29:32 +0000 (14:29 +0000)]
Add new option, -Wliteral-suffix.
This option, which is enabled by default, causes the preprocessor to warn
when a string or character literal is followed by a ud-suffix which does
not begin with an underscore. According to [lex.ext]p10, this is
ill-formed.
Also modifies the preprocessor to treat such ill-formed suffixes as separate
preprocessing tokens. This is consistent with the Clang front end (see
http://llvm.org/viewvc/llvm-project?view=rev&revision=152287), and enables
backwards compatibility with code that uses formatting macros from
<inttypes.h>, as in the following code block:
int main() {
int64_t i64 = 123;
printf("My int64: %"PRId64"\n", i64);
}
Google ref b/6377711.
2012-04-27 Ollie Wild <aaw@google.com>
PR c++/52538
* gcc/c-family/c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
* gcc/c-family/c-opts.c (c_common_handle_option): Handle
OPT_Wliteral_suffix.
* gcc/c-family/c.opt: Add Wliteral-suffix.
* gcc/doc/invoke.texi (Wliteral-suffix): Document new option.
* gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.c: New test.
* libcpp/include/cpplib.h (struct cpp_options): Add new field,
warn_literal_suffix.
(CPP_W_LITERAL_SUFFIX): New enum.
* libcpp/init.c (cpp_create_reader): Default initialization of
warn_literal_suffix.
* libcpp/lex.c (lex_raw_string): Treat user-defined literals which
don't begin with '_' as separate tokens and produce a warning.
(lex_string): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186909
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Fri, 27 Apr 2012 14:14:14 +0000 (14:14 +0000)]
gcc
* dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
(dwarf_tag_name): Use get_DW_TAG_name.
(dwarf_attr_name): Use get_DW_AT_name.
(dwarf_form_name): Use get_DW_FORM_name.
* dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name.
include
* dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute)
(enum dwarf_location_atom, enum dwarf_type, enum
dwarf_call_frame_info): Remove.
(DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP)
(DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros.
Include dwarf2.def.
(get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name)
(get_DW_OP_name, get_DW_ATE_name): Declare.
* dwarf2.def: New file, from dwarf2.h.
libiberty
* dwarfnames.c: New file.
* Makefile.in (CFILES): Add dwarfnames.
(REQUIRED_OFILES): Add dwarfnames.
(./dwarfnames.$(objext)): New target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186908
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Fri, 27 Apr 2012 12:20:01 +0000 (12:20 +0000)]
2012-04-27 Paolo Bonzini <bonzini@gnu.org>
* tree-ssa-phiopt.c (conditional_replacement): Replace PHIs
whose arguments are -1 and 0, by negating the result of the
conditional.
testsuite:
2012-04-27 Paolo Bonzini <bonzini@gnu.org>
* gcc.c-torture/execute/
20120427-2.c: New testcase.
* gcc.dg/tree-ssa/phi-opt-10.c: New testcase.
* gcc.dg/tree-ssa/ssa-pre-28.c: Bypass new optimization.
* gcc.dg/tree-ssa/ssa-ifcombine-7.c: Look into ifcombine dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186905
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Fri, 27 Apr 2012 12:17:50 +0000 (12:17 +0000)]
2012-04-27 Paolo Bonzini <bonzini@gnu.org>
PR target/53138
* config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
testsuite:
2012-04-27 Paolo Bonzini <bonzini@gnu.org>
PR target/53138
* gcc.c-torture/execute/
20120427-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186904
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 27 Apr 2012 11:58:20 +0000 (11:58 +0000)]
2012-04-27 Richard Guenther <rguenther@suse.de>
* tree-flow.h (is_hidden_global_store): Remove.
* tree-ssa-sink.c (is_hidden_global_store): Likewise.
* tree-ssa-alias.h (ref_may_alias_global_p): Declare.
(stmt_may_clobber_global_p): Likewise.
* tree-ssa-alias.c (ref_may_alias_global_p): New function.
(stmt_may_clobber_global_p): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Call
stmt_may_clobber_global_p.
* tree-ssa-dse.c (dse_possible_dead_store_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186903
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Fri, 27 Apr 2012 11:12:52 +0000 (11:12 +0000)]
* cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right
place.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186902
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Fri, 27 Apr 2012 11:11:45 +0000 (11:11 +0000)]
gcc/
* tree-switch-conversion.c (struct switch_conv_info): Add range_max,
reorganize some fields and update comments. Rename bit_test_uniq
and bit_test_count to uniq resp. count. Remove bit_test_bb.
(collect_switch_conv_info): New function, collects info about a
GIMPLE_SWITCH into a struct switch_conv_info.
(check_range): Simplify to use pre-recorded info. Fix think-o in
range-branch ratio check.
(check_process_case): Remove function.
(check_all_empty_except_final): New function, verifies that all
non-final basic blocks are empty.
(process_switch): Simplify to use pre-recorded info. Call
collect_switch_conv_info to do that. Assert that degenerate switch
statements have been cleaned up.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186901
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 27 Apr 2012 10:34:13 +0000 (10:34 +0000)]
2012-04-27 Marc Glisse <marc.glisse@inria.fr>
PR middle-end/27139
* tree-ssa-forwprop.c (combine_conversions): Handle INT->FP->INT.
* gcc.dg/tree-ssa/forwprop-18.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186898
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Fri, 27 Apr 2012 08:21:49 +0000 (08:21 +0000)]
2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/53130
* c-typeck.c (pop_init_level): Use %qD instead of %qT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186896
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 27 Apr 2012 06:28:49 +0000 (06:28 +0000)]
2012-04-27 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51879
* gcc.dg/pr51879.c: New test.
* gcc.dg/pr51879-2.c: Same.
* gcc.dg/pr51879-3.c: Same.
* gcc.dg/pr51879-4.c: Same.
* gcc.dg/pr51879-6.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186895
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Fri, 27 Apr 2012 06:12:49 +0000 (06:12 +0000)]
2012-04-27 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51879
* tree-ssa-sccvn.h (struct vn_reference_s): Add result_vdef field.
* tree-ssa-sccvn.c (mark_use_processed): New function, factored out
of ...
(defs_to_varying): ... here. Don't set use_processed.
(visit_reference_op_call): Handle gimple_vdef.
Handle case that lhs is NULL_TREE.
(visit_use): Use mark_use_processed. Handle calls with side-effect
using visit_reference_op_call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186894
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 27 Apr 2012 00:18:06 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186892
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 26 Apr 2012 23:32:14 +0000 (23:32 +0000)]
/cp
2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53096
* class.c (check_bases_and_members): Implement core/1333, do not
disallow defaulted in the class body non-const ref special members.
/testsuite
2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53096
* g++.dg/cpp0x/defaulted35.C: New.
* g++.dg/cpp0x/defaulted15.C: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186888
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 26 Apr 2012 15:49:44 +0000 (15:49 +0000)]
gcc/
* sched-deps.c (fixup_sched_groups): Rename to...
(chain_to_prev_insn): ...this.
(chain_to_prev_insn_p): New function.
(deps_analyze_insn): Use it instead of SCHED_GROUP_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186883
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 26 Apr 2012 15:49:30 +0000 (15:49 +0000)]
gcc/
* sched-int.h (_haifa_insn_data): Move priority_status.
Add model_index.
(INSN_MODEL_INDEX): New macro.
* haifa-sched.c (insn_delay): New function.
(sched_regno_pressure_class): Update commentary.
(mark_regno_birth_or_death): Pass the liveness bitmap and
pressure array as arguments, instead of using curr_reg_live and
curr_reg_pressure. Only update the pressure if the bit in the
liveness set has changed.
(initiate_reg_pressure_info): Always trust the live-in set for
SCHED_PRESSURE_MODEL.
(initiate_bb_reg_pressure_info): Update call to
mark_regno_birth_or_death.
(dep_list_size): Take the list as argument.
(calculate_reg_deaths): New function, extracted from...
(setup_insn_reg_pressure_info): ...here.
(MODEL_BAR): New macro.
(model_pressure_data, model_insn_info, model_pressure_limit)
(model_pressure_group): New structures.
(model_schedule, model_worklist, model_insns, model_num_insns)
(model_curr_point, model_before_pressure, model_next_priority):
New variables.
(MODEL_PRESSURE_DATA, MODEL_MAX_PRESSURE, MODEL_REF_PRESSURE)
(MODEL_INSN_INFO, MODEL_INSN): New macros.
(model_index, model_update_limit_points_in_group): New functions.
(model_update_limit_points, model_last_use_except): Likewise.
(model_start_update_pressure, model_update_pressure): Likewise.
(model_recompute, model_spill_cost, model_excess_group_cost): Likewise.
(model_excess_cost, model_dump_pressure_points): Likewise.
(model_set_excess_costs): Likewise.
(rank_for_schedule): Extend SCHED_PRIORITY_WEIGHTED ordering to
SCHED_PRIORITY_MODEL. Use insn_delay. Use the order in the model
schedule as an alternative tie-breaker. Update the call to
dep_list_size.
(ready_sort): Call model_set_excess_costs.
(update_register_pressure): Update call to mark_regno_birth_or_death.
Rely on that function to check liveness rather than doing it here.
(model_classify_pressure, model_order_p, model_add_to_worklist_at)
(model_remove_from_worklist, model_add_to_worklist, model_promote_insn)
(model_add_to_schedule, model_analyze_insns, model_init_pressure_group)
(model_record_pressure, model_record_pressures): New functions.
(model_record_final_pressures, model_add_successors_to_worklist)
(model_promote_predecessors, model_choose_insn): Likewise.
(model_reset_queue_indices, model_dump_pressure_summary): Likewise.
(model_start_schedule, model_finalize_pressure_group): Likewise.
(model_end_schedule): Likewise.
(schedule_insn): Say when we're scheduling the next instruction
in the model schedule.
(schedule_insn): Handle SCHED_PRESSURE_MODEL.
(queue_to_ready): Do not add instructions that are
MAX_SCHED_READY_INSNS beyond the current point of the model schedule.
Always allow the next instruction in the model schedule to be added.
(debug_ready_list): Print the INSN_REG_PRESSURE_EXCESS_COST_CHANGE
and delay for SCHED_PRESSURE_MODEL too.
(prune_ready_list): Extend SCHED_PRIORITY_WEIGHTED handling to
SCHED_PRIORITY_MODEL, but also take the DFA into account.
(schedule_block): Call model_start_schedule and model_end_schedule.
Extend SCHED_PRIORITY_WEIGHTED stall handling to SCHED_PRIORITY_MODEL.
(sched_init): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
to SCHED_PRESSURE_MODEL, but don't allocate saved_reg_live or
region_ref_regs.
(sched_finish): Update accordingly.
(fix_tick_ready): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
to SCHED_PRESSURE_MODEL.
(add_jump_dependencies): Update call to dep_list_size.
(haifa_finish_h_i_d): Fix leak of max_reg_pressure.
(haifa_init_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
to SCHED_PRESSURE_MODEL.
* sched-deps.c (init_insn_reg_pressure_info): Likewise, but don't
allocate INSN_MAX_REG_PRESSURE for SCHED_PRESSURE_MODEL.
(sched_analyze_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE
handling to SCHED_PRESSURE_MODEL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186882
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 26 Apr 2012 15:49:13 +0000 (15:49 +0000)]
gcc/
* common.opt (fsched-pressure-algorithm=): New option.
* flag-types.h (sched_pressure_algorithm): New enum.
* sched-int.h (sched_pressure_p): Replace with...
(sched_pressure): ...this new variable.
* haifa-sched.c (sched_pressure_p): Replace with...
(sched_pressure): ...this new variable.
(sched_regno_pressure_class, rank_for_schedule, ready_sort)
(update_reg_and_insn_max_reg_pressure, schedule_insn)
(debug_ready_list, prune_ready_list, schedule_block, sched_init)
(sched_finish, fix_tick_ready, haifa_init_insn): Update accordingly.
* sched-deps.c (init_insn_reg_pressure_info): Likewise.
(sched_analyze_insn): Likewise.
* sched-rgn.c (schedule_region): Likewise.
* config/m68k/m68k.c (m68k_sched_variable_issue): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186881
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Thu, 26 Apr 2012 15:16:16 +0000 (15:16 +0000)]
* gcc.dg/bf-ms-layout.c: Adjust offsets to fit ms-bitfield
structure layout.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186880
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 26 Apr 2012 14:20:39 +0000 (14:20 +0000)]
PR middle-end/52940
* machmode.h (CLASS_HAS_WIDER_MODES_P): True for MODE_PARTIAL_INT.
* expr.c (convert_move): Honor unsignedp when extending partial int
modes.
* genmodes.c (complete_mode): Don't clear component field of partial
int modes.
(emit_mode_inner): Don't emit it however.
(calc_wider_mode): Partial int modes widen to their component.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186877
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 26 Apr 2012 13:25:41 +0000 (13:25 +0000)]
* PR middle-end/52997
* ira.c (find_moveable_pseudos): Call resize_reg_info.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186875
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 10:49:44 +0000 (10:49 +0000)]
2012-04-26 Tristan Gingold <gingold@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
Remove s-tasdeb and s-vaflop rules (not used).
2012-04-26 Olivier Hainque <hainque@adacore.com>
* gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* a-calend.adb (Day_Of_Week): Keep the internal
usage of UTC_Time_Offset consistent with Time_Of and Split.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186872
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 10:03:51 +0000 (10:03 +0000)]
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
the loop variable while preanalyzing a quantified expression.
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
to Use_TZ to better illustrate its function. Update all
references to the parameter.
(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
* a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
to Use_TZ to better illustrate its function. Update the related
comment on usage.
* a-calend-vms.adb (Split, Time_Of): Rename parameter
Is_Ada_05 to Use_TZ to better illustrate its function. Update
all references to the parameter.
(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
* a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
to Use_TZ to better illustrate its function. Update the related
comment on usage.
* a-calfor.adb (Split, Time_Of): Update the call to
Formatting_Operations.Time_Of.
* sysdep.c (__gnat_localtime_tzoff): Dereference pointer
"is_historic" and rewrite the check as a comparison. Add a
comment on flag values.
2012-04-26 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb, sem_ch8.adb: Minor reformatting.
2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
* a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
word "then" where "than" should be used in English.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186871
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 09:59:24 +0000 (09:59 +0000)]
2012-04-26 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* s-finroo.ads: Remove with clause for
Ada.Streams. Type Root_Controlled is now abstract tagged null
record. Remove internal package Stream_Attributes. Root_Controlled
doesn't need stream attribute redeclaration and avoids the
dependency on streams.
2012-04-26 Tristan Gingold <gingold@adacore.com>
* adaint.c (to_host_path_spec): Removed (unused).
Minor reformatting.
2012-04-26 Steve Baird <baird@adacore.com>
* gnat_rm.texi Improve description of Valid_Scalars attribute.
2012-04-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Can_Override_Operator): If the formal is a
generic type the operator cannot be overriding.
2012-04-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
is declared in a package specification, and current unit is the
corresponding package body. The use clauses themselves may be
within a nested package.
2012-04-26 Bob Duff <duff@adacore.com>
* exp_ch2.adb (Param_Entity): Take into account the case where
the type of the entry parameter has a representation clause.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186870
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 09:56:13 +0000 (09:56 +0000)]
2012-04-26 Ed Schonberg <schonberg@adacore.com>
* gnat_ugn.texi: Tweak dimensionality doc.
2012-04-26 Robert Dewar <dewar@adacore.com>
* sem_eval.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186869
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 09:52:02 +0000 (09:52 +0000)]
2012-04-26 Robert Dewar <dewar@adacore.com>
* einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
sem_eval.adb: Minor reformatting.
2012-04-26 Thomas Quinot <quinot@adacore.com>
* freeze.adb: Minor change in error wording.
2012-04-26 Ed Schonberg <schonberg@adacore.com>
* gnat_ugn.texi: Documentation on dimensional analysis.
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb, einfo.ads: Remove synthesized attribute
Proper_First_Index along with its associations in various nodes.
(Proper_First_Index): Removed.
* sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
local variable Index_Type. The index type of a string literal
subtype is that of the stored low bound.
* sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
* sem_res.adb (Resolve_Slice): Alphabetize constants. Add
new local variable Index_Type. The index type of a
string literal subtype is that of the stored low bound.
(Set_String_Literal_Subtype): Code reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186868
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 09:49:04 +0000 (09:49 +0000)]
2012-04-26 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Minor reformatting.
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
Requires_Cleanup_Actions.
* exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
Boolean)): Rename formal parameter For_Package to Lib_Level to
better reflect its purpose. Update the related comment and all
occurrences of For_Package in the body.
(Requires_Cleanup_Actions
(Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
local constant At_Lib_Level to keep monitor whether the path
taken from the top-most context to the current construct involves
package constructs. Update all calls to Requires_Cleanup_Actions.
* exp_util.ads (Requires_Cleanup_Actions): Add new formal
parameter Lib_Level and associated comment.
2012-04-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Process_Formals): If the type of the formal is
a non null access type, mark the generated subtype as having a
delayed freeze only if the designated type is not frozen yet.
2012-04-26 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New package Clean with attributes
Object_Artifact_Extensions and Source_Artifact_Extensions.
* prj-nmsc.adb (Process_Clean): Process new package Clean
* prj.ads (Language_Config): New components
Clean_Object_Artifacts and Clean_Source_Artifacts.
* snames.ads-tmpl: New standard names Clean,
Object_Artifact_Extensions and Source_Artifact_Extensions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186867
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 09:45:37 +0000 (09:45 +0000)]
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb (Proper_First_Index): Moved from Sem_Util.
* einfo.ads: Add new synthesized attribute Proper_First_Index
along with usage in nodes.
(Proper_First_Index): Moved from Sem_Util.
* sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
2012-04-26 Gary Dismukes <dismukes@adacore.com>
* layout.adb (Layout_Component_List): Test for the case of a
single variant and the size of its component list was computed
as an integer literal, and use that size (which is in bits)
as is rather than converting to storage units.
2012-04-26 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186866
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Thu, 26 Apr 2012 09:44:01 +0000 (09:44 +0000)]
2012-04-26 Robert Dewar <dewar@adacore.com>
* sem_util.adb: Minor reformatting.
2012-04-26 Thomas Quinot <quinot@adacore.com>
* exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
Packed_Array_Aggregate_Handled.Get_Component_Val):
Reverse bit numbering within PAT when Reverse_Storage_Order
applies to the enclosing record.
2012-04-26 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Freeze_Record_Type): Improve error message for
Scalar_Storage_Order inconsistent with Bit_Order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186865
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Thu, 26 Apr 2012 08:28:39 +0000 (08:28 +0000)]
Add sparc Niagara4 scheduling description and tweaks.
gcc/
* config/sparc/niagara4.md: New file.
* config/sparc/sparc.md: Include it.
* config/sparc/sparc.c (niagara4_costs): New processor costs.
(sparc_option_override): Use it.
(sparc_use_sched_lookahead): Return 2 for niagara4.
(sparc_issue_rate): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186864
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Thu, 26 Apr 2012 08:28:12 +0000 (08:28 +0000)]
Fix sparc instruction type settings and sched bugs.
gcc/
* config/sparc/sparc.md (attr type): Delete 'fgm_cmp'.
(fpack16_vis, fpackfix_vis, fpack32_vis): Set type to fgm_pack.
(fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis): Set type to
fgm_mul.
(alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis,
alignaddrldi_vis): Set type to gsr.
(pdist_vis, pdistn<mode>_vis): Set type to fgm_pdsit.
(fcmp<code><GCM:gcm_name><P:mode>_vis, cmask8<P:mode>_vis,
cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis,
v<vis3_shift_patname><mode>3, fmean16_vis,
fp<plusminus_insn>64_vis, <vis3_addsub_ss_patname><mode>3,
fucmp<code>8<P:mode>_vis): Set type to fga.
* config/sparc/ultra1_2.md: Remove refrences to fgm_cmp.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/ultra3.md: Likewise, and fix type matching for
us3_ialuX reservation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186863
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Thu, 26 Apr 2012 08:15:45 +0000 (08:15 +0000)]
2012-04-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* reload.c (find_reloads): Change the loop nesting when trying an
alternative with swapped operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186861
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Thu, 26 Apr 2012 07:14:01 +0000 (07:14 +0000)]
2012-04-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix
comment. Delete unused parameter first_exp_point_map.
(virt_loc_aware_diagnostic_finalizer): Update call.
libcpp/
* line-map.c (linemap_resolve_location): Synchronize comments with
those in line-map.h.
* include/line-map.h (linemap_resolve_location): Fix spelling in
comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186860
138bc75d-0d04-0410-961f-
82ee72b054a4
michaelh [Thu, 26 Apr 2012 04:33:08 +0000 (04:33 +0000)]
2012-04-26 Michael Hope <michael.hope@linaro.org>
Richard Earnshaw <rearnsha@arm.com>
* config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
(GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
(GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
(GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186859
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 26 Apr 2012 04:25:56 +0000 (04:25 +0000)]
mksysinfo, net: Always define syscall.SO_REUSEPORT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186857
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Thu, 26 Apr 2012 02:20:32 +0000 (02:20 +0000)]
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/hashtable.h: Adjust doxygen markup for base classes.
* include/bits/hashtable_policy.h: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186856
138bc75d-0d04-0410-961f-
82ee72b054a4
tmsriram [Thu, 26 Apr 2012 00:52:09 +0000 (00:52 +0000)]
2012-04-25 Sriraman Tallam <tmsriram@google.com>
* config/i386/i386-cpuinfo.c (FEATURE_AVX2): New enum value.
(get_available_features): New argument. Check for AVX2.
(__cpu_indicator_init): Modify call to get_available_features.
* doc/extend.texi: Document avx2 support.
* config/i386/i386.c (fold_builtin_cpu): Add avx2.
* testsuite/gcc.target/i386/builtin_target.c: Check avx2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186855
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 26 Apr 2012 00:18:36 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186854
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Thu, 26 Apr 2012 00:02:12 +0000 (00:02 +0000)]
* gcc.target/powerpc/savres.c: New test.
* gcc.target/powerpc/powerpc.exp: Run it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186850
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Wed, 25 Apr 2012 22:47:52 +0000 (22:47 +0000)]
2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52689
* testsuite/17_intro/static.cc: Fix.
* testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186845
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Wed, 25 Apr 2012 22:33:30 +0000 (22:33 +0000)]
PR target/53120
* gcc.dg/torture/pr53120.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186844
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Wed, 25 Apr 2012 22:31:36 +0000 (22:31 +0000)]
PR target/53120
* config/cris/cris.md ("*andhi_lowpart_v32")
("*andqi_lowpart_v32"): Change first input-only operand from
a (match_operand ...) to (match_dup 0). Drop alternatives with
const_int-matching constraints for redundancy.
("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop
three-operand alternative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186843
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Apr 2012 19:40:31 +0000 (19:40 +0000)]
PR target/53110
* config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
instead expand it as zero extension.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186839
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 25 Apr 2012 19:08:23 +0000 (19:08 +0000)]
Assert dbx_reg_number doesn't return INVALID_REGNUM
PR debug/52857
* dwarf2out.c (dbx_reg_number): Assert return value !=
INVALID_REGNUM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186837
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 25 Apr 2012 18:03:03 +0000 (18:03 +0000)]
* include/std/scoped_allocator (scoped_allocator::__outermost): Do
not pass non-POD to varargs function.
* testsuite/20_util/scoped_allocator/1.cc: Fix test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186836
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Apr 2012 16:59:11 +0000 (16:59 +0000)]
* common.opt (flag_debug_types_section): Default to 0.
(dwarf_version): Default to 4.
(dwarf_record_gcc_switches): Default to 1.
(dwarf_strict): Default to 0.
* toplev.c (process_options): Don't handle dwarf_strict
or dwarf_version here.
* config/vxworks.c (vxworks_override_options): Don't
test whether dwarf_strict or dwarf_version are negative,
instead test !global_options_set.x_dwarf_*.
* config/darwin.c (darwin_override_options): Default to
dwarf_version 2.
* doc/invoke.texi: Note that -gdwarf-4, -grecord-gcc-switches
and -fno-debug-types-section are now the default.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186835
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Apr 2012 16:31:42 +0000 (16:31 +0000)]
* cgraphunit.c: Update toplevel comment.
(tree_rest_of_compilation): Merge into cgraph_expand_function.
(cgraph_analyze_function): Make static.
(cgraph_decide_is_function_needed): Make static.
(cgraph_add_new_function): Use expand_function instead of
rest_of_compilation.
(clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
Move to cgraph.c
(cgraph_inline_p): Remove.
(cgraph_preserve_function_body_p): Move to ipa-inline-transform.
(init_cgraph): Add comment.
* cgraphbuild.c (record_reference, mark_address, mark_load,
mark_store): Do not call analyze_expr hook.
* cgraph.c: Update toplevel comment.
(clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
Move fere from cgraphunit.c
(cgraph_mark_force_output_node): Move to cgraph.h
* cgraph.h: Reorder so the comments match the function placement.
(cgraph_analyze_function, cgraph_decide_is_function_needed): Remove.
(cgraph_mark_force_output_node): Move here from cgraph.c
* tree.c (free_lang_data): Do not clear analyze_expr hook.
* ipa-inline-transform.c (preserve_function_body_p): New function.
(inline_transform): Update.
* langhooks.c (lhd_callgraph_analyze_expr): Remove.
* langhooks.h (lang_hooks_for_callgraph): Remove.
(lang_hooks): Remove callgraph.
* tree-inline.c (expand_call_inline): Do not use cgraph_inline_p.
* varpool.c: Remove out of date comment.
* langhooks-def.h (lhd_callgraph_analyze_expr): Remove.
(LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186832
138bc75d-0d04-0410-961f-
82ee72b054a4
brobecke [Wed, 25 Apr 2012 15:48:28 +0000 (15:48 +0000)]
Update config.sub to 2012-04-18 version from official repo.
ChangeLog:
* config.sub: Update to 2012-04-18 version from official repo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186830
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Apr 2012 15:17:25 +0000 (15:17 +0000)]
2012-04-25 Gary Dismukes <dismukes@adacore.com>
* exp_ch9.adb: Add comments on the usage of the
lock-free data structures.
2012-04-25 Vincent Pucci <pucci@adacore.com>
* exp_intr.adb (Expand_Shift): Convert the left
operand and the operator when the type of the call differs from
the type of the operator.
2012-04-25 Geert Bosch <bosch@adacore.com>
* stand.ads: Minor comment fix.
2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
is a string literal. Retrieve the first index from the base type
when slicing a string literal.
* sem_ch12.adb (Check_Private_View): Move the initialization
of the type inside the loop to reflect the changing index.
* sem_eval.adb (Eval_Relational_Op): Retrieve the first index
from the base type when dealing with a string literal.
* sem_res.adb (Resolve_Slice): Retrieve the first index from
the base type when slicing a string literal.
* sem_util.adb (Is_Internally_Generated_Renaming): New routine.
(Is_Object_Reference): String literals may act
as object references only when they are renamed internally.
(Proper_First_Index): New routine.
* sem_util.ads (Proper_First_Index): New routine.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186829
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Apr 2012 15:14:44 +0000 (15:14 +0000)]
2012-04-25 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
lib-xref.adb: Minor reformatting.
2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb: Rename Lock_Free_Sub_Type
to Lock_Free_Subprogram. Remove type Subprogram_Id.
Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
(Allow_Lock_Free_Implementation): Renamed to
Allows_Lock_Free_Implementation. Update the comment on
lock-free restrictions. Code clean up and restructuring.
(Build_Lock_Free_Protected_Subprogram_Body): Update the
profile and related comments. Code clean up and restructuring.
(Build_Lock_Free_Unprotected_Subprogram_Body): Update the
profile and related comments. Code clean up and restructuring.
(Comp_Of): Removed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186828
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 25 Apr 2012 15:12:34 +0000 (15:12 +0000)]
2012-04-25 Vincent Celier <celier@adacore.com>
* sem_ch12.adb (Inherit_Context): Compare library units, not
names of units, when checking if a unit is already in the context.
2012-04-25 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Reverse_Storage_Order must be propagated to
untagged derived record types.
2012-04-25 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb: Adjust position of end label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186827
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Apr 2012 14:54:21 +0000 (14:54 +0000)]
PR middle-end/53089
* cgraphunit.c (referred_to_p): Move ahead in file to avoid forward declaration.
(cgraph_finalize_function): Finalize them here.
* symtab.c (dump_symtab): Dump ctors and dtors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186820
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Apr 2012 14:27:08 +0000 (14:27 +0000)]
PR middle-end/52979
* stor-layout.c (get_best_mode): Don't return mode with bitsize
larger than maxbits. Don't compute maxbits modulo align.
Also check that unit bytes long store at bitpos / unit * unit
doesn't affect bits beyond bitregion_end.
* expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
would not fit into bitregion_start ... bitregion_end + 1 bit
region.
(store_split_bit_field): Decrease unit close to end of bitregion_end
if access is restricted in order to avoid mutual recursion.
* gcc.c-torture/compile/pr52979-1.c: New test.
* gcc.c-torture/execute/pr52979-1.c: New test.
* gcc.c-torture/execute/pr52979-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186819
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Apr 2012 13:30:19 +0000 (13:30 +0000)]
2012-04-25 Richard Guenther <rguenther@suse.de>
* gcc.target/i386/l_fma_float_5.c: Adjust.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
* gcc.target/i386/l_fma_double_1.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186817
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Apr 2012 11:35:38 +0000 (11:35 +0000)]
PR tree-optimization/53058
* double-int.h (double_int_max_value, double_int_min_value): New
prototypes.
* double-int.c (double_int_max_value, double_int_min_value): New
functions.
* tree-vrp.c (register_edge_assert_for_2): Compare mask
for LE_EXPR or GT_EXPR with double_int_max_value
instead of double_int_mask.
* gcc.c-torture/compile/pr53058.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186816
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 25 Apr 2012 11:31:42 +0000 (11:31 +0000)]
PR middle-end/53088
* gcc.target/i386/pr39082-1.c: Update warning location.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186815
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 25 Apr 2012 11:19:08 +0000 (11:19 +0000)]
2012-04-25 Richard Guenther <rguenther@suse.de>
* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
* tree-vect-loop.c (vect_transform_loop): Adjust.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Record
the maximum number of iterations for the epilogue loop.
(vect_loop_versioning): Remove case re-using the peeled
epilogue loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186813
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 25 Apr 2012 09:14:02 +0000 (09:14 +0000)]
PR c/52880
* c-typeck.c (set_nonincremental_init,
set_nonincremental_init_from_string): Pass true instead of false
as IMPLICIT to add_pending_init.
* gcc.dg/pr52880.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186808
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Wed, 25 Apr 2012 08:49:23 +0000 (08:49 +0000)]
2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-typeck.c (pop_init_level): Improve diagnostics.
testsuite/
* gcc.dg/m-un-2.c: Update.
* gcc.dg/
20011021-1.c: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186807
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 25 Apr 2012 06:25:48 +0000 (06:25 +0000)]
2012-04-25 Tobias Burnus <burnus@net-b.de>
PR fortran/52196
* lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags.
* gfortran.h (gfc_option_t): Add them.
* options.c (gfc_init_options, gfc_post_options,
gfc_handle_option): Handle them.
* invoke.texi: Document them.
* trans-expr.c (realloc_lhs_warning): New function.
(gfc_trans_arrayfunc_assign,
alloc_scalar_allocatable_for_assignment,
gfc_trans_assignment_1): Use it.
2012-04-25 Tobias Burnus <burnus@net-b.de>
PR fortran/52196
* gfortran.dg/realloc_on_assign_14.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186806
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 25 Apr 2012 06:05:26 +0000 (06:05 +0000)]
* compare-elim.c (try_eliminate_compare): Also handle operands with
implicit extensions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186805
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 25 Apr 2012 04:40:49 +0000 (04:40 +0000)]
PR go/52341
crypto/rand: Use io.ReadFull when reading from /dev/urandom.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186803
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 25 Apr 2012 04:26:12 +0000 (04:26 +0000)]
PR go/52583
net: Solaris fixes.
In particular fix fd_select.go to handle the case where a file
descriptor is closed by one goroutine while another goroutine
is waiting for it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186801
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 25 Apr 2012 02:32:56 +0000 (02:32 +0000)]
gcc/
* config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG,
SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define.
(no_global_regs_above): Delete.
(no_global_regs): New function.
(rs6000_savres_strategy): Handle vector regs. Use proper lr_save_p
value for load multiple test.
(savres_routine_syms): Increase size.
(rs6000_savres_routine_name, rs6000_savres_routine_sym,
ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector
rather than a number of boolean flags. Update all callers.
(rs6000_savres_routine_name): Generate vector save/restore names.
(rs6000_savres_routine_sym): Handle vector regs. Delete forward decl.
(ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise.
(rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline
and using_store_multiple. Expand uses. Don't always use r11 as
frame reg when needed for out-of-line saves. Set up initial offset
for out-of-line vector saves when buying stack frame. Handle pointer
reg setup for out-of-line fp save. Emit call to out-of-line vector
save function. Choose r11 or r12 for vrsave reg when available for
better scheduling.
(rs6000_output_function_prologue): Don't emit .extern for ELF.
(rs6000_emit_epilogue): Choose a better frame reg when restoring
from back-chain to suit out-of-line vector restore functions. Emit
call to out-of-line vector restore function. Adjust register used
for cr restore. Tweak pointer register setup for gpr restore.
* config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
FIXED_R13.
* config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
(V_SAVE_INLINE): Define.
* config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
libgcc/
* config/rs6000/crtsavevr.S: New file.
* config/rs6000/crtrestvr.S: New file.
* config/rs6000/t-savresfgpr: Build the above.
* config/rs6000/t-netbsd: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186800
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 25 Apr 2012 02:21:09 +0000 (02:21 +0000)]
* config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
out-of-line save/restore for large frames. Don't disable
out-of-line saves on ABI_AIX when using static chain reg.
(rs6000_emit_prologue): Adjust cr_save_regno on ABI_AIX to not
clobber static chain reg, and tweak for out-of-line gpr saves
that use r1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186799
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 25 Apr 2012 02:18:56 +0000 (02:18 +0000)]
* config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
(rs6000_emit_prologue): Use the above to catch register overlap.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186798
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 25 Apr 2012 02:15:48 +0000 (02:15 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward
decl. Move logic selecting update reg to callers. Update all callers.
(rs6000_emit_allocate_stack): Add copy_off param.
(emit_frame_save): Don't handle reg+reg addressing.
(ptr_regno_for_savres): New function, extracted from..
(rs6000_emit_savres_rtx): ..here. Add lr_offset param.
(rs6000_emit_prologue): Generate frame_ptr_rtx as we need it.
Set frame_reg_rtx to r11 whenever r11 is needed, and merge
frame offset adjustment for out-of-line save with copy from sp.
Simplify condition controlling whether cr is saved early or
late. Use ptr_regno_for_savres to verify correct reg is set
up for out-of-line saves. Pass the actual pointer reg used to
rs6000_emit_savres_rtx so rtl matches insns in out-of-line
function. Rearrange spe vars so code is similar to that
elsewhere in this function. Don't update frame_off when spe
save code will restore r11. Use emit_frame_save for spe and
gpr saves. Consolidate darwin out-of-line gpr setup with that
for other abis. Don't assume frame_offset is zero and frame
reg is sp when setting up altivec reg saves, and calculate
exact offset requirement.
(rs6000_emit_epilogue): Use HOST_WIDE_INT for frame_off. Tidy
spe restore code. Consolidate darwin out-of-line gpr setup
with that for other abis.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186797
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Wed, 25 Apr 2012 02:12:12 +0000 (02:12 +0000)]
* config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a
REG_FRAME_RELATED_EXPR note when the instruction exactly matches
the replacement.
(emit_frame_save): Delete frame_ptr param. Rename total_size to
frame_reg_to_sp.
(rs6000_emit_prologue): Add sp_off. Update rs6000_frame_related
and emit_frame_save calls. Cope with possibly missing note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186796
138bc75d-0d04-0410-961f-
82ee72b054a4
tmsriram [Wed, 25 Apr 2012 02:04:22 +0000 (02:04 +0000)]
2012-04-24 Sriraman Tallam <tmsriram@google.com>
* libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186795
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Wed, 25 Apr 2012 01:17:57 +0000 (01:17 +0000)]
2012-04-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52689
* testsuite/17_intro/static.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186794
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 25 Apr 2012 00:17:56 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186793
138bc75d-0d04-0410-961f-
82ee72b054a4
tmsriram [Wed, 25 Apr 2012 00:08:37 +0000 (00:08 +0000)]
2012-04-24 Sriraman Tallam <tmsriram@google.com>
This patch adds new builtins to check for cpu type and features.
* __builtin_cpu_is ("<CPUNAME>")
* __builtin_cpu_supports ("<FEATURE>")
apart from the cpu init builtin, __builtin_cpu_init.
List of CPU names :
* "amd"
* "intel"
* "atom"
* "core2"
* "corei7"
* "nehalem"
* "westmere"
* "sandybridge"
* "amdfam10h"
* "barcelona"
* "shanghai"
* "istanbul"
* "bdver1"
* "bdver2"
List of CPU features :
* "cmov"
* "mmx"
* "popcnt"
* "sse"
* "sse2"
* "sse3"
* "ssse3"
* "sse4.1"
* "sse4.2"
* "avx"
* config/i386/i386.c (build_processor_model_struct): New function.
(make_var_decl): New function.
(fold_builtin_cpu): New function.
(ix86_fold_builtin): New function.
(make_cpu_type_builtin): New function.
(ix86_init_platform_type_builtins): New function.
(ix86_expand_builtin): Expand new builtins by folding them.
(ix86_init_builtins): Make new builtins to detect CPU type.
(TARGET_FOLD_BUILTIN): New macro.
(IX86_BUILTIN_CPU_INIT): New enum value.
(IX86_BUILTIN_CPU_IS): New enum value.
(IX86_BUILTIN_CPU_SUPPORTS): New enum value.
* config/i386/i386-builtin-types.def: New function type.
* testsuite/gcc.target/builtin_target.c: New testcase.
* doc/extend.texi: Document builtins.
* libgcc/config/i386/i386-cpuinfo.c: New file.
* libgcc/config/i386/t-cpuinfo: New file.
* libgcc/config.host: Include t-cpuinfo.
* libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186789
138bc75d-0d04-0410-961f-
82ee72b054a4
chaoyingfu [Tue, 24 Apr 2012 22:41:33 +0000 (22:41 +0000)]
2012-04-24 Chao-ying Fu <fu@mips.com>
* unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186788
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 24 Apr 2012 22:16:24 +0000 (22:16 +0000)]
* vi.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186786
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 24 Apr 2012 22:14:54 +0000 (22:14 +0000)]
* sv.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186784
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Tue, 24 Apr 2012 20:34:30 +0000 (20:34 +0000)]
* common.opt (gdwarf-): Initialize dwarf_version to -1 instead of 2.
* toplev.c (process_options): Default to dwarf_version 2.
* config/vxworks.c (vxworks_override_options): Default to strict-dwarf
and dwarf_version 2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186783
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 24 Apr 2012 20:13:12 +0000 (20:13 +0000)]
gotest: Remove race in use of ../testdata.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186781
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Tue, 24 Apr 2012 19:21:21 +0000 (19:21 +0000)]
2012-04-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
gcc/
* tree-pretty-print.h (default_tree_printer): Do not declare.
* tree-diagnostic.c: Include tree-pretty-print.h, tree-pass.h and
intl.h.
(default_tree_diagnostic_starter): Make static.
(default_tree_printer): Move to here. Make static.
(tree_diagnostics_defaults): New.
* tree-diagnostic.h (default_tree_diagnostic_starter): Do not declare.
* tree.c (free_lang_data): Use tree_diagnostics_defaults.
* toplev.c: Do not include tree-pass.h.
(default_tree_printer): Move from here.
(general_init): Use tree_diagnostics_defaults.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186780
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 24 Apr 2012 19:12:26 +0000 (19:12 +0000)]
mksysinfo: Only define PathMax if PATH_MAX is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186778
138bc75d-0d04-0410-961f-
82ee72b054a4
chaoyingfu [Tue, 24 Apr 2012 18:23:12 +0000 (18:23 +0000)]
2012-04-24 Chao-ying Fu <fu@mips.com>
* config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
(mips*-*-linux*): Append mips/linux-common.h to tm_file.
* config/mips/gnu-user.h
(SUBTARGET_CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC directly.
(GNU_USER_TARGET_LINK_SPEC): New define.
(LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
(LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC directly.
(GNU_USER_TARGET_MATHFILE_SPEC): New define.
(ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC and
GNU_USER_TARGET_ENDFILE_SPEC.
* config/mips/gnu-user64.h (LIB_SPEC): Remove.
(GNU_USER_TARGET_LINK_SPEC): New define.
(LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
* config/mips/linux-common.h: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186777
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 24 Apr 2012 17:18:54 +0000 (17:18 +0000)]
PR testsuite/52641
PR tree-optimizations/52891
* gcc.c-torture/compile/pr52891-2.c: Fix test for 16-bit int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186776
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 24 Apr 2012 16:25:15 +0000 (16:25 +0000)]
/cp
2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52363
* call.c (tourney, perform_overload_resolution,
build_operator_new_call, build_user_type_conversion_1,
build_user_type_conversion, perform_overload_resolution,
add_template_candidate, add_template_candidate_real,
add_template_conv_candidate, add_builtin_candidates,
add_builtin_candidate, build_builtin_candidate,
add_conv_candidate, add_function_candidate, implicit_conversion,
reference_binding, build_list_conv, conditional_conversion,
add_candidates, can_convert_array, build_aggr_conv,
build_array_conv, build_complex_conv, conditional_conversion):
Add tsubst_flags_t parameter.
(joust): Likewise, use it to handle SFINAE as if pedantic.
(add_list_candidates, build_integral_nontype_arg_conv,
perform_overload_resolution, build_new_function_call,
build_operator_new_call, build_op_call_1,
build_conditional_expr_1, build_new_op_1, convert_like_real,
convert_arg_to_ellipsis, convert_default_arg,
convert_for_arg_passing, build_over_call,
build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
perform_implicit_conversion_flags,
perform_direct_initialization_if_possible,
initialize_reference): Adjust.
* typeck.c (casts_away_constness, casts_away_constness_r):
Add tsubst_flags_t parameter.
(convert_arguments, check_for_casting_away_constness,
build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
Adjust.
* decl.c (reshape_init_r, check_default_argument): Likewise.
* cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
* pt.c (convert_nontype_argument, check_non_deducible_conversion):
Likewise.
* init.c (build_new_1): Likewise.
* cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
build_expr_type_conversion, ): Likewise.
* search.c (check_final_overrider): Likewise.
* cp-tree.h (build_user_type_conversion,
build_operator_new_call, can_convert, can_convert_arg,
can_convert_arg_bad, convert_default_arg,
convert_arg_to_ellipsis, convert_for_arg_passing):
Adjust declaration.
/testsuite
2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52363
* g++.dg/cpp0x/sfinae35.C: New.
* g++.dg/cpp0x/sfinae36.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186774
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 24 Apr 2012 16:24:38 +0000 (16:24 +0000)]
compiler: Fix order of evalation for m[0] = len(m) when m is a map.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186772
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 24 Apr 2012 15:51:58 +0000 (15:51 +0000)]
gcc:
2012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/47197
* config/rs6000/rs6000-c.c (fully_fold_convert): New function.
(altivec_build_resolved_builtin): Call fully_fold_convert.
gcc/testsuite:
2012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/47197
* gcc.target/powerpc/pr47197.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186771
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 24 Apr 2012 15:23:22 +0000 (15:23 +0000)]
* config/i386.md (*addsi_2_zext): Remove wrong assert.
(*addsi_3_zext): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186769
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 24 Apr 2012 15:21:29 +0000 (15:21 +0000)]
PR target/53065
* config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186768
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 24 Apr 2012 14:54:17 +0000 (14:54 +0000)]
compiler: Reject invalid composite literals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186766
138bc75d-0d04-0410-961f-
82ee72b054a4