Commit Graph

116473 Commits

Author SHA1 Message Date
Ollie Wild
7f5f5f98c5 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.

From-SVN: r186909
2012-04-27 14:29:32 +00:00
Tom Tromey
11ec770e46 dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
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.

From-SVN: r186908
2012-04-27 14:14:14 +00:00
Paolo Bonzini
809c929ccf tree-ssa-phiopt.c (conditional_replacement): Replace PHIs whose arguments are -1 and 0...
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.

From-SVN: r186905
2012-04-27 12:20:01 +00:00
Paolo Bonzini
d554870991 re PR target/53138 (spaceship operator miscompiled)
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.

From-SVN: r186904
2012-04-27 12:17:50 +00:00
Richard Guenther
209be55309 tree-flow.h (is_hidden_global_store): Remove.
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.

From-SVN: r186903
2012-04-27 11:58:20 +00:00
Steven Bosscher
c813039daf cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right place.
* cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right
	place.

From-SVN: r186902
2012-04-27 11:12:52 +00:00
Steven Bosscher
886cd84f72 tree-switch-conversion.c (struct switch_conv_info): Add range_max, reorganize some fields and update comments.
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.

From-SVN: r186901
2012-04-27 11:11:45 +00:00
Marc Glisse
07ab2b1b27 re PR middle-end/27139 (Optimize double INT->FP->INT conversions with -ffast-math)
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.

From-SVN: r186898
2012-04-27 10:34:13 +00:00
Manuel López-Ibáñez
ae9331288f re PR regression/53130 (gcc.dg/20011021-1.c, gcc.dg/m-un-2.c, gcc.dg/missing-field-init-2.c)
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.

From-SVN: r186896
2012-04-27 08:21:49 +00:00
Tom de Vries
b5f5f2fd37 re PR tree-optimization/51879 (Missed tail merging with non-const/pure calls)
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.

From-SVN: r186895
2012-04-27 06:28:49 +00:00
Tom de Vries
0011592137 re PR tree-optimization/51879 (Missed tail merging with non-const/pure calls)
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.

From-SVN: r186894
2012-04-27 06:12:49 +00:00
GCC Administrator
c9dd1d3940 Daily bump.
From-SVN: r186892
2012-04-27 00:18:06 +00:00
Paolo Carlini
df16e146cf re PR c++/53096 ([DR 1333] [c++11] should be possible to default a copy ctor that takes non-const arg)
/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.

From-SVN: r186888
2012-04-26 23:32:14 +00:00
Richard Sandiford
fd59643c20 sched-deps.c (fixup_sched_groups): Rename to...
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.

From-SVN: r186883
2012-04-26 15:49:44 +00:00
Richard Sandiford
7a1aca9c42 sched-int.h (_haifa_insn_data): Move priority_status.
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.

From-SVN: r186882
2012-04-26 15:49:30 +00:00
Richard Sandiford
60867e8c63 common.opt (fsched-pressure-algorithm=): New option.
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.

From-SVN: r186881
2012-04-26 15:49:13 +00:00
Janis Johnson
2b3ecd379c bf-ms-layout.c: Adjust offsets to fit ms-bitfield structure layout.
* gcc.dg/bf-ms-layout.c: Adjust offsets to fit ms-bitfield
	structure layout.

From-SVN: r186880
2012-04-26 15:16:16 +00:00
Bernd Schmidt
e90247f8ba re PR middle-end/52940 (conversion from MODE_PARTIAL_INT uses sign extension for unsigned types)
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.

From-SVN: r186877
2012-04-26 14:20:39 +00:00
Bernd Schmidt
81c082ecd2 re PR middle-end/52997 (FAIL: gcc.dg/c99-intconst-1.c (internal compiler error))
* PR middle-end/52997
	* ira.c (find_moveable_pseudos): Call resize_reg_info.

From-SVN: r186875
2012-04-26 13:25:41 +00:00
Arnaud Charlet
7989e39224 [multiple changes]
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.

From-SVN: r186872
2012-04-26 12:49:44 +02:00
Arnaud Charlet
d99ff0f407 [multiple changes]
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.

From-SVN: r186871
2012-04-26 12:03:51 +02:00
Arnaud Charlet
f146302c25 [multiple changes]
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.

From-SVN: r186870
2012-04-26 11:59:24 +02:00
Arnaud Charlet
7a6de2e28f [multiple changes]
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.

From-SVN: r186869
2012-04-26 11:56:13 +02:00
Arnaud Charlet
5f44f0d4f8 [multiple changes]
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.

From-SVN: r186868
2012-04-26 11:52:02 +02:00
Arnaud Charlet
fcf848c4f7 [multiple changes]
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.

From-SVN: r186867
2012-04-26 11:49:04 +02:00
Arnaud Charlet
68f640f221 [multiple changes]
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.

From-SVN: r186866
2012-04-26 11:45:37 +02:00
Arnaud Charlet
50cd5b4de9 [multiple changes]
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.

From-SVN: r186865
2012-04-26 11:44:01 +02:00
David S. Miller
851634c76d 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.

From-SVN: r186864
2012-04-26 01:28:39 -07:00
David S. Miller
afa3ed855f 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.

From-SVN: r186863
2012-04-26 01:28:12 -07:00
Andreas Krebbel
b5068425b9 reload.c (find_reloads): Change the loop nesting when trying an alternative with swapped operands.
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.

From-SVN: r186861
2012-04-26 08:15:45 +00:00
Manuel López-Ibáñez
1d72e96f53 tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix comment.
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.

From-SVN: r186860
2012-04-26 07:14:01 +00:00
Michael Hope
c7121189c3 linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
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.


Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r186859
2012-04-26 04:33:08 +00:00
Ian Lance Taylor
181c7267c7 mksysinfo, net: Always define syscall.SO_REUSEPORT.
From-SVN: r186857
2012-04-26 04:25:56 +00:00
Benjamin Kosnik
af6204cc29 hashtable.h: Adjust doxygen markup for base classes.
2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	*  include/bits/hashtable.h: Adjust doxygen markup for base classes.
	*  include/bits/hashtable_policy.h: Same.

From-SVN: r186856
2012-04-26 02:20:32 +00:00
Sriraman Tallam
5ddecff9f2 i386-cpuinfo.c (FEATURE_AVX2): New enum value.
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.

From-SVN: r186855
2012-04-26 00:52:09 +00:00
GCC Administrator
c2ad8e1c40 Daily bump.
From-SVN: r186854
2012-04-26 00:18:36 +00:00
Alan Modra
beee2cf5b7 savres.c: New test.
* gcc.target/powerpc/savres.c: New test.
	* gcc.target/powerpc/powerpc.exp: Run it.

From-SVN: r186850
2012-04-26 09:32:12 +09:30
Benjamin Kosnik
6d0f7cacc0 re PR libstdc++/52689 (static linking with libstdc++ fails)
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.

From-SVN: r186845
2012-04-25 22:47:52 +00:00
Hans-Peter Nilsson
8ca72b98a6 re PR target/53120 (ICE exposing strict_low_part / in/out operand thinko -fno-tree-sra)
PR target/53120
	* gcc.dg/torture/pr53120.c: New test.

From-SVN: r186844
2012-04-25 22:33:30 +00:00
Hans-Peter Nilsson
d71735933a re PR target/53120 (ICE exposing strict_low_part / in/out operand thinko -fno-tree-sra)
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.

From-SVN: r186843
2012-04-25 22:31:36 +00:00
Jakub Jelinek
c1d40097cb re PR target/53110 (GCC-4.7 generates stupid x86_64 asm)
PR target/53110
	* config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
	instead expand it as zero extension.

From-SVN: r186839
2012-04-25 21:40:31 +02:00
H.J. Lu
ff5f00c3a1 Assert dbx_reg_number doesn't return INVALID_REGNUM
PR debug/52857
	* dwarf2out.c (dbx_reg_number): Assert return value !=
	INVALID_REGNUM.

From-SVN: r186837
2012-04-25 12:08:23 -07:00
Jonathan Wakely
862023d77a scoped_allocator (scoped_allocator::__outermost): Do not pass non-POD to varargs function.
* include/std/scoped_allocator (scoped_allocator::__outermost): Do
	not pass non-POD to varargs function.
	* testsuite/20_util/scoped_allocator/1.cc: Fix test.

From-SVN: r186836
2012-04-25 19:03:03 +01:00
Jakub Jelinek
98095aa337 common.opt (flag_debug_types_section): Default to 0.
* 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.

From-SVN: r186835
2012-04-25 18:59:11 +02:00
Jan Hubicka
9c8305f8fc cgraphunit.c: Update toplevel comment.
* 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.

From-SVN: r186832
2012-04-25 16:31:42 +00:00
Joel Brobecker
95e5b9a43a Update config.sub to 2012-04-18 version from official repo.
ChangeLog:

        * config.sub: Update to 2012-04-18 version from official repo.

From-SVN: r186830
2012-04-25 15:48:28 +00:00
Arnaud Charlet
03ad478dc5 [multiple changes]
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.

From-SVN: r186829
2012-04-25 17:17:25 +02:00
Arnaud Charlet
39ad16657c [multiple changes]
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.

From-SVN: r186828
2012-04-25 17:14:44 +02:00
Arnaud Charlet
d024b1268c [multiple changes]
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.

From-SVN: r186827
2012-04-25 17:12:34 +02:00
Jan Hubicka
838ff415ae re PR middle-end/53089 (gfortran.dg/coarray/atomic_1.f90 and gfortran.dg/coarray/registering_1.f90)
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.

From-SVN: r186820
2012-04-25 14:54:21 +00:00