platform/upstream/gcc.git
10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:31:59 +0000 (16:31 +0100)]
[multiple changes]

2014-01-20  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb: Set Allow_Integer_Address in relaxed semantics mode.
* gnat_rm.texi: Document pragma Allow_Integer_Address.
* gnat_ugn.texi: Document pragma Allow_Integer_Address, -gnates.
* opt.ads: New flag Allow_Integer_Address.
* par-prag.adb: Dummy entry for pragma Allow_Integer_Address.
* sem_ch5.adb: Minor reformatting.
* sem_prag.adb: Implement pragma Allow_Integer_Address.
* sem_res.adb (Resolve): Allow integer address value if
switch set.
* sem_util.adb: Minor reformatting.
* snames.ads-tmpl: Add entry for pragma Allow_Integer_Address.
* switch-c.adb: Recognize flag -gnates.
* usage.adb: Document flag -gnates.

2014-01-20  Thomas Quinot  <quinot@adacore.com>

* s-tadeca.adb: Fix minor typos in comment.

From-SVN: r206825

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:29:06 +0000 (16:29 +0100)]
[multiple changes]

2014-01-20  Pascal Obry  <obry@adacore.com>

* s-win32.ads (FreeLibrary): New import.

2014-01-20  Robert Dewar  <dewar@adacore.com>

* sem_res.adb, sem_cat.adb: Minor reformatting.
* sem_ch11.adb (Analyze_Raise_Statement): Only give warning about
assigning to OUT parameters for the current subprogram scope.
* exp_ch4.adb: Minor reformatting.

2014-01-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Process_Transient_Object,
Find_Enclosing_Contexts): If the top-level if-expression that
generated the transient object is an actual in a call, the proper
Hook_Context is a construct enclosing the call.
* einfo.ads: Indicate that Related_Expression is used to link a
loop variable to the container expression over which the loop
takes place.
(Analyze_Iterator_Specification): Set the Related_Expression of
the loop variable in a container element iterator.
(Note_Possible_Modification): If the variable is the loop
variable in a container element iterator, indicate that the
enclosing container is also modified.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb (Move_Or_Merge_Aspects): Reimplemented.

From-SVN: r206824

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:25:44 +0000 (16:25 +0100)]
[multiple changes]

2014-01-20  Robert Dewar  <dewar@adacore.com>

* s-taasde.ads, gnat_ugn.texi, s-tadeca.adb, sem_res.adb, s-tadeca.ads:
Minor reformatting and code clean up.

2014-01-20  Arnaud Charlet  <charlet@adacore.com>

* sem_cat.adb (Validate_Object_Declaration): Relax semantics
of objects of private type if Relaxed_RM_Semantics.

From-SVN: r206823

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:23:37 +0000 (16:23 +0100)]
[multiple changes]

2014-01-20  Claire Dross  <dross@adacore.com>

* a-cofove.ads (Vector): Capacity discriminant
should be in range of the index.

2014-01-20  Thomas Quinot  <quinot@adacore.com>

* a-caldel.ads(To_Duration), s-taasde.ads(Time_Enqueue):
Clarify specs s-tadeca.adb(Enqueue_Calendar): Compensate for
possible difference between epoch of Ada.Calendar clock and Ada
real-time/tasking clock.
* s-taprop-posix.adb: Minor comment fix.

2014-01-20  Doug Rupp  <rupp@adacore.com>

* sysdep.c [vxworks]: Remove Vxworks version noise for RTP.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Generate validity
checks on the prefix of attribute 'Old.
* sem_ch3.adb (Process_Range_Expr_In_Decl): Suppress the
generation of validity checks on a range that belongs to the
iteration scheme of a quantified expression.
* sem_ch5.adb (One_Bound): Suppress the generation of validity
checks on a bound that belongs to the iteration scheme of a
quantified expression, generate the check in all other cases.

2014-01-20  Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Enable --pp-new by default. Minor reorganization.

2014-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve): When compiling a predefined unit, ignore
interpretations that do not come from other predefined units,
to prevent spurious ambiguities in the presence of user-defined
operators in the context of (an instance of) a predefined unit.

From-SVN: r206822

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:21:18 +0000 (16:21 +0100)]
[multiple changes]

2014-01-20  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document that Loop_Variant is included in
Statement_Assertions.
* sem_prag.adb (Check_Kind): Add Loop_Variant to
Statement_Assertions (Check_Applicable_Policy): Add Loop_Variant
to Statement_Assertions.

2014-01-20  Doug Rupp  <rupp@adacore.com>

* sysdep.c (__gnat_is_file_not_found_error) [vxworks6]: Add case
for errno ENOENT from RTP on NFS mounted file system.

From-SVN: r206821

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:19:15 +0000 (16:19 +0100)]
[multiple changes]

2014-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Check_Function_Writable_Actuals): 1) Do not
examine code that does not come from source. The check does not
apply to code generated for constraint checks, and such code may
generate spurious error messages when compiled with expansion
disabled (as in a generic unit) because side effects may not
have been removed.
2) Make error messages more explicit: indicate the component
of the construct whose value is indeterminate because of a
call to a function with in-out parameter in another component,
when there is no mandated order of execution between the two
components (actuals, aggregate components, alternatives).

2014-01-20  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor cleanup.

From-SVN: r206820

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:17:29 +0000 (16:17 +0100)]
[multiple changes]

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Analyze_Attribute): Attributes 'Old and 'Result
can now apply to a refined postcondition.
* sem_ch6.adb (Analyze_Subprogram_Contract): Remove local
variable Result_Seen. Add variables Case_Prag, Post_Prag,
Seen_In_Case and Seen_In_Post. Update the mechanism that detects
whether postconditions and/or constract-cases mention attribute
'Result and introduce a post-state when applied to functions.
(Check_Result_And_Post_State): Removed.
* sem_prag.adb (Analyze_Pragma): Add local variable
Result_Seen. Verify that the expression of pragma Refined_Post
mentions attribute 'Result and introduces a post-state.
* sem_util.ads, sem_util.adb (Check_Result_And_Post_State): New routine.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Is_Subprogram_Call): New routine.
(Process_Transient_Objects): Make variable Must_Hook global with
respect to all locally declared subprograms. Search the context
for at least one subprogram call.
(Requires_Hooking): Removed.

2014-01-20  Claire Dross  <dross@adacore.com>

* a-cfdlli.ads a-cfhama.ads a-cfhase.ads a-cforma.ads
* a-cforse.ads a-cofove.ads: Add pragma Annotate (GNATprove,
External_Axiomatization);

From-SVN: r206819

10 years agosem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut...
Robert Dewar [Mon, 20 Jan 2014 15:15:34 +0000 (15:15 +0000)]
sem_attr.adb (Analyze_Attribute, [...]): Allow Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.

2014-01-20  Robert Dewar  <dewar@adacore.com>

* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Allow
Loop_Entry in Assert, Assert_And_Cut, and Assume pragmas.
* sem_prag.adb (Analyze_Pragma, case Assert[_And_Cut], Assume):
Allow Loop_Entry to be used in these pragmas if they appear in
an appropriate context.
(Placement_Error): Specialize error
message for pragma Assert[_And_Cut] or pragma Assume containing
Loop_Entry attribute.
* a-exexpr-gcc.adb, sinput.adb: Minor reformatting.
* s-excmac-arm.ads, s-except.ads, s-excmac-gcc.ads: Minor reformatting
and code clean ups.

From-SVN: r206818

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 15:13:01 +0000 (16:13 +0100)]
[multiple changes]

2014-01-20  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb: Minor comment update.

2014-01-20  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c (PERSONALITY_FUNCTION/arm): Remove unused
variables, comment out unused code.
* a-exexpr-gcc.adb: Move declarations to s-excmac-gcc.ads
* s-excmac-gcc.ads: New file, extracted from a-exexpr-gcc.adb
* s-excmac-arm.ads: New file.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_N_Slice): Remove constant D and variables
Drange and Index_Typ. Remove the circuitry which creates a
range check to compare the index type of the array against the
discrete_range.
* sem_res.adb (Resolve_Slice): Add local variable Dexpr. Update
the circuitry which creates a range check to handle a
discrete_range denoted by a subtype indication.

2014-01-20  Pierre-Marie Derodat  <derodat@adacore.com>

* sinput.adb, sinput.ads (Sloc_Range): Traverse the tree of original
nodes to get the original sloc range.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Use Defining_Entity to obtain the
entity of a [library level] package.

From-SVN: r206817

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 14:00:29 +0000 (15:00 +0100)]
[multiple changes]

2014-01-20  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c (exception_class_eq): New function.
(is_handled_by): Use it to compare exception classes.
(PERSONALITY_STORAGE): Define. (continue_unwind): New function to
be called to return URC_CONTINUE_UNWIND.
(personality_body): New function, extracted from PERSONALITY_ROUTINE.
(PERSONALITY_ROUTINE): Add an implementation for the ARM unwinder.

2014-01-20  Robert Dewar  <dewar@adacore.com>

* opt.ads: Minor comment update.

From-SVN: r206815

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 13:59:08 +0000 (14:59 +0100)]
[multiple changes]

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_N_Slice): Relocate some variables and
constants to the "Local variables" area. Add new constant D. Add
new variables Drange and Index_Typ.  Rename Pfx to Rep and Ptp
to Pref_Typ and update all occurrences. Add circuitry to extract
the discrete_range and the index type and build a range check.

2014-01-20  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Enable
Treat_Categorization_Errors_As_Warnings when Relaxed_RM_Semantics
is set.

2014-01-20  Thomas Quinot  <quinot@adacore.com>

* sem_ch5.adb, sem_ch4.adb: Minor reformatting.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications):
When aspect SPARK_Mode appears on a package body, insert the
generated pragma at the top of the body declarations.

From-SVN: r206814

10 years agosem_aggr.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 20 Jan 2014 13:57:30 +0000 (13:57 +0000)]
sem_aggr.adb, [...]: Minor reformatting.

2014-01-20  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb, exp_prag.adb, sem_aux.adb, sinfo.ads, sem_ch10.adb,
checks.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, g-arrspl.adb,
expander.adb, gnat1drv.adb, exp_ch4.adb, sem_ch6.adb,
sem_ch8.adb, exp_dist.adb: Minor reformatting.

From-SVN: r206813

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 13:54:43 +0000 (14:54 +0100)]
[multiple changes]

2014-01-20  Yannick Moy  <moy@adacore.com>

* gnat1drv.adb (Gnat1drv): Call Write_ALI with Object=True in GNATprove
mode.

2014-01-20  Pascal Obry  <obry@adacore.com>

* g-arrspl.ads (Slice_Set): New definition (will use a copy on
write scheme).
* g-arrspl.adb: Adapt all routine to this new implementation.
(Set): Copy the Slice_Set definition before reusing it.

From-SVN: r206812

10 years agosem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old...
Arnaud Charlet [Mon, 20 Jan 2014 13:53:22 +0000 (13:53 +0000)]
sem_prag.adb (Process_Import_Or_Interface): In Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.

2014-01-20  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): In
Relaxed_RM_Semantics, support old Ada 83 style of pragma Import.
(Analyze_Pragma): Ditto for pragma Export.
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Handle old pragma
Import style.

From-SVN: r206810

10 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jan 2014 13:52:19 +0000 (14:52 +0100)]
[multiple changes]

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.ads: E_Abstract_State is now part of the entities that
can be overloaded. Update type Overloadable_Kind to reflect the
inclusion of abstract states.
* sem_ch6.adb (New_Overloaded_Entity): A function can now
overload an abstract state.
* sem_prag.adb (Analyze_Constituent): Handle the overloading
of states by functions. Use Entity_Of to obtain the entity of
a constituent. (Analyze_Global_Item): Handle the overloading of
states by functions.
(Analyze_Initialization_Item): Handle the
overloading of states by functions.  Use Entity_Of to obtain the
entity of an item.
(Analyze_Input_Item): Handle the overloading
of states by functions. Use Entity_Of to obtain the entity of an item.
(Analyze_Input_Output): Handle the overloading of states by functions.
(Analyze_Refinement_Clause): Handle the overloading
of states by functions.  Use Entity_Of to obtain the entity of an item.
(Appears_In): Use Entity_Of to obtain the entity of an element.
(Check_Usage): Use Entity_Of to obtain the entity of
an item. Add a guard to prevent a crash due to a previous error.
(Resolve_State): New routine.

2014-01-20  Yannick Moy  <moy@adacore.com>

* spark_xrefs.ads, debug.adb, gnat1drv.adb, errout.adb, errout.ads,
opt.ads: Minor comments updates.

From-SVN: r206809

10 years agoeinfo.adb (Non_Limited_View): Applies to abstract states.
Hristian Kirtchev [Mon, 20 Jan 2014 13:50:15 +0000 (13:50 +0000)]
einfo.adb (Non_Limited_View): Applies to abstract states.

2014-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb (Non_Limited_View): Applies to abstract states.
(Set_From_Limited_With): Applies to abstract states.
(Set_Non_Limited_View): Applies to abstract states.
(Write_Field17): Output the non-limited view of an abstract state.
* einfo.ads: Update the comment on usage and occurrences in
nodes for attributes From_Limited_With and Non_Limited_View.
* sem_aux.adb (Available_View): This routine can now handle
abstract states.
* sem_aux.ads (Available_View): This routine can now handle
abstract states. Update the comment on usage.
* sem_ch8.adb (Find_Expanded_Name): Handle abstract views
of states and variables.
(In_Pragmas_Depends_Or_Global): New routine.
* sem_ch10.adb (Build_Limited_Views): Implement
abstract (limited) views of variables and states.
(Build_Shadow_Entity): This routine is now a procedure. Add
formal parameter Shadow. Update the comment on usage. Add
context-specific decoration for states and variables.
(Decorate_State): New routine. (Decorate_Variable): New routine.
(Find_And_Process_States): New routine.
(Process_Declarations): Renamed to Process_Declarations_And_States.
(Process_Declarations_And_States): Add formal parameters
Pack and Create_Abstract_Views. Update the comment on usage.
(Process_States): New routine.
* sem_prag.adb (Check_Dependency_Clause): Handle abstract
views of states and variables. Match the abstract view of a state
against its corresponding non-abstract view.
(Is_Matching_Input):
Handle abstract views of states and variables. Match the abstract
view of a state against its corresponding non-abstract view.
(Process_Global_Item): Handle abstract views of states and
variables.

From-SVN: r206808

10 years agosem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with...
Bob Duff [Mon, 20 Jan 2014 13:48:45 +0000 (13:48 +0000)]
sem_ch10.adb (Expand_With_Clause): Don't recurse on the prefix if the current with-ed name refers to a package...

2014-01-20  Bob Duff  <duff@adacore.com>

* sem_ch10.adb (Expand_With_Clause): Don't
recurse on the prefix if the current with-ed name refers to a
package that renames its own parent, eg "package P.Q renames P;".

From-SVN: r206807

10 years agoexp_spark.adb (Expand_SPARK_Call): Remove procedure.
Yannick Moy [Mon, 20 Jan 2014 13:47:41 +0000 (13:47 +0000)]
exp_spark.adb (Expand_SPARK_Call): Remove procedure.

2014-01-20  Yannick Moy  <moy@adacore.com>

* exp_spark.adb (Expand_SPARK_Call): Remove procedure.
* opt.adb, opt.ads (Full_Expander_Active): Remove function.
* checks.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb, sem_aggr.adb,
* sem_ch10.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_ch9.adb,
* sem_disp.adb, sem_res.adb Replace Full_Expander_Active by
Expander_Active.

2014-01-20  Yannick Moy  <moy@adacore.com>

* sinfo.ads Update documentation of GNATprove mode.

From-SVN: r206806

10 years ago2014-01-20 Yannick Moy <moy@adacore.com>
Yannick Moy [Mon, 20 Jan 2014 13:44:07 +0000 (13:44 +0000)]
2014-01-20  Yannick Moy  <moy@adacore.com>

* adabkend.adb, ali-util.adb, errout.adb, exp_ch7.adb,
* exp_dbug.adb, freeze.adb, lib-xref.adb, restrict.adb,
* sem_attr.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb,
* sem_prag.adb, sem_res.adb, sem_util.adb Rename SPARK_Mode into
GNATprove_Mode.
* sem_ch13.adb: Remove blank.
* exp_spark.adb, exp_spark.ads (Expand_SPARK_Call): Only replace
subprograms by alias for renamings, not for inherited primitive
operations.
* exp_util.adb (Expand_Subtype_From_Expr): Apply the expansion
in GNATprove mode.
(Remove_Side_Effects): Apply the removal in
GNATprove mode, for the full analysis of expressions.
* expander.adb (Expand): Call the light SPARK expansion in GNATprove
mode.
(Expander_Mode_Restore, Expander_Mode_Save_And_Set): Ignore
save/restore actions for Expander_Active flag in GNATprove mode,
similar to what is done in ASIS mode.
* frontend.adb (Frontend): Generic bodies are instantiated in
GNATprove mode.
* gnat1drv.adb (Adjust_Global_Switches): Set operating
mode to Check_Semantics in GNATprove mode, although a light
expansion is still performed.
(Gnat1drv): Set Back_End_Mode to
Declarations_Only in GNATprove mode, and later on special case
the GNATprove mode to continue analysis anyway.
* lib-writ.adb (Write_ALI): Always generate ALI files in
GNATprove mode.
* opt.adb, opt.ads (Full_Expander_Active): Make it equivalent to
Expander_Active.
(SPARK_Mode): Renamed as GNATprove_Mode.
* sem_aggr.adb (Aggregate_Constraint_Checks): Add checks in the
tree in GNATprove_Mode.
* sem_ch12.adb (Analyze_Package_Instantiation): Always instantiate
body in GNATprove mode.
(Need_Subprogram_Instance_Body): Always instantiate body in GNATprove
mode.
* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
Make sure side effects are removed in GNATprove mode.

From-SVN: r206805

10 years ago[AArch64] Relax CANNOT_CHANGE_MODE_CLASS
Tejas Belagod [Mon, 20 Jan 2014 12:34:13 +0000 (12:34 +0000)]
[AArch64] Relax CANNOT_CHANGE_MODE_CLASS

gcc/
* config/aarch64/aarch64-protos.h
(aarch64_cannot_change_mode_class_ptr): Declare.
* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
aarch64_cannot_change_mode_class_ptr): New.
* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
backend hook aarch64_cannot_change_mode_class.

From-SVN: r206804

10 years ago[AArch64] Fix behaviour of -mcpu option to match ARM.
James Greenhalgh [Mon, 20 Jan 2014 11:32:32 +0000 (11:32 +0000)]
[AArch64] Fix behaviour of -mcpu option to match ARM.

gcc/

* common/config/aarch64/aarch64-common.c
(aarch64_handle_option): Don't handle any option order logic here.
* config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
selected_cpu, warn on architecture version mismatch.
(aarch64_override_options): Fix parsing order for option strings.

From-SVN: r206803

10 years agore PR bootstrap/59496 (Bootstrap fails on powerpc-apple-darwin9 after r205685)
Jan-Benedict Glaw [Mon, 20 Jan 2014 11:20:24 +0000 (11:20 +0000)]
re PR bootstrap/59496 (Bootstrap fails on powerpc-apple-darwin9 after r205685)

gcc:

PR bootstrap/59496
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
warning.  Amend comment to reflect current functionality.

Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
From-SVN: r206802

10 years agore PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias...
Richard Biener [Mon, 20 Jan 2014 11:01:53 +0000 (11:01 +0000)]
re PR tree-optimization/59860 (ICE in compute_may_aliases, at tree-ssa-structalias.c:6843)

2014-01-20  Richard Biener  <rguenther@suse.de>

PR middle-end/59860
* builtins.c (fold_builtin_strcat): Remove case better handled
by tree-ssa-strlen.c.

* gcc.dg/pr59860.c: New testcase.

From-SVN: r206799

10 years agodecl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an unconstraine...
Eric Botcazou [Mon, 20 Jan 2014 10:59:26 +0000 (10:59 +0000)]
decl.c (gnat_to_gnu_entity): Robustify tests for aliased objects with an unconstrained nominal subtype.

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Robustify tests
for aliased objects with an unconstrained nominal subtype.
* gcc-interface/trans.c (Call_to_gnu): Likewise.
(gnat_to_gnu) <case N_Op_Not>: Robustify test for private type.
<case N_Op_Minus>: Remove useless code.
(Exception_Handler_to_gnu_zcx): Minor tweaks.

From-SVN: r206798

10 years ago[AArch64] Make -mcpu, -march and -mtune case-insensitive.
Alan Lawrence [Mon, 20 Jan 2014 10:57:46 +0000 (10:57 +0000)]
[AArch64] Make -mcpu, -march and -mtune case-insensitive.

gcc/

* config/aarch64/aarch64.opt
(mcpu, march, mtune): Make case-insensitive.

From-SVN: r206797

10 years agodecl.c (gnat_to_gnu_entity): Tidy up.
Eric Botcazou [Mon, 20 Jan 2014 10:51:46 +0000 (10:51 +0000)]
decl.c (gnat_to_gnu_entity): Tidy up.

* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Record_Subtype>:
Tidy up.  For a subtype with discriminants and variant part, if a
variant is statically selected and the fields all have a constant
position, put them in order of increasing position.  Likewise if
no variant part but representation clause is present.
* gcc-interface/utils.c (make_packable_type): Robustify.
(maybe_pad_type): Use local variable and tidy up condition.  If no
alignment is specified, use the original one.
(create_type_stub_decl): Minor tweak.
(convert) <case VECTOR_CST>: Fix typo.
<case CONSTRUCTOR>: Deal with padding types around the same type.
Do not punt on missing fields.
(unchecked_convert): Call finish_record_type to lay out the special
record types made for conversions from/to problematic integer types.
Bump the alignment of CONSTRUCTORs before converting them to a more
aligned type.

From-SVN: r206796

10 years agodecl.c (gnat_to_gnu_entity): Remove obsolete code for type_annotate_only mode...
Eric Botcazou [Mon, 20 Jan 2014 10:29:09 +0000 (10:29 +0000)]
decl.c (gnat_to_gnu_entity): Remove obsolete code for type_annotate_only mode...

* gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Component>: Remove
obsolete code for type_annotate_only mode, simplify code and slightly
improve wording of comments.

From-SVN: r206794

10 years agoc-ada-spec.h (dump_ada_specs): Revert prototype change.
Eric Botcazou [Mon, 20 Jan 2014 10:18:49 +0000 (10:18 +0000)]
c-ada-spec.h (dump_ada_specs): Revert prototype change.

c-family/
* c-ada-spec.h (dump_ada_specs): Revert prototype change.
* c-ada-spec.c (dump_ads): Likewise.
(cpp_check): Likewise.
(dump_ada_specs): Likewise.
cp/
* decl2.c (cpp_check): Revert prototype change.

From-SVN: r206793

10 years agore PR target/59880 (ix86_avoid_lea_for_addr is buggy)
Jakub Jelinek [Mon, 20 Jan 2014 09:52:21 +0000 (10:52 +0100)]
re PR target/59880 (ix86_avoid_lea_for_addr is buggy)

PR target/59880
* config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
if operands[1] is a REG or ZERO_EXTEND of a REG.

* gcc.target/i386/pr59880.c: New test.

From-SVN: r206792

10 years ago* gcc.dg/pr44194-1.c: Tweak regexp.
Renlin Li [Mon, 20 Jan 2014 09:11:16 +0000 (09:11 +0000)]
* gcc.dg/pr44194-1.c: Tweak regexp.

From-SVN: r206791

10 years agoMAINTAINERS: Convert to UTF-8.
Gerald Pfeifer [Mon, 20 Jan 2014 03:15:26 +0000 (03:15 +0000)]
MAINTAINERS: Convert to UTF-8.

* MAINTAINERS: Convert to UTF-8.
Properly sort Xinliang David Li's entry.

From-SVN: r206790

10 years agoDaily bump.
GCC Administrator [Mon, 20 Jan 2014 00:17:00 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r206789

10 years agore PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
Steven G. Kargl [Sun, 19 Jan 2014 23:21:10 +0000 (23:21 +0000)]
re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)

2014-01-19  Steven G. Kargl  <kargl@gcc.gnu.org>

PR libfortran/59771
PR libfortran/59774
PR libfortran/59836
* gfortran.dg/round_3.f08: New cases added.
* gfortran.dg/fmt_g_1.f90: New test.

From-SVN: r206786

10 years agore PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)
Jerry DeLisle [Sun, 19 Jan 2014 23:17:43 +0000 (23:17 +0000)]
re PR libfortran/59771 (Cleanup handling of Gw.0 and Gw.0Ee format)

2014-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu>
    Dominique d'Humieres  <dominiq@lps.ens.fr>

PR libfortran/59771
PR libfortran/59774
PR libfortran/59836
* io/write_float.def (output_float): Fix wrong handling of the
Fw.0 format.
(output_float_FMT_G_): Fixes rounding issues with -m32.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r206785

10 years ago* varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
Jan Hubicka [Sun, 19 Jan 2014 23:12:24 +0000 (00:12 +0100)]
* varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.

From-SVN: r206784

10 years agoregex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecut...
Tim Shen [Sun, 19 Jan 2014 21:59:20 +0000 (21:59 +0000)]
regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**".

2014-01-19  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
Fix parse error of multiple consecutive quantifiers like "a**".
* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
Likewise.
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.

From-SVN: r206783

10 years agopr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.
Uros Bizjak [Sun, 19 Jan 2014 19:21:26 +0000 (20:21 +0100)]
pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.

* g++.dg/pr49718.C: Add "-mno-explicit-relocs" for alpha*-*-* targets.

From-SVN: r206782

10 years agopa.c (pa_attr_length_millicode_call): Correct length of long non-pic millicode calls.
John David Anglin [Sun, 19 Jan 2014 18:09:53 +0000 (18:09 +0000)]
pa.c (pa_attr_length_millicode_call): Correct length of long non-pic millicode calls.

* config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
long non-pic millicode calls.

From-SVN: r206779

10 years agobuiltins.c (expand_movstr): Check movstr expand done or fail.
Kito Cheng [Sun, 19 Jan 2014 17:36:00 +0000 (17:36 +0000)]
builtins.c (expand_movstr): Check movstr expand done or fail.

2014-01-19  Kito Cheng  <kito@0xlab.org>

* gcc/builtins.c (expand_movstr): Check movstr expand done or fail.

From-SVN: r206777

10 years agopr54240.c: Add -ffat-lto-objects.
Richard Sandiford [Sun, 19 Jan 2014 17:07:11 +0000 (17:07 +0000)]
pr54240.c: Add -ffat-lto-objects.

gcc/testsuite/
* gcc.target/mips/pr54240.c: Add -ffat-lto-objects.

From-SVN: r206776

10 years agoSince started...
Jan-Benedict Glaw [Sun, 19 Jan 2014 15:52:20 +0000 (15:52 +0000)]
Since started...

Since started, the VAX backend doesn't compile with config-list.mk
because one of VAX's macros doesn't use its argument:

g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace    -o loop-invariant.o -MT loop-invariant.o -MMD -MP -MF ./.deps/loop-invariant.TPo ../../../gcc/gcc/loop-invariant.c
../../../gcc/gcc/loop-invariant.c: In function â€˜bool check_dependency(basic_block, df_ref, bitmap)’:../../../gcc/gcc/loop-invariant.c:789:20: error: unused variable â€˜regno’ [-Werror=unused-variable]       unsigned int regno = DF_REF_REGNO (use);
                    ^
cc1plus: all warnings being treated as errors
make[2]: *** [loop-invariant.o] Error 1

This should fix it:

2014-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00882.html

From-SVN: r206775

10 years agore PR target/59379 (gomp_init_num_threads is compiled into an infinite loop with...
Uros Bizjak [Sun, 19 Jan 2014 15:48:14 +0000 (16:48 +0100)]
re PR target/59379 (gomp_init_num_threads is compiled into an infinite loop with --with-arch=corei7  --with-cpu=slm)

PR target/59379
* config/i386/i386.md (*lea<mode>): Zero-extend return register
to DImode for zero-extended addresses.

From-SVN: r206774

10 years agore PR rtl-optimization/57763 (comp-goto-1.c: ICE verify_flow_info failed, error:...
Jakub Jelinek [Sun, 19 Jan 2014 15:30:22 +0000 (16:30 +0100)]
re PR rtl-optimization/57763 (comp-goto-1.c: ICE verify_flow_info failed, error: EDGE_CROSSING missing across section boundary)

PR rtl-optimization/57763
* bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
on the new indirect jump_insn and increment LABEL_NUSES (label).

From-SVN: r206773

10 years agopr57705.c: Require vect_int.
Richard Sandiford [Sun, 19 Jan 2014 09:57:24 +0000 (09:57 +0000)]
pr57705.c: Require vect_int.

gcc/testsuite/
* gcc.dg/vect/pr57705.c: Require vect_int.
* gcc.dg/vect/pr58508.c: Fix order of dg-require-effective-target line.
* gcc.dg/vect/vect-alias-check.c: Likewise.

From-SVN: r206771

10 years agoDaily bump.
GCC Administrator [Sun, 19 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206770

10 years agore PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups...
Mikael Morin [Sat, 18 Jan 2014 20:05:25 +0000 (20:05 +0000)]
re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix)

fortran/
        PR fortran/58007
        * module.c (MOD_VERSION): Bump.
        (fp2, find_pointer2): Remove.
        (mio_component_ref): Don't forcedfully set the containing derived type
        symbol for loading.  Remove unused argument.
        (mio_ref): Update caller
        (mio_symbol): Dump component list earlier.
        (skip_list): New argument nest_level.  Initialize level with the new
        argument.
        (read_module): Add forced pointer components association for derived
        type symbols.

testsuite/
        PR fortran/58007
        * gfortran.dg/unresolved_fixup_1.f90: New test.
        * gfortran.dg/unresolved_fixup_2.f90: New test.

From-SVN: r206759

10 years agoUpdate x86 --with-arch/--with-cpu= configure handling
H.J. Lu [Sat, 18 Jan 2014 13:25:40 +0000 (13:25 +0000)]
Update x86 --with-arch/--with-cpu= configure handling

PR bootstrap/59580
PR bootstrap/59583
* config.gcc (x86_archs): New variable.
(x86_64_archs): Likewise.
(x86_cpus): Likewise.
Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
--with-arch/--with-cpu= options.
Support --with-arch=/--with-cpu={nehalem,westmere,
sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.

From-SVN: r206756

10 years agoi386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 and PROCESSOR_ATHLON to simplify...
Uros Bizjak [Sat, 18 Jan 2014 12:42:10 +0000 (13:42 +0100)]
i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8 and PROCESSOR_ATHLON to simplify code.

* config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.

* config/i386/i386.md (*swap<mode>): Rename from swap<mode>.

From-SVN: r206753

10 years agore PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice)
Jakub Jelinek [Sat, 18 Jan 2014 10:18:33 +0000 (11:18 +0100)]
re PR target/58944 (bogus -Wunused-macros warnings when compiling Libreoffice)

PR target/58944
* config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
clear cpp_get_options (parse_in)->warn_unused_macros for
ix86_target_macros_internal with cpp_define.

* gcc.target/i386/pr58944.c: Drop -march=native from dg-options.
Remove dg-prune-output lines.

From-SVN: r206750

10 years agojump.c (delete_related_insns): Keep (use (insn))s.
Richard Sandiford [Sat, 18 Jan 2014 10:12:22 +0000 (10:12 +0000)]
jump.c (delete_related_insns): Keep (use (insn))s.

gcc/
* jump.c (delete_related_insns): Keep (use (insn))s.
* reorg.c (redundant_insn): Check for barriers too.

From-SVN: r206749

10 years agoFix a comment typo in ix86_split_lea_for_addr
H.J. Lu [Sat, 18 Jan 2014 02:49:56 +0000 (02:49 +0000)]
Fix a comment typo in ix86_split_lea_for_addr

* config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment
typo.

From-SVN: r206745

10 years agopa.c (pa_attr_length_indirect_call): Don't output a short call to $$dyncall when...
John David Anglin [Sat, 18 Jan 2014 00:35:08 +0000 (00:35 +0000)]
pa.c (pa_attr_length_indirect_call): Don't output a short call to $$dyncall when TARGET_LONG_CALLS is true.

* config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
call to $$dyncall when TARGET_LONG_CALLS is true.

From-SVN: r206742

10 years agoDaily bump.
GCC Administrator [Sat, 18 Jan 2014 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r206741

10 years agore PR go/59866 (gccgo gc work buffer is misaligned)
Ian Lance Taylor [Fri, 17 Jan 2014 22:43:03 +0000 (22:43 +0000)]
re PR go/59866 (gccgo gc work buffer is misaligned)

PR go/59866
runtime: Force work variable in mgc0 to be aligned on 8-byte boundary.

From-SVN: r206738

10 years agoree.c (combine_set_extension): Temporarily disable test for changing number of hard...
Jeff Law [Fri, 17 Jan 2014 22:20:24 +0000 (15:20 -0700)]
ree.c (combine_set_extension): Temporarily disable test for changing number of hard registers.

       * ree.c (combine_set_extension): Temporarily disable test for
        changing number of hard registers.

From-SVN: r206735

10 years agore PR middle-end/58125 (ICE: in operator[], at vec.h:827 with -fno-inline-small-funct...
Jan Hubicka [Fri, 17 Jan 2014 21:10:42 +0000 (22:10 +0100)]
re PR middle-end/58125 (ICE: in operator[], at vec.h:827 with -fno-inline-small-functions)

PR middle-end/58125
* ipa-inline-analysis.c (inline_free_summary):
Do not free summary of aliases.

From-SVN: r206734

10 years agoset.h (set): Implement C++11 allocator-aware container requirements.
François Dumont [Fri, 17 Jan 2014 21:10:15 +0000 (21:10 +0000)]
set.h (set): Implement C++11 allocator-aware container requirements.

2014-01-17  François Dumont  <fdumont@gcc.gnu.org>

* include/profile/set.h (set): Implement C++11 allocator-aware
container requirements.
* include/profile/map.h (map): Likewise.
* include/profile/multiset.h (multiset): Likewise.
* include/profile/multimap.h (multimap): Likewise.
* include/profile/set.h
(set::operator=(const set&)): Define as default in C++11 mode.
(set::operator=(set&&)): Likewise.
* include/profile/map.h
(map::operator=(const map&)): Likewise.
(map::operator=(map&&)): Likewise.
* include/profile/multiset.h
(multiset::operator=(const multiset&)): Likewise.
(multiset::operator=(multiset&&)): Likewise.
* include/profile/multimap.h
(multimap::operator=(const multimap&)): Likewise.
(multimap::operator=(multimap&&)): Likewise.
* include/profile/set.h (set::operator=(std::initializer_list<>)):
Rely on the same operator from normal mode.
* include/profile/map.h (map::operator=(std::initializer_list<>)):
Likewise.
* include/profile/multiset.h
(multiset::operator=(std::initializer_list<>)): Likewise.
* include/profile/multimap.h
(multimap::operator=(std::initializer_list<>)): Likewise.
* include/profile/set.h (set::swap(set&)): Add noexcept
specification.
* include/profile/map.h (map::swap(map&)): Likewise.
* include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
* include/profile/multimap.h (multimap::swap(multimap&)): Likewise.

From-SVN: r206733

10 years agore PR fortran/59706 (ICE with do concurrent and internal subprogram)
Jakub Jelinek [Fri, 17 Jan 2014 20:55:42 +0000 (21:55 +0100)]
re PR fortran/59706 (ICE with do concurrent and internal subprogram)

PR middle-end/59706
* gimplify.c (gimplify_expr): Use create_tmp_var
instead of create_tmp_var_raw.  If cond doesn't have
integral type, don't add the IFN_ANNOTATE builtin at all.

* gfortran.dg/pr59706.f90: New test.
* g++.dg/ext/pr59706.C: New test.

From-SVN: r206732

10 years agore PR c++/59270 ([c++11] ICE with decltype of a broken class)
Paolo Carlini [Fri, 17 Jan 2014 20:25:01 +0000 (20:25 +0000)]
re PR c++/59270 ([c++11] ICE with decltype of a broken class)

/cp
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59270
PR c++/58811
* init.c (build_value_init_noctor): Don't pass error_mark_node to
build_value_init.

/testsuite
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59270
PR c++/58811
* g++.dg/cpp0x/decltype-incomplete1.C: New.
* g++.dg/init/pr58811.C: Likewise.

From-SVN: r206731

10 years agore PR ipa/59736 (ice with -O3 in cgraph_edge_brings_value_p)
Martin Jambor [Fri, 17 Jan 2014 19:05:52 +0000 (20:05 +0100)]
re PR ipa/59736 (ice with -O3 in cgraph_edge_brings_value_p)

2014-01-17  Martin Jambor  <mjambor@suse.cz>

PR ipa/59736
* ipa-cp.c (prev_edge_clone): New variable.
(grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
Also resize prev_edge_clone vector.
(ipcp_edge_duplication_hook): Also update prev_edge_clone.
(ipcp_edge_removal_hook): New function.
(ipcp_driver): Register ipcp_edge_removal_hook.

From-SVN: r206729

10 years agore PR target/59462 (c-c++-common/cilk-plus/AN/builtin_func_double2.c fails on MIPS)
Andrew Pinski [Fri, 17 Jan 2014 18:07:18 +0000 (18:07 +0000)]
re PR target/59462 (c-c++-common/cilk-plus/AN/builtin_func_double2.c fails on MIPS)

2014-01-17  Andrew Pinski <apinski@cavium.com>
    Steve Ellcey  <sellcey@mips.com>

PR target/59462
* config/mips/mips.c (mips_print_operand): Check operand mode instead
of operator mode.

Co-Authored-By: Steve Ellcey <sellcey@mips.com>
From-SVN: r206724

10 years agore PR middle-end/57904 (Bogus(?) "invokes undefined behavior" warning with Fortran...
Jeff Law [Fri, 17 Jan 2014 17:50:10 +0000 (10:50 -0700)]
re PR middle-end/57904 (Bogus(?) "invokes undefined behavior" warning with Fortran's finalization wrapper (gfortran.dg/class_48.f90))

PR middle-end/57904
* passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
so that pass_ccp runs first.

        PR middle-end/57904
* gfortran.dg/pr57904.f90: New test.

From-SVN: r206723

10 years agoUse TARGET_XXX and !TARGET_XXX in i386.c
H.J. Lu [Fri, 17 Jan 2014 17:16:25 +0000 (17:16 +0000)]
Use TARGET_XXX and !TARGET_XXX in i386.c

* config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
(ix86_adjust_cost): Use !TARGET_XXX.
(do_reorder_for_imul): Likewise.
(swap_top_of_ready_list): Likewise.
(ix86_sched_reorder): Likewise.

From-SVN: r206720

10 years agoReorder the last ChangeLog entry
H.J. Lu [Fri, 17 Jan 2014 17:13:40 +0000 (09:13 -0800)]
Reorder the last ChangeLog entry

From-SVN: r206719

10 years agore PR c++/59269 (ICE with reference in union)
Paolo Carlini [Fri, 17 Jan 2014 15:40:13 +0000 (15:40 +0000)]
re PR c++/59269 (ICE with reference in union)

/cp
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59269
* init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
only when errorcount == 0.

/testsuite
2014-01-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59269
* g++.dg/cpp0x/nsdmi-union4.C: New.

From-SVN: r206718

10 years agoAdd X86_TUNE_AVOID_LEA_FOR_ADDR
H.J. Lu [Fri, 17 Jan 2014 15:23:58 +0000 (15:23 +0000)]
Add X86_TUNE_AVOID_LEA_FOR_ADDR

ix86_split_lea_for_addr transforms a single LEA instruction into a
series of MOV and ADD instructions.  For

lea 0x400(%edx, %ecx, 8), %edx

we get

mov %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add %ecx, %edx
add $0x400, %edx

For -mtune=intel, we want to turn on X86_TUNE_OPT_AGU, but avoid
ix86_split_lea_for_addr to optimize for both Haswell and Silvermont.
This patch adds X86_TUNE_AVOID_LEA_FOR_ADDR and PROCESSOR_INTEL.
We keep PROCESSOR_INTEL the same as PROCESSOR_SILVERMONT, except that
X86_TUNE_AVOID_LEA_FOR_ADDR isn't turned on for PROCESSOR_INTEL.

* config/i386/i386-c.c (ix86_target_macros_internal): Handle
PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
* config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
(intel_memset): New.  Duplicate slm_memset.
(intel_cost): New.  Duplicate slm_cost.
(m_INTEL): New macro.
(processor_target_table): Add "intel".
(ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
with PROCESSOR_INTEL for "intel".
(ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
PROCESSOR_SILVERMONT.
(ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
instead of TARGET_OPT_AGU.
(ix86_issue_rate): Likewise.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
(swap_top_of_ready_list): Likewise.
(ix86_sched_reorder): Likewise.
* config/i386/i386.h (TARGET_INTEL): New.
(TARGET_AVOID_LEA_FOR_ADDR): Likewise.
(processor_type): Add PROCESSOR_INTEL.
* config/i386/x86-tune.def: Support m_INTEL. Duplicate
m_SILVERMONT.  Add X86_TUNE_AVOID_LEA_FOR_ADDR.

From-SVN: r206717

10 years agore PR c++/59838 (ICE with an enum using an incomplete type)
Marek Polacek [Fri, 17 Jan 2014 15:23:17 +0000 (15:23 +0000)]
re PR c++/59838 (ICE with an enum using an incomplete type)

PR c++/59838
cp/
* cvt.c (ocp_convert): Don't segfault on non-existing
ENUM_UNDERLYING_TYPE.
testsuite/
* g++.dg/diagnostic/pr59838.C: New test.

From-SVN: r206716

10 years agore PR c/58346 (ICE with SIGFPE at -O1 and above on x86_64-linux-gnu (affecting trunk...
Marek Polacek [Fri, 17 Jan 2014 14:51:56 +0000 (14:51 +0000)]
re PR c/58346 (ICE with SIGFPE at -O1 and above on x86_64-linux-gnu (affecting trunk, 4.8, 4.7, and 4.6))

PR c/58346
* gimple-fold.c (fold_array_ctor_reference): Don't fold if element
size is zero.
testsuite/
* gcc.dg/pr58346.c: New test.

From-SVN: r206715

10 years agore PR tree-optimization/46590 (long compile time with -O2 and many loops)
Richard Biener [Fri, 17 Jan 2014 14:49:18 +0000 (14:49 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)

2014-01-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/46590
* opts.c (default_options_table): Add entries for
OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
all enabled at -O1 but not for -Og.
* common.opt (fbranch-count-reg): Remove Init(1).
(fmove-loop-invariants): Likewise.
(ftree-pta): Likewise.

From-SVN: r206714

10 years agoi386.c (ix86_data_alignment): For compatibility with (incorrect) GCC 4.8 and earlier...
Jakub Jelinek [Fri, 17 Jan 2014 14:45:34 +0000 (15:45 +0100)]
i386.c (ix86_data_alignment): For compatibility with (incorrect) GCC 4.8 and earlier alignment assumptions...

* config/i386/i386.c (ix86_data_alignment): For compatibility with
(incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
decls to at least the GCC 4.8 used alignments.

From-SVN: r206713

10 years agore PR testsuite/58776 (gcc.dg/tree-ssa/gen-vect-32.c scan-tree-dump-times vect "vecto...
Jakub Jelinek [Fri, 17 Jan 2014 14:43:37 +0000 (15:43 +0100)]
re PR testsuite/58776 (gcc.dg/tree-ssa/gen-vect-32.c scan-tree-dump-times vect "vectorized 1 loops" 1)

PR testsuite/58776
* gcc.dg/tree-ssa-gen-vect-32.c: Add -fno-vect-cost-model to
dg-options, use dg-additional-options for i?86/x86_64 to avoid
option duplication.

From-SVN: r206712

10 years agore PR fortran/59440 (ICE in force_decl_die, at dwarf2out.c:20111 with -g)
Jakub Jelinek [Fri, 17 Jan 2014 14:42:58 +0000 (15:42 +0100)]
re PR fortran/59440 (ICE in force_decl_die, at dwarf2out.c:20111 with -g)

PR fortran/59440
* tree-nested.c (convert_nonlocal_reference_stmt,
convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
of GIMPLE_BIND stmts, adjust associated decls.

* gfortran.dg/pr59440-1.f90: New test.
* gfortran.dg/pr59440-2.f90: New test.
* gfortran.dg/pr59440-3.f90: New test.

From-SVN: r206711

10 years agore PR testsuite/59064 (FAIL: gcc.dg/vect/vect-ivdep-1.c (test for bogus messages...
Jakub Jelinek [Fri, 17 Jan 2014 14:41:58 +0000 (15:41 +0100)]
re PR testsuite/59064 (FAIL: gcc.dg/vect/vect-ivdep-1.c  (test for bogus messages, line ))

PR testsuite/59064
* gcc.dg/vect/vect-ivdep-1.c: Replace two dg-bogus lines separately
testing for " version" and " alias" with one testing for
" version\[^\n\r]* alias".
* gcc.dg/vect/vect-ivdep-2.c: Likewise.
* gfortran.dg/vect/vect-do-concurrent-1.f90: Likewise.
* g++.dg/vect/pr33426-ivdep.cc: Likewise.
* g++.dg/vect/pr33426-ivdep-2.cc: Likewise.
* g++.dg/vect/pr33426-ivdep-3.cc: Likewise.
* g++.dg/vect/pr33426-ivdep-4.cc: Adjust comments similarly.

From-SVN: r206710

10 years agore PR tree-optimization/46590 (long compile time with -O2 and many loops)
Richard Biener [Fri, 17 Jan 2014 14:40:11 +0000 (14:40 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)

2014-01-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/46590
* vec.h (vec<>::bseach): New member function implementing
binary search according to C89 bsearch.
(vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
* tree-ssa-loop-im.c (struct mem_ref): Make stored member a
bitmap pointer again.  Make accesses_in_loop a flat array.
(mem_ref_obstack): New global.
(outermost_indep_loop): Adjust for mem_ref->stored changes.
(mark_ref_stored): Likewise.
(ref_indep_loop_p_2): Likewise.
(set_ref_stored_in_loop): New helper function.
(mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
(memref_free): Adjust.
(record_mem_ref_loc): Simplify.
(gather_mem_refs_stmt): Adjust.
(sort_locs_in_loop_postorder_cmp): New function.
(analyze_memory_references): Sort accesses_in_loop after
loop postorder number.
(find_ref_loc_in_loop_cmp): New function.
(for_all_locs_in_loop): Find relevant cluster of locs in
accesses_in_loop and iterate without recursion.
(execute_sm): Avoid uninit warning.
(struct ref_always_accessed): Simplify.
(ref_always_accessed::operator ()): Likewise.
(ref_always_accessed_p): Likewise.
(tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
loop postorder numbers here.
(tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
numbers.

From-SVN: r206709

10 years agore PR c++/57945 (ICE: in varpool_get_node, at cgraph.h:840)
Jakub Jelinek [Fri, 17 Jan 2014 14:19:55 +0000 (15:19 +0100)]
re PR c++/57945 (ICE: in varpool_get_node, at cgraph.h:840)

PR c++/57945
* passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
on decls for which assemble_alias has been called.

* c-c++-common/torture/pr57945.c: New test.

From-SVN: r206708

10 years agomsp430.opt: (mcpu): New option.
Nick Clifton [Fri, 17 Jan 2014 11:35:46 +0000 (11:35 +0000)]
msp430.opt: (mcpu): New option.

* config/msp430/msp430.opt: (mcpu): New option.
* config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
(msp430_option_override): Parse target_cpu.  If the MCU name
matches a generic string, clear target_mcu.
(msp430_attr): Allow numeric interrupt values up to 63.
(msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
* config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
option.
* config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
Add mcpu matches.
* config/msp430/msp430.md (popm): Use %J rather than %I.
(addsi3): Use msp430_nonimmediate_operand for operand 2.
(addhi_cy_i): Use immediate_operand for operand 2.
* doc/invoke.texi: Document -mcpu option.

From-SVN: r206705

10 years agore PR rtl-optimization/38518 (Excessive compile time with -O3)
Richard Biener [Fri, 17 Jan 2014 10:47:59 +0000 (10:47 +0000)]
re PR rtl-optimization/38518 (Excessive compile time with -O3)

2014-01-17  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/38518
* df.h (df_analyze_loop): Declare.
* df-core.c: Include cfgloop.h.
(df_analyze_1): Split out main part of df_analyze.
(df_analyze): Adjust.
(loop_inverted_post_order_compute): New function.
(loop_post_order_compute): Likewise.
(df_analyze_loop): New function avoiding whole-function
postorder computes.
* loop-invariant.c (find_defs): Use df_analyze_loop.
(find_invariants): Adjust.
* loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.

From-SVN: r206702

10 years agoFix ChangeLog entry for revision 206673 as was requested in review comments.
James Greenhalgh [Fri, 17 Jan 2014 07:55:49 +0000 (07:55 +0000)]
Fix ChangeLog entry for revision 206673 as was requested in review comments.

From-SVN: r206700

10 years agoarm.c (arm_v7m_tune): Set max_insns_skipped to 2.
Zhenqiang Chen [Fri, 17 Jan 2014 05:43:45 +0000 (05:43 +0000)]
arm.c (arm_v7m_tune): Set max_insns_skipped to 2.

ChangeLog:
2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
(thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.

testsuite/ChangeLog:
2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/its.c: New test.

From-SVN: r206698

10 years agoipa-ref.c (ipa_remove_stmt_references): Fix references traversal when removing refere...
Ilya Enkovich [Fri, 17 Jan 2014 05:36:19 +0000 (05:36 +0000)]
ipa-ref.c (ipa_remove_stmt_references): Fix references traversal when removing references.

       * ipa-ref.c (ipa_remove_stmt_references): Fix references
       traversal when removing references.

From-SVN: r206697

10 years agocompiler: Use backend interface for binary expressions.
Chris Manghane [Fri, 17 Jan 2014 04:35:40 +0000 (04:35 +0000)]
compiler: Use backend interface for binary expressions.

* go-gcc.cc (Gcc_backend::conditional_expression): Add btype
parameter.
(operator_to_tree_code): New static function.
(Gcc_backend::binary_expression): New function.

From-SVN: r206696

10 years agore PR ipa/59775 (internal compiler error: Segmentation fault)
Jan Hubicka [Fri, 17 Jan 2014 01:04:59 +0000 (02:04 +0100)]
re PR ipa/59775 (internal compiler error: Segmentation fault)

PR ipa/59775
* tree.c (get_binfo_at_offset): Look harder for virtual bases.

From-SVN: r206694

10 years agoDaily bump.
GCC Administrator [Fri, 17 Jan 2014 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206693

10 years agoregex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.
Tim Shen [Thu, 16 Jan 2014 23:35:21 +0000 (23:35 +0000)]
regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
use std::map.
* include/bits/regex_automaton.h: Do not use std::set.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
_BracketMatcher<>::_M_add_collating_element(),
_BracketMatcher<>::_M_add_equivalence_class(),
_BracketMatcher<>::_M_make_range()): Likewise.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
Likewise.
* include/bits/regex_executor.h: Do not use std::queue.
* include/bits/regex_executor.tcc (_Executor<>::_M_main(),
_Executor<>::_M_dfs()): Likewise.
* include/std/regex: Remove <map>, <set> and <queue>.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
basic_regex<>::assign()): Change __compile_nfa to accept
const _CharT* only.
* include/bits/regex_compiler.h: Change _Compiler's template
argument from <_FwdIter, _TraitsT> to <_TraitsT>.
* include/bits/regex_compiler.tcc: Likewise.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_compiler.h: Change _ScannerT into char-type
templated.
* include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
_ScannerBase from _Scanner; Change _Scanner's template argument from
_FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
instead.
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
_Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
_Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
Likewise.
* include/std/regex: Add <cstring> for using strchr.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* bits/regex_automaton.tcc: Indentation fix.
* bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
_RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
_BracketMatcher<>): Add bool option template parameters and
specializations to make matching more efficient and space saving.
* bits/regex_compiler.tcc: Likewise.

From-SVN: r206690

10 years ago014-01-16 Bernd Schmidt <bernds@codesourcery.com>
Bernd Schmidt [Thu, 16 Jan 2014 20:51:24 +0000 (20:51 +0000)]
014-01-16  Bernd Schmidt  <bernds@codesourcery.com>

        PR middle-end/56791
        * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER
        * when
        pushing a reload for an autoinc when we had previously reloaded an
        inner part of the address.

From-SVN: r206688

10 years agotree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies field.
Jakub Jelinek [Thu, 16 Jan 2014 20:14:45 +0000 (21:14 +0100)]
tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies field.

* tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
field.
(LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
when not giving up or versioning for alias only because of
loop->safelen.
(vect_analyze_data_ref_dependences): Set to true.
* tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
is a GIMPLE_PHI.
(vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
to the condition.

From-SVN: r206687

10 years agore PR c++/59821 (__builtin_LINE and __builtin_FILE for new'd objects is wrong)
Jason Merrill [Thu, 16 Jan 2014 19:55:12 +0000 (14:55 -0500)]
re PR c++/59821 (__builtin_LINE and __builtin_FILE for new'd objects is wrong)

PR c++/59821
* tree.c (bot_manip): Update the location of builtin_LINE and
builtin_FILE calls.

From-SVN: r206686

10 years agore PR middle-end/58344 (ICE with segfault at -O1 and above on x86_64-linux-gnu)
Jakub Jelinek [Thu, 16 Jan 2014 19:54:23 +0000 (20:54 +0100)]
re PR middle-end/58344 (ICE with segfault at -O1 and above on x86_64-linux-gnu)

PR middle-end/58344
* expr.c (expand_expr_real_1): Handle init == NULL_TREE.

* gcc.c-torture/compile/pr58344.c: New test.

From-SVN: r206685

10 years agore PR target/59839 (i686 AVX2 gather intrinsic not compiling with -O0 on mingw w64)
Jakub Jelinek [Thu, 16 Jan 2014 19:24:07 +0000 (20:24 +0100)]
re PR target/59839 (i686 AVX2 gather intrinsic not compiling with -O0 on mingw w64)

PR target/59839
* config/i386/i386.c (ix86_expand_builtin): If target doesn't
satisfy operand 0 predicate for gathers, use a new pseudo as
subtarget.

* gcc.target/i386/pr59839.c: New test.

From-SVN: r206682

10 years agore PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2o...
Jakub Jelinek [Thu, 16 Jan 2014 19:15:46 +0000 (20:15 +0100)]
re PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387)

PR debug/54694
* gcc.target/i386/pr9771-1.c (main): Rename to...
(real_main): ... this.  Add __asm name "main".
(ASMNAME, ASMNAME2, STRING): Define.

From-SVN: r206679

10 years agore PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)
Jakub Jelinek [Thu, 16 Jan 2014 19:14:49 +0000 (20:14 +0100)]
re PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)

PR tree-optimization/59387
* gcc.c-torture/execute/pr59387.c: New test.

From-SVN: r206678

10 years agore PR middle-end/59609 (LRA generates bad code for libgcc function udivmoddi4 on...
Vladimir Makarov [Thu, 16 Jan 2014 19:13:54 +0000 (19:13 +0000)]
re PR middle-end/59609 (LRA generates bad code for libgcc function udivmoddi4 on thumb1 target)

2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/59609
* lra-constraints.c (process_alt_operands): Add printing debug
info.  Check absence of input/output reloads for matched operands
too.

From-SVN: r206677

10 years agore PR rtl-optimization/59835 (gcc.target/i386/sse-2[34].c timeout)
Vladimir Makarov [Thu, 16 Jan 2014 19:04:08 +0000 (19:04 +0000)]
re PR rtl-optimization/59835 (gcc.target/i386/sse-2[34].c timeout)

2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59835
* ira.c (ira_init_register_move_cost): Increase cost for
impossible modes.

From-SVN: r206676

10 years ago[ARM] Make -mcpu, -march and -mtune case-insensitive
Alan Lawrence [Thu, 16 Jan 2014 18:10:34 +0000 (18:10 +0000)]
[ARM] Make -mcpu, -march and -mtune case-insensitive

gcc/

* config/arm/arm.opt: Make -mcpu, -march, -mtune case-insensitive.

From-SVN: r206673

10 years agore PR target/59780 (ICE in aarch64_split_128bit_move)
Richard Earnshaw [Thu, 16 Jan 2014 17:35:50 +0000 (17:35 +0000)]
re PR target/59780 (ICE in aarch64_split_128bit_move)

PR target/59780
* aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
non-register objects.  Use gen_(high/low)part more consistently.
Fix assertions.

From-SVN: r206671

10 years agore PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)
Michael Meissner [Thu, 16 Jan 2014 17:08:52 +0000 (17:08 +0000)]
re PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)

2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59844
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
endian support, remove tests for WORDS_BIG_ENDIAN.
(p8_mfvsrd_3_<mode>): Likewise.
(reload_gpr_from_vsx<mode>): Likewise.
(reload_gpr_from_vsxsf): Likewise.
(p8_mfvsrd_4_disf): Likewise.

From-SVN: r206668

10 years agore PR tree-optimization/46590 (long compile time with -O2 and many loops)
Richard Biener [Thu, 16 Jan 2014 13:48:51 +0000 (13:48 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)

2014-01-16  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/46590
* lcm.c (compute_antinout_edge): Use postorder iteration.
(compute_laterin): Use inverted postorder iteration.

From-SVN: r206663

10 years agore PR middle-end/28865 (Structures with a flexible arrray member have wrong .size)
Nick Clifton [Thu, 16 Jan 2014 12:17:48 +0000 (12:17 +0000)]
re PR middle-end/28865 (Structures with a flexible arrray member have wrong .size)

PR middle-end/28865

* varasm.c (output_constant): Return the number of bytes actually
emitted.
(output_constructor_array_range): Update the field size with the
number of bytes emitted by output_constant.
(output_constructor_regular_field): Likewise.  Also do not
  complain if the total number of bytes emitted is now greater
than the expected fieldpos.
* output.h (output_constant): Update prototype and descriptive
comment.

* gcc.c-torture/compile/pr28865.c: New.
* gcc.c-torture/execute/pr28865.c: New.

From-SVN: r206661

10 years agore PR middle-end/59827 (ICE on array with incomplete element type)
Marek Polacek [Thu, 16 Jan 2014 11:42:56 +0000 (11:42 +0000)]
re PR middle-end/59827 (ICE on array with incomplete element type)

PR middle-end/59827
* cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
it is error_mark_node.
testsuite/
* gcc.dg/pr59827.c: New test.

From-SVN: r206660

10 years ago* gcc.c-torture/execute/pr59747.c (fn1): Return a value.
Andreas Schwab [Thu, 16 Jan 2014 10:14:29 +0000 (10:14 +0000)]
* gcc.c-torture/execute/pr59747.c (fn1): Return a value.

From-SVN: r206659