platform/upstream/linaro-gcc.git
10 years ago2013-10-14 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 14 Oct 2013 13:40:56 +0000 (13:40 +0000)]
2013-10-14  Arnaud Charlet  <charlet@adacore.com>

* exp_ch11.adb: Fix typo.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

* exp_util.ads: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Record_Type): Reject full views
with no explicit discriminant constraints, when the parents of
the partial view and the full view are constrained subtypes with
different constraints.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Array_Type): New procedure, abstracts out
this code from Freeze.
(Freeze_Array_Type): Detect pragma Pack overriding foreign convention
(Freeze_Record_Type): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203553 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:39:16 +0000 (13:39 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Dependency_Clause): Add new local variable
Non_Null_Output_Seen.  Update the call to Analyze_Input_Output.
(Analyze_Input_Item): Streamline the detection mechanism of null and
non-null items.
(Analyze_Input_List): Add new local variable
Non_Null_Input_Seen. Update all calls to Analyze_Input_Output.
(Analyze_Input_Output): Add new formal parameter Non_Null_Seen
and update the related comment on usage. Update the
recursive call to itself. Attribute 'Result is now treated
as a non-null item. Detect mixes of null and non-null items.
(Analyze_Initialization_Item): Streamline the detection mechanism
of null and non-null items.

2013-10-14  Vincent Celier  <celier@adacore.com>

* projects.texi: Add documentation for the new project level
attribute Library_Rpath_Options.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure.
(Set_Foreign_Occurrence): New procedure, extracted from
Setup_Current_Excep.
* exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice
parameter in case of zcx.
* sem_ch11.adb (Analyze_Exception_Handlers): Need debug info
for the choice parameter.
* raise-gcc.c: Add comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203552 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:33:48 +0000 (13:33 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb: Add an entry in table Canonical_Aspect for
Initial_Condition.
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
Aspect_Names and Aspect_Delay for Initial_Condition.
* einfo.adb (Get_Pragma): Include pragma Initial_Condition to
categorization pragmas.
* einfo.ads (Get_Pragma): Update comment on usage.
* exp_ch7.adb (Expand_N_Package_Body): Add a runtime check to
verify the assertion introduced by pragma Initial_Condition.
(Expand_N_Package_Declaration): Add a runtime check to
verify the assertion introduced by pragma Initial_Condition.
(Expand_Pragma_Initial_Condition): New routine.
* par-prag: Include pragma Initial_Condition to the list of
pragmas that do not require special processing by the parser.
* sem_ch3.adb (Analyze_Declarations): Analyze pragma
Initial_Condition at the end of the visible declarations.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Initial_Condition.
(Check_Aspect_At_Freeze_Point):
Aspect Initial_Condition does not need inspection at freezing.
* sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part):
New routine.
(Analyze_Pragma): Update all calls
to Check_Declaration_Order. Add processing for pragma
Initial_Condition. Initial_Condition is now a valid assertion
kind.  Add an entry in table Sig_Flags for Initial_Condition.
(Check_Declaration_Order): Reimplemented to handle arbitrary
pragmas.
(Is_Valid_Assertion_Kind): Add an entry for
Initial_Condition.
* sem_pag.ads (Analyze_Initial_Condition_In_Decl_Part):
New routine.
* sem_util.adb (Add_Contract_Item): Pragma Initial_Condition
can now be associated with a package spec.
* sem_util.ads (Add_Contract_Item): Update comment on usage.
* sinfo.ads: Update the documentation of node N_Contract
* snames.ads-tmpl: Add new predefined name Initial_Condition. Add
new pragma id for Initial_Condition.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

* exp_pakd.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203551 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:31:52 +0000 (13:31 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_case.adb (Check_Against_Predicate): Handle properly an
others clause in various cases.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Matching_Constituent): Do
not inspect the hidden states if there are no hidden states. This
case arises when the constituents are states coming from a
private child.

2013-10-14  Doug Rupp  <rupp@adacore.com>

* init.c [ARMEL and VxWorks] (__gnat_map_signal): Re-arm guard
page by clearing VALID bit vice setting page protection.

2013-10-14  Arnaud Charlet  <charlet@adacore.com>

* gnat_rm.texi, adaint.c: Fix typo.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Variable, In_Protected_Function):  In the
body of a protected function, the protected object itself is a
constant (not just its components).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203550 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Vincent Celier <celier@adacore.com>
charlet [Mon, 14 Oct 2013 13:29:23 +0000 (13:29 +0000)]
2013-10-14  Vincent Celier  <celier@adacore.com>

* snames.ads-tmpl: Add new standard name Library_Rpath_Options.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): Allow importing
of exception using convention Cpp.
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Expand cpp
imported exceptions.
* raise-gcc.c (is_handled_by): Filter C++ exception occurrences.
* gnat_rm.texi: Document how to import C++ exceptions.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

* sem_ch13.adb (Sem_Ch13.Analyze_Aspect_Specification): For
Priority and CPU aspects, when checking, issue a warning only
if it is obviously not a main program.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* adaint.c: Fix condition for AIX. Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203549 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:26:07 +0000 (13:26 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_prag.adb, prj.ads: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203548 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:24:49 +0000 (13:24 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part):
Rename Outputs_Seen to All_Outputs_Seen and update all occurrences
of the variable.
(Analyze_Input_Output): Add an item to
All_Inputs_Seen when it is an input or a self-referential output.
(Check_Mode): Comment reformatting.
(Analyze_Abstract_State): Remove the restriction that an Export state
must also have mode Input_Only or Output_Only.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203547 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:23:50 +0000 (13:23 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Flag 263 is now known as Has_Visible_Refinement.
(Has_Non_Null_Refinement): New routine.
(Has_Null_Refinement): The routine is now synthesized.
(Has_Visible_Refinement): New routine.
(Set_Has_Visible_Refinement): New routine.
(Write_Entity_Flags): Remove the output for
Has_Null_Refinement. Add output for Has_Visible_Refinement.
* einfo.ads: Update the occurrences of Has_Non_Null_Refinement,
Has_Null_Refinement and Has_Visible_Refinement in entities.
(Has_Non_Null_Refinement): New synthesized attribute.
(Has_Null_Refinement): This attribute is now synthesized.
(Has_Visible_Refinement): New routine with corresponding
pragma Inline.
(Set_Has_Visible_Refinement): New routine with corresponding pragma
Inline.
* sem_ch3.adb (Analyze_Declarations): Add new local
variable In_Package_Body. Remove state refinements from
visibility at the end of the package body declarations.
(Remove_Visible_Refinements): New routine.
* sem_prag.adb (Analyze_Constituent): Collect a null
constituent and mark the state as having visible refinement.
(Analyze_Global_Item): Use attribute Has_Visible_Refinement to
detect a state with visible refinement.
(Analyze_Input_Output): Use attribute Has_Visible_Refinement to detect
a state with visible refinement.
(Check_Dependency_Clause): Use attribute Has_Non_Null_Refinement rather
than checking the contents of list Refinement_Constituents.
(Check_In_Out_States): Use attribute Has_Non_Null_Refinement rather
than checking the contents of list Refinement_Constituents.
(Check_Input_States): Use attribute Has_Non_Null_Refinement rather
than checking the contents of list Refinement_Constituents.
(Check_Matching_Constituent): Mark a state as having visible refinement.
(Check_Output_States): Use attribute Has_Non_Null_Refinement rather than
checking the contents of list Refinement_Constituents.
(Check_Refined_Global_Item): Use attribute Has_Visible_Refinement
to detect a state with visible refinement.
(Is_Matching_Input): Use attribute Has_Non_Null_Refinement rather than
checking the contents of list Refinement_Constituents.
* sem_util.adb (Is_Refined_State): Use attribute
Has_Visible_Refinement to detect a state with visible refinement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203546 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 13:21:37 +0000 (13:21 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Mode): Do not emit an
error when inspecting a self referencial output item of an
unconstrained type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203545 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 13:20:51 +0000 (13:20 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Fix
target type for code of VMS imported exception.
* init.c: Replace Exception_Code by void *.
* s-vmexta.adb (Hash, Base_Code_In): Adjust code after changing
the type of Exception_Code.

2013-10-14  Vincent Celier  <celier@adacore.com>

* prj.ads: Minor comment updates.
* prj-attr.adb: New attribute Library_Rpath_Options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203544 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:19:17 +0000 (13:19 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Library_Level attribute now applies to an
entity name.
* sem_attr.adb (Analyze_Attribute, case Library_Level): Prefix
is now an entity name.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specification): For
Priority and CPU aspects in subprograms, the expression in the
aspect is analyzed and exported.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203543 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:16:59 +0000 (13:16 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* s-valuti.adb, prep.adb, scng.adb, errout.adb: Minor reformatting.

2013-10-14  Eric Botcazou  <ebotcazou@adacore.com>

* adaint.c: Further disable __gnat_get_executable_load_address
for Linux.

2013-10-14  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Add documentation for comparing symbols to
integers in preprocessing expressions.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

* sem_prag.adb (Analyze_Aspect_Specification): For
Priority and CPU aspects in subprograms, the expression in the
aspect is analyzed and exported.
(Analyze_Pragma): When having a Priority pragma in the
main subprogram, load a unit that will force the initialization
of the tasking run time, which is needed for setting the required
priority.

2013-10-14  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Interfaces): Put in Other_Interfaces all
non Ada interface files.
* prj.ads (Project_Data): New component Other_Interfaces.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203542 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/Makefile.in: Target pairs clean ups.
charlet [Mon, 14 Oct 2013 13:14:36 +0000 (13:14 +0000)]
* gcc-interface/Makefile.in: Target pairs clean ups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203541 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Vincent Celier <celier@adacore.com>
charlet [Mon, 14 Oct 2013 13:13:55 +0000 (13:13 +0000)]
2013-10-14  Vincent Celier  <celier@adacore.com>

* errout.adb (Write_Error_Summary): Do not output the number
of lines when Main_Source_File is unknown.
(Output_Messages): Do not write the header when Main_Source_File is
unknown.

2013-10-14  Vincent Celier  <celier@adacore.com>

* prep.adb (Expression): Accept terms of the form 'symbol <relop>
integer", where relop is =, <, <=, > or >=.
(Parse_Def_File): Accept literal integer values.
* gcc-interface/Make-lang.in: Add s-valint.o, s-valuns.o and
s-valuti.o to the compiler object files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203540 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:10:22 +0000 (13:10 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, exp_ch11.adb, s-exctab.adb: Minor reformatting.
* usage.adb: Add line for -gnateu switch.

2013-10-14  Vincent Celier  <celier@adacore.com>

* lib-writ.ads: Add comments to indicate that a path name in
D lines may be quoted if the path name includes directories
with spaces.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* debug.adb: Document -gnatd.E.
* gnat1drv.adb (Adjust_Global_Switches): Set Error_To_Warning
if -gnatd.E set.
* opt.ads (Error_To_Warning): New switch.
* osint.adb: Minor reformatting.
* sem_warn.adb (Warn_On_Overlapping_Actuals): Overlap is error
in some cases in Ada 2012 mode (unless Error_To_Warning) is set.
* sem_warn.ads (Warn_On_Overlapping_Actuals): Document error
in Ada 2012 mode.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* cstand.adb: Add a comment for Standard_Exception_Type.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Process_Transient_Object): If a transient scope
has already been created, use the corresponding Node_To_Be_Wrapped
as the insertion point for the controlled actions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203539 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 13:06:44 +0000 (13:06 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* cstand.adb (Create_Standard): Change Import_Code component
of Standard_Exception_Type to Foreign_Data. Its type is now
Standard_A_Char (access to character).
* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust
definition of Code to match the type of Foreign_Data.
* s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data
Change the definition of standard predefined exceptions.
(Exception_Code): Remove.
* raise.h (Exception_Code): Remove (Exception_Data): Replace
Import_Code field by Foreign_Data.
* rtsfind.ads (RE_Exception_Code): Remove
(RE_Import_Address): Add.
* a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For.
* exp_ch11.adb (Expand_N_Exception_Declaration): Associate null
to Foreign_Data component.
* raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For.
(is_handled_by): Add comments. Use replaced function. Change
condition so that an Ada occurrence is never handled by
Foreign_Exception.
* s-exctab.adb (Internal_Exception): Associate Null_Address to
Foreign_Data component.
* s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace
SSL.Exception_Code by Exception_Code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203538 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler
ro [Mon, 14 Oct 2013 13:06:27 +0000 (13:06 +0000)]
Fix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler

* gcc.dg/torture/pr58670.c (ASM_STR) [__i386__ || __x86_64__]: Use
btsl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203537 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 13:01:34 +0000 (13:01 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Document -gnateu switch.
* opt.ads (Ignore_Unrecognized_VWY_Switches): New switch.
* stylesw.adb: Ignore unrecognized switch if
Ignore_Unrecognized_VWY_Switches set.
* switch-c.adb: Implement -gnateu (sets
Ignore_Unrecognized_VWY_Switches).
* validsw.adb: Ignore unrecognized switch if
Ignore_Unrecognized_VWY_Switches set.
* warnsw.adb: Ignore unrecognized switch if
Ignore_Unrecognized_VWY_Switches set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203536 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 12:58:07 +0000 (12:58 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor
reformatting.

2013-10-14  Vincent Celier  <celier@adacore.com>

* ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted,
defaulted to False.  Calls Get_Name with May_Be_Quoted.
(Get_Name): New Boolean parameter May_Be_Quoted, defaulted to
False. If May_Be_Quoted is True and first non blank charater is
'"', unquote the name.
(Scan_ALI): For the file/path name on the D line, call Get_File_Name
with May_Be_Quoted = True, as it may have been quoted.
* lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New
procedure to write file/path names that may contain spaces and if they
do are quoted.
* lib-writ.adb (Write_ALI): Use new procedure
Write_Info_Name_May_Be_Quoted to write file/path names on D lines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203534 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Oct 2013 12:57:11 +0000 (12:57 +0000)]
2013-10-14  Richard Biener  <rguenther@suse.de>

lto/
* lto.c (gimple_types, type_hash_cache, struct type_pair_d,
type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
gtc_next_dfs_num, compare_type_names_p, gtc_visit,
gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type, num_not_merged_types,
num_not_merged_types_in_same_scc, num_not_merged_types_trees,
num_not_merged_types_in_same_scc_trees): Remove old merging code
and statistics.
(lto_read_decls): Do not run old merging code in parallel.
(read_cgraph_and_symbols): Do not init/free old merging
data structures.
(print_lto_report_1): Do not report differences of old vs. new
merging code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203533 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 12:55:37 +0000 (12:55 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part,
Analyze_Global_In_Decl_Part,
Analyze_Pre_Post_Condition_In_Decl_Part): Install the subprogram
and its formals only when it is not already installed.
* sem_util.adb (Is_Refined_State): A state is refined when it
has a non-empty list of constituents.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* adaint.c: Disable __gnat_get_executable_load_address for linux.
* exp_prag.adb: Add comment in Expand_Pragma_Import_Export_Exception.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203532 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 14 Oct 2013 12:52:31 +0000 (12:52 +0000)]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

* s-vmexta.ads: Add comments.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
for pragma Refined_State.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Refined_Depends.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
Use Find_Related_Subprogram_Or_Body to find the related
context. Use the current scope when determining whether to
ensure proper visibility.
(Analyze_Depends_In_Decl_Part):
Add local variable Spec_Id. Update the comment on usage of
Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
related context. Extract the corresponding spec of the body
(if any). Use the current scope when determining when to
ensure proper visibility.
(Analyze_Global_In_Decl_Part):
Add local variable Spec_Id. Update the comment on usage of
Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
related context. Extract the corresponding spec of the body
(if any). Use the current scope when determining when to
ensure proper visibility.
(Analyze_Global_Item): Use the
entity of the subprogram spec when performing formal parameter
checks. Perform state-related checks.
(Analyze_Input_Output):
Use Is_Attribute_Result to detect 'Result. Query the
entity of a subprogram spec when verifying the prefix of
'Result. Perform state-related checks. (Analyze_Pragma):
Merge the analysis of Refined_Depends and Refined_Global.
(Analyze_Refined_Depends_In_Decl_Part): Provide implemenation.
(Analyze_Refined_Global_In_Decl_Part): Move state-related checks
to the body of Analyze_Global_In_Decl_Part. Rename local constant
List to Items. (Analyze_Refined_Pragma): Remove circuitry to
find the proper context, use Find_Related_Subprogram_Or_Body
instead.
(Check_Function_Return): Query the entity of
the subprogram spec when verifying the use of 'Result.
(Check_In_Out_States, Check_Input_States, Check_Output_States):
Avoid using Has_Null_Refinement to detect a state with
a non-null refinement, use the Refinement_Constituents
list instead.
(Check_Matching_Constituent): Remove initialization code.
(Check_Mode_Restriction_In_Function): Use the entity of the subprogram
spec when verifying mode usage in functions.
(Collect_Global_Items): New routine.
(Collect_Subprogram_Inputs_Outputs): Add local
variable Spec_Id. Add circuitry for bodies-as-specs. Use
pragma Refined_Global when collecting for a body.
(Create_Or_Modify_Clause): Use the location of the
clause. Rename local variable Clause to New_Clause to avoid
confusion and update all occurrences.  Use Is_Attribute_Result
to detect 'Result.
(Find_Related_Subprogram): Removed.
(Find_Related_Subprogram_Or_Body): New routine.
(Is_Part_Of): Move routine to top level.
(Normalize_Clause): Update the
comment on usage. The routine can now normalize a clause with
multiple outputs by splitting it.
(Collect_Global_Items):
Rename local constant List to Items. Remove the check for
a null list.
(Requires_Profile_Installation): Removed.
(Split_Multiple_Outputs): New routine.
* sem_prag.ads: Update the comments on usage of various
pragma-related analysis routines.
* sem_util.adb (Contains_Refined_State): The routine can now
process pragma [Refined_]Depends.
(Has_Refined_State): Removed.
(Has_State_In_Dependency): New routine.
(Has_State_In_Global): New routine.
(Is_Attribute_Result): New routine.
* sem_util.ads (Is_Attribute_Result): New routine.

2013-10-14  Emmanuel Briot  <briot@adacore.com>

* s-regpat.adb (Compile): Fix finalization of the automaton
when its size was automatically computed to be exactly 1000 bytes.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): If the full view of
the base type is constrained, the full view of the subtype is
known to be constrained as well.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203531 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Vincent Celier <celier@adacore.com>
charlet [Mon, 14 Oct 2013 12:49:26 +0000 (12:49 +0000)]
2013-10-14  Vincent Celier  <celier@adacore.com>

* projects.texi: Add documentation for new attributes of package
Clean: Artifacts_In_Object_Dir and Artifacts_In_Exec_Dir.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

* adaint.c, adaint.h (__gnat_get_executable_load_address):
New function.
* a-exexda.adb (Append_Info_Basic_Exception_Traceback): Add
executable load address (Basic_Exception_Tback_Maxlength): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203530 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Vincent Celier <celier@adacore.com>
charlet [Mon, 14 Oct 2013 12:47:59 +0000 (12:47 +0000)]
2013-10-14  Vincent Celier  <celier@adacore.com>

* prj-attr.adb: New attributes in package Clean:
Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.
* prj-nmsc.adb (Process_Clean (Attributes)): New
procedure to process attributes Artifacts_In_Exec_Dir and
Artifacts_In_Object_Dir in package Clean.
* prj.ads (Project_Configuration): New components
Artifacts_In_Exec_Dir and Artifacts_In_Object_Dir.
* snames.ads-tmpl: New standard names Artifacts_In_Exec_Dir and
Artifacts_In_Object_Dir used only by gprclean.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203529 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 12:46:56 +0000 (12:46 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Add error
entry for Library_Level attribute (which should not survive
to expansion)
* gnat_rm.texi: Document attribute Library_Level
* sem_attr.adb (Analyze_Attribute, case Library_Level): Implement
this new attribute (Set_Boolean_Result): Replaces Set_Result
(Check_Standard_Prefix): Document that Check_E0 is called
(Check_System_Prefix): New procedure
* snames.ads-tmpl: Add entry for Library_Level attribute

2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_ch6.adb, sinfo.ads: Minor reformatting.
* checks.adb (Overlap_Check): Use identifier casing in messages.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203528 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 12:45:14 +0000 (12:45 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type
only.
* exp_aggr.adb (Expand_Array_Aggregate): Handle proper
initialization of <> component.
* exp_ch3.adb, exp_tss.adb: Minor reformatting
* sem_ch13.adb (Default_Aspect_Component_Value, Default_Aspect_Value):
Is on base type only.
* sinfo.ads: Minor comment revision.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* g-decstr.adb (Decode_Wide_Wide_Character): Fix failure
to detect invalid sequences where longer than necessary
sequences are used for encoding.
(Validate_Wide_Character):
Call Decode_Wide_Character to get the above validations.
(Validate_Wide_Wide_Character): Same fix
* g-decstr.ads: Add documentation making it clear that the UTF-8
implementation here recognizes all valid UTF-8 sequences, rather
than the well-formed subset corresponding to characters defined
in Unicode.
(Next_Wide_Character): Remove comment about this
being more efficient than Decode_Wide_Character (because this
no longer the case).
(Prev_Wide_Character): Add note that valid encoding is assumed.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* a-wichha.adb (Character_Set_Version): New function.
* a-wichha.ads: Remove comments for pragma Pure (final RM has
this).
(Character_Set_Version): New function.
* gnat_rm.texi: Update doc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203527 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 12:42:04 +0000 (12:42 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Flag263 is now known as Has_Null_Refinement.
(Has_Null_Refinement): New routine.
(Set_Has_Null_Refinement): New routine.
(Write_Entity_Flags): Output the status of flag
Has_Null_Refinement.
* einfo.ads: Add new flag Has_Null_Refinement along with
comment on usage and update all nodes subject to the flag.
(Has_Null_Refinement): New routine along with pragma Inline.
(Set_Has_Null_Refinement): New rouitine along with pragma Inline.
* sem_prag.adb (Analyze_Constituent): Mark a state as having
a null refinement when the sole constituent is "null".
(Analyze_Global_List): Handle null input/output items.
(Analyze_Refined_Global_In_Decl_Part): Add local variable
Has_Null_State. Add logic to handle combinations of states
with null refinements and null global lists and/or items.
(Check_In_Out_States, Check_Input_States, Check_Output_States):
Use attribute Has_Null_Refinement to detect states with
constituents.
(Check_Refined_Global_List): Handle null input/output items.
(Process_Global_Item): Handle states with null refinements.
(Process_Global_List): Handle null input/output items.

2013-10-14  Robert Dewar  <dewar@adacore.com>

* freeze.adb (Freeze_Entity): Reset Is_True_Constant for
aliased object
* gnat_ugn.texi: Update doc on aliased variables and constants.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

* exp_pakd.adb (Expand_Packed_Element_Reference): If the
reference is an actual in a call, the prefix has not been fully
expanded, to account for the additional expansion for parameter
passing. the prefix itself is a packed reference as well,
recurse to complete the transformation of the prefix.

2013-10-14  Eric Botcazou  <ebotcazou@adacore.com>

* exp_dbug.adb (Debug_Renaming_Declaration): Do not
materialize the entity when the renamed object contains an
N_Explicit_Dereference.
* sem_ch8.adb (Analyze_Object_Renaming):
If the renaming comes from source and the renamed object is a
dereference, mark the prefix as needing debug information.

2013-10-14  Doug Rupp  <rupp@adacore.com>

* system-vxworks-arm.ads (Stack_Check_Probes, Stack_Check_Limits):
Enable Stack Probes, Disable Stack Limit Checking.
* init.c [VxWorks] (__gnat_inum_to_ivec): Caste return value.
(__gnat_map_signal): Fix signature.
(__gnat_error_handler): Make
static, fix signature, remove prototype, fix prototype warning.
[ARMEL and VxWorks6] (__gnat_map_signal): Check and re-arm guard
page for storage_error.
* exp_pakd.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203526 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 12:39:11 +0000 (12:39 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Global_In_Decl_Part): Remove local
variable Contract_Seen. Add local variable Proof_Seen.
(Analyze_Global_List): Remove the processing for mode
Contract_In. Add support for mode Proof_In.
(Analyze_Pragma): Update the grammar of pragmas Global and
Refined_Global.
* snames.ads-tmpl: Remove predefined name Contract_In. Add
predefined name Proof_In.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203525 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Robert Dewar <dewar@adacore.com>
charlet [Mon, 14 Oct 2013 12:37:45 +0000 (12:37 +0000)]
2013-10-14  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb (Expand_Pragma_Check): Generate proper string
for invariant
* gnat_rm.texi: Add documentation for pragmas
Type_Invariant[_Class]
* par-prag.adb: Add entries for pragmas Type_Invariant[_Class]
* sem_ch13.adb: Minor reformatting
* sem_prag.adb: Implement pragmas Type_Invariant[_Class]
* snames.ads-tmpl: Add entries for pragmas Type_Invariant[_Class]

2013-10-14  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Release now unused debug switches that were only
relevant for gnat2why backend, not the frontend
* frontend.adb (Frontend) Do not stop when -gnatd.H is present,
was unused

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203524 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 12:35:51 +0000 (12:35 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Global_Item): Allow
references to enclosing formal parameters.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

* einfo.adb (Equivalent_Type): Add missing case
E_Access_Subprogram_Type in guard (for remote access to
subprograms) * sem_ch8.adb (Find_Direct_Name, Find_Expanded_Name):
Add missing guards to account for the presence of RAS types
that have already been replaced with the corresponding fat
pointer type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203523 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 14 Oct 2013 12:34:33 +0000 (12:34 +0000)]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

* aspects.adb: Add an entry in table Canonical_Aspect for
Initializes.
* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
Aspect_Names and Aspect_Delay for Initializes.
* atree.ads, atree.adb (Ekind_In): New seven argument versions of the
routines.
* einfo.adb: Remove Refined_State_Pragma from the list of node
usage. Finalizer is now at position 28.
(Contract): Package
and package bodies now have a contract.
(Finalizer): Update
the assertion and node usage.
(Get_Pragma): Update the Is_CDG
flag to include Abstract_State, Initializes and Refined_State.
(Refined_State_Pragma): Removed.
(Set_Contract): Package and
package bodies now have a contract.
(Set_Finalizer): Update the
assertion and node usage.
(Set_Refined_State_Pragma): Removed.
(Write_Field8_Name): Remove the output for Refined_State_Pragma.
(Write_Field24_Name): Remove the output for Finalizer. Package
and package bodies now have a contract.
(Write_Field28_Name):
Add output for Finalizer.
* einfo.ads: Update the documentation and usage in entities
of attribute Contract. Update the node position and usage in
entities of attribute Finalizer. Remove the documentation
and usage in entities for attribute Refined_State_Pragma.
(Refined_State_Pragma): Removed along with pragma Inline.
(Set_Refined_State_Pragma): Removed along with pragma Inline.
* par-prag.adb: Add Initializes to the pragmas that do not
require special processing by the parser.
* sem_ch3.adb (Analyze_Declarations): Add local variable
Prag. Update the retrieval of pragma Refined_State. Analyze
aspect/pragma Initializes at the end of the visible declarations
of the related package.
* sem_ch6.adb (Analyze_Subprogram_Body_Contract):
Add local variables Ref_Depends and Ref_Global. Analyze
pragmas Refined_Global and Refined_Depends in that order.
(Analyze_Subprogram_Contract): Add local variables Depends and
Global. Analyze pragmas Global and Depends in that order.
* sem_ch7.adb (Analyze_Package_Body_Helper): Package
bodies now have a contract. Move the analysis of the aspect
specifications after the defining entity has been decorated.
(Analyze_Package_Declaration): Packages now have a contract. Move
the analysis of the aspect specifications after the defining
entity has been decorated.
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Packages
now have contracts.
* sem_ch13.adb (Analyze_Pragma): Code cleanup for aspect
Abstract_State. Add processing for aspect Initializes.
(Check_Aspect_At_Freeze_Point): Add an entry for Initializes.
* sem_prag.adb: Use Get_Pragma_Arg to extract the expression
of a pragma argument. Add an entry in table Sig_Flags for
Initializes.
(Analyze_Initializes_In_Decl_Part): New routine.
(Analyze_Pragma): Check the declaration order of pragmas
Abstract_State and Initializes. Abstract_State is now part of
the package contract. Analyze pragma Initializes. Check for
duplicate Refined_State pragma. Refined_State is now part of
the package contract.
(Check_Declaration_Order): New routine.
(Check_Test_Case): Alphabetized.
* sem_prag.ads (Analyze_Initializes_In_Decl_Part): New routine.
* sem_util.adb (Add_Contract_Item): Rename formal Subp_Id
to Id. This routine can now support contracts on packages and
package bodies.
* sem_util.ads (Add_Contract_Item): Rename formal Subp_Id to
Id. Update comment on usage.
* sinfo.ads: Update the usage of N_Contract nodes.
* snames.ads-tmpl: Add predefined name Initializes. Add new
pragma id for Initializes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203522 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Oct 2013 12:06:38 +0000 (12:06 +0000)]
2013-10-14  Richard Biener  <rguenther@suse.de>

* gimple.c (gimple_canonical_types, canonical_type_hash_cache,
iterative_hash_canonical_type, gimple_canonical_type_hash,
gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
gimple_register_canonical_type, print_gimple_types_stats,
free_gimple_type_tables): Move to lto/lto.c
(gt-gimple.h): Do not include.
* gimple.h (gimple_register_canonical_type,
print_gimple_types_stats, free_gimple_type_tables): Remove.
* Makefile.in (GTFILES): Remove gimple.c.

lto/
* lto-lang.c (lto_init): Do not re-init canonical types here.
(lto_register_canonical_types): Move to ...
* lto.c (lto_register_canonical_types): ... here.
(gimple_canonical_types, canonical_type_hash_cache,
iterative_hash_canonical_type, gimple_canonical_type_hash,
gimple_canonical_types_compatible_p, gimple_canonical_type_eq,
gimple_register_canonical_type): Add canonical type merging machinery
moved from gimple.c.
(read_cgraph_and_symbols): Init and free canonical type tables
here.
(print_lto_report_1): Report canonical type table stats here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203521 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/58716
nickc [Mon, 14 Oct 2013 11:24:17 +0000 (11:24 +0000)]
PR target/58716
* config/msp430/msp430.c (msp430_option_override): Correct thinko
scanning for msp430x targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203520 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR bootstrap/58509
ebotcazou [Mon, 14 Oct 2013 10:13:12 +0000 (10:13 +0000)]
PR bootstrap/58509
* config/sparc/sparc-protos.h (widen_mem_for_ldd_peep): Declare.
(registers_ok_for_ldd_peep): Move around.
* config/sparc/sparc.c (widen_mem_for_ldd_peep): New.
* config/sparc/sparc.md (widening peepholes): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203518 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Oct 2013 09:24:36 +0000 (09:24 +0000)]
2013-10-14  Richard Biener  <rguenther@suse.de>

PR middle-end/58712
PR middle-end/55358
* gimple.c (iterative_hash_canonical_type): Make sure to
record the hash into the correct hashtable slot.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203517 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-14 Richard Biener <rguenther@suse.de>
rguenth [Mon, 14 Oct 2013 09:17:20 +0000 (09:17 +0000)]
2013-10-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58640
* gcc.c-torture/execute/pr58640-2.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203516 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * env.c (parse_bind_var): Initialize value to avoid
jakub [Mon, 14 Oct 2013 08:26:18 +0000 (08:26 +0000)]
* env.c (parse_bind_var): Initialize value to avoid
(false positive) warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203514 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Mon, 14 Oct 2013 00:16:25 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203511 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/Make-lang.in (ada/%.o): Replace individual rules with
ebotcazou [Sun, 13 Oct 2013 20:27:26 +0000 (20:27 +0000)]
* gcc-interface/Make-lang.in (ada/%.o): Replace individual rules with
generic rule and add $(POSTCOMPILE).
(ADA_DEPS): New.
(.adb.o): Add @$(ADA_DEPS).
(.ads.o): Likewise.
(ada/a-except.o): Likewise.
(ada/s-excdeb.): Likewise.
(ada/s-assert.o): Likewise.
(ada/a-tags.o): Likewise.
(ada_generated_files): New variable.
Use them as dependency order for GNAT1_ADA_OBJS and GNATBIND_OBJS.
(ADA_DEPFILES): New variable.
Include them.
(ada_OBJS): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203508 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local
ebotcazou [Sun, 13 Oct 2013 17:20:58 +0000 (17:20 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local
variables with aggregate types in memory if not optimizing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203507 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-13 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Sun, 13 Oct 2013 16:37:01 +0000 (16:37 +0000)]
2013-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Mode): Do
not emit an error when we are looking at inputs and
the item is an unconstrained or tagged out parameter.
(Check_Mode_Restriction_In_Enclosing_Context): Use Get_Pragma
to find whether the context is subject to aspect/pragma Global.
(Collect_Subprogram_Inputs_Outputs): Unconstrained or tagged
out parameters are now considered inputs. Use Get_Pragma to
find wheher the subprogram is subject to aspect/pragma Global.
(Is_Unconstrained_Or_Tagged_Item): New routine.

2013-10-13  Thomas Quinot  <quinot@adacore.com>

* einfo.ads: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203506 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-13 Robert Dewar <dewar@adacore.com>
charlet [Sun, 13 Oct 2013 16:34:01 +0000 (16:34 +0000)]
2013-10-13  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Add documentation for pragmas Pre[_Class]
Post[_Class].
* par-ch2.adb (Skip_Pragma_Semicolon): Handle extra semicolon nicely.
* par-prag.adb: Add entries for pragmas Pre[_Class] and
Post[_Class].
* sem_prag.adb: Add handling of pragmas Pre[_Class] and
Post[_Class].
* sem_util.adb (Original_Aspect_Name): Moved here from
Sem_Prag.Original_Name, and modified to handle pragmas
Pre/Post/Pre_Class/Post_Class.
* sem_util.ads (Original_Aspect_Name): Moved here from
Sem_Prag.Original_Name.
* snames.ads-tmpl: Add entries for pragmas Pre[_Class] and
Post[_Class].

2013-10-13  Robert Dewar  <dewar@adacore.com>

* einfo.adb, sem_ch6.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203505 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-13 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Sun, 13 Oct 2013 16:31:00 +0000 (16:31 +0000)]
2013-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Add node/list usage for Refined_State
and Refinement_Constituents.
(Get_Pragma): Update the
initialization of Is_CDG to include Refined_Global and
Refined_Depends. Rename constant Delayed to In_Contract and update
all of its occurrences.
(Is_Non_Volatile_State): New routine.
(Is_Volatile_State): Removed.
(Refined_State): New routine.
(Refinement_Constituents): New routine.
(Set_Refined_State): New routine.
(Set_Refinement_Constituents): New routine.
(Write_Field8_Name): Add output for Refinement_Constituents.
(Write_Field10_Name): Add output for Refined_State.
* einfo.ads: Add new synthesized attribute Is_Non_Volatile_State.
Remove synthesized attribute Is_Volatile_State.  Add new
attributes Refined_State and Refinement_Constituents along with
usage in nodes.
(Get_Pragma): Update the comment on usage.
(Is_Non_Volatile_State): New routine.
(Is_Volatile_State): Removed.
(Refined_State): New routine and pragma Inline.
(Refinement_Constituents): New routine and pragma Inline.
(Set_Refined_State): New routine and pragma Inline.
(Set_Refinement_Constituents): New routine and pragma Inline.
* elists.ads, elists.adb (Clone): Removed.
(New_Copy_Elist): New routine.
(Remove): New routine.
* sem_ch3.adb (Analyze_Declarations): Use Defining_Entity
to get the entity of the subprogram [body].
(Analyze_Object_Declaration): Add initialization for
Refined_State.
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
for Refined_Global and Refined_Depends. Emit an error when
the body requires Refined_Global, but the aspect/pragma is
not present.
* sem_ch6.ads (Analyze_Subprogram_Body_Contract): Change
procedure signature and add comment on usage.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
for aspect Refined_Global.
* sem_prag.adb (Analyze_Abstract_State): Add initialization
of attributes Refined_State and Refinement_Constituents.
(Analyze_Depends_In_Decl_Part, Analyze_Global_In_Decl_Part,
Analyze_Contract_Cases_In_Decl_Part): Remove local
constant Arg1.
(Analyze_Pragma): Add processing for pragma
Refined_Global. The analysis of Refined_Post and Refined_Pre
has been merged. Update an error message in the processing of
pragma Refined_State.
(Analyze_Refined_Global_In_Decl_Part): Provide implementation.
(Analyze_Refined_Pragma): New routine.
(Analyze_Refined_Pre_Post_Condition): Removed.
(Analyze_Refined_State_In_Decl_Part): Update the call to Clone.
(Analyze_Refinement_Clause): Make State_Id visible to all
nested subprogram.
(Check_Matching_Constituent): Establish
a relation between a refined state and its constituent.
(Collect_Hidden_States_In_Decls): Remove ??? comment. Look at
the entity of the object declaration to establish its kind.
* sem_util.adb: Alphabetize with and use clauses.
(Contains_Refined_State): New routine.
* sem_util.ads (Contains_Refined_State): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203504 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-13 Thomas Quinot <quinot@adacore.com>
charlet [Sun, 13 Oct 2013 16:21:32 +0000 (16:21 +0000)]
2013-10-13  Thomas Quinot  <quinot@adacore.com>

* scos.ads: Minor documentation clarification.

2013-10-13  Thomas Quinot  <quinot@adacore.com>

* s-oscons-tmplt.c (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC when
building on AIX 5.3 or later, and to CLOCK_REALTIME on older
versions of AIX.
* init.c (pthread_condattr_setclock): Remove now useless weak symbol.
* thread.c(__gnat_pthread_condattr_setup): Remove bogus AIX 5.2
compatibility shim.
* s-osinte-aix.ads(clock_id_t): Fix C mapping (this is a 64-bit
type).
(clock_gettime): Import from C runtime library.
* s-osinte-aix.adb (clock_gettime): Remove bogus emulation body,
this routine is provided by the system in current supported
versions of AIX.

2013-10-13  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb: Minor reformatting.

2013-10-13  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Entity): For a function whose return type
is incomplete, do not replace the type with the full view if the
type is a limited view.  In that case the full view appears in a
different unit, and the back-end will retrieve it at the proper
elaboration point.

2013-10-13  Yannick Moy  <moy@adacore.com>

* exp_spark.adb (Expand_SPARK_Call): Do not introduce temporaries for
actuals.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203503 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-13 Ed Schonberg <schonberg@adacore.com>
charlet [Sun, 13 Oct 2013 16:17:09 +0000 (16:17 +0000)]
2013-10-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb: in Ada 2012 access_to_function types can have
in-out parameters.
(Derived_Type_Declaration): SPARK restriction
must be flagged on the original node, since it may have been
written as a subtype declaration.
(Analyze_Subtype_Declaration): Do not enter name of
entity in declaration if it is the current entity, because it may
have been inserted in a previous analysis and it appears in the
else_part of an if-statement that is rewritten during expansion.

2013-10-13  Yannick Moy  <moy@adacore.com>

* exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove procedure.
(Expand_SPARK): Remove call to Expand_SPARK_N_Attribute_Reference and
Expand_SPARK_N_Simple_Return_Statement.
(Expand_SPARK_N_Simple_Return_Statement,
  Expand_SPARK_Simple_Function_Return): Remove procedures.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203502 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-13 Vincent Celier <celier@adacore.com>
charlet [Sun, 13 Oct 2013 16:14:16 +0000 (16:14 +0000)]
2013-10-13  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Minor editing.

2013-10-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Abstract_Overriding): If a synchronized
operation implements an interface primitive, mark the operation
as referenced, to prevent usually spurious messages about unused
entities: such operations are called in dispatching select
statements that are not visible to the compiler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203501 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment.
ebotcazou [Sun, 13 Oct 2013 14:58:43 +0000 (14:58 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_param): Remove obsolete comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203499 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR rtl-optimization/58662
ebotcazou [Sun, 13 Oct 2013 13:29:28 +0000 (13:29 +0000)]
PR rtl-optimization/58662
* combine.c (try_combine): Take into account death nodes on I2 when
splitting a PARALLEL of two independent SETs.  Fix dump message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203498 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Fix handling of imported struct with embedded builtin type.
ian [Sun, 13 Oct 2013 04:15:20 +0000 (04:15 +0000)]
compiler: Fix handling of imported struct with embedded builtin type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203496 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sun, 13 Oct 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203495 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/51244
olegendo [Sat, 12 Oct 2013 20:47:22 +0000 (20:47 +0000)]
PR target/51244
* config/sh/sh_treg_combine.cc: New SH specific RTL pass.
* config.gcc (SH extra_objs): Add sh_ifcvt.o.
* config/sh/t-sh (sh_treg_combine.o): New entry.
* config/sh/sh.c (sh_fixed_condition_code_regs): New function that
implements the target hook TARGET_FIXED_CONDITION_CODE_REGS.
(register_sh_passes): New function.  Register sh_treg_combine pass.
(sh_option_override): Invoke it.
(sh_canonicalize_comparison): Handle op0_preserve_value.
* sh.md (*cbranch_t"): Do not try to optimize missed test and branch
opportunities.  Canonicalize branch condition.
(nott): Allow only if pseudos can be created for non-SH2A.

PR target/51244
* gcc.dg/torture/p51244-21.c: New.
* gcc.target/sh/pr51244-20.c: New.
* gcc.target/sh/pr51244-20-sh2a.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203492 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSlightly related to PR/58645:
charlet [Sat, 12 Oct 2013 18:40:25 +0000 (18:40 +0000)]
Slightly related to PR/58645:
* gnat.dg/specs/linker_section.ads: Update test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203490 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ChangeLog: Fix whitespace.
uros [Sat, 12 Oct 2013 16:17:24 +0000 (16:17 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203489 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoTruncate x32 DImode TLS address to a SImode register
hjl [Sat, 12 Oct 2013 14:55:28 +0000 (14:55 +0000)]
Truncate x32 DImode TLS address to a SImode register

gcc/

PR target/58690
* config/i386/i386.c (ix86_copy_addr_to_reg): New function.
(ix86_expand_movmem): Replace copy_addr_to_reg with
ix86_copy_addr_to_reg.
(ix86_expand_setmem): Likewise.

gcc/testsuite/

PR target/58690
* gcc.target/i386/pr58690.c: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203486 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.c (ix86_expand_sse_compare_and_jump): Use mode
amonakov [Sat, 12 Oct 2013 12:48:23 +0000 (12:48 +0000)]
* config/i386/i386.c (ix86_expand_sse_compare_and_jump): Use mode
provided by ix86_fp_compare_mode instead of CCFPUmode.

testsuite/:
* gcc.target/i386/builtin-ucmp.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203483 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libgomp/58691
jakub [Sat, 12 Oct 2013 07:52:15 +0000 (07:52 +0000)]
PR libgomp/58691
* config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
to check variable.
(gomp_init_num_threads): Move i variable declaration into
#ifdef CPU_ALLOC_SIZE block.
* config/linux/affinity.c (gomp_affinity_init_level): Test
gomp_places_list_len == 0 rather than gomp_places_list == 0
when checking for topology reading error.
* team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
* env.c (parse_affinity): Add ignore argument, if true, don't populate
gomp_places_list, only parse env var and always return false.
(parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
(initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
and either of these variables were parsed correctly into a places
list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203479 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64] Fix early-clobber operands to vtbx[1,3]
jgreenhalgh [Sat, 12 Oct 2013 07:49:47 +0000 (07:49 +0000)]
[AArch64] Fix early-clobber operands to vtbx[1,3]

gcc/
* config/aarch64/arm_neon.h
(vtbx<1,3>_<psu>8): Fix register constriants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203478 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-11 Paul Pluzhnikov <ppluzhnikov@google.com>
ppluzhnikov [Sat, 12 Oct 2013 00:31:18 +0000 (00:31 +0000)]
2013-10-11  Paul Pluzhnikov  <ppluzhnikov@google.com>

* cp-demangle.c (d_name): Demangle local-source-names.
* testsuite/demangle-expected: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203476 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sat, 12 Oct 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203475 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* g++.dg/ext/altivec-7.C: Check for standard vector-type name
brooks [Fri, 11 Oct 2013 23:23:08 +0000 (23:23 +0000)]
* g++.dg/ext/altivec-7.C: Check for standard vector-type name
  mangling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203469 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Fix handling of hidden methods for unnamed types.
ian [Fri, 11 Oct 2013 22:53:17 +0000 (22:53 +0000)]
compiler: Fix handling of hidden methods for unnamed types.

If an interface has hidden methods, we must make the interface
table comdat if it is for an unnamed type.

When we create a stub method for an unnamed type, don't make
it publically visible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203468 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Use backend interface for function code expressions.
ian [Fri, 11 Oct 2013 22:17:47 +0000 (22:17 +0000)]
compiler: Use backend interface for function code expressions.

* go-gcc.cc (Gcc_backend::function_code_expression): New
function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203467 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/58640
law [Fri, 11 Oct 2013 20:31:25 +0000 (20:31 +0000)]
PR tree-optimization/58640
* tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump threading
paths that cross over two loop entry points.

* gcc.c-torture/execute/pr58640.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203463 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 11 Oct 2013 18:53:52 +0000 (18:53 +0000)]
2013-10-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vsx.md (*vsx_le_perm_load_v2di): Generalize to
handle vector float as well.
(*vsx_le_perm_load_v4si): Likewise.
(*vsx_le_perm_store_v2di): Likewise.
(*vsx_le_perm_store_v4si): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203458 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 11 Oct 2013 18:52:07 +0000 (18:52 +0000)]
2013-10-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vector.md (vec_realign_load<mode>): Generate vperm
directly to circumvent subtract from splat{31} workaround.
* config/rs6000/rs6000-protos.h (altivec_expand_vec_perm_le): New
prototype.
* config/rs6000/rs6000.c (altivec_expand_vec_perm_le): New.
* config/rs6000/altivec.md (define_c_enum "unspec"): Add
UNSPEC_VPERM_X and UNSPEC_VPERM_UNS_X.
(altivec_vperm_<mode>): Convert to define_insn_and_split to
separate big and little endian logic.
(*altivec_vperm_<mode>_internal): New define_insn.
(altivec_vperm_<mode>_uns): Convert to define_insn_and_split to
separate big and little endian logic.
(*altivec_vperm_<mode>_uns_internal): New define_insn.
(vec_permv16qi): Add little endian logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203457 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUpdate x32 baseline_symbols.txt
hjl [Fri, 11 Oct 2013 18:46:22 +0000 (18:46 +0000)]
Update x32 baseline_symbols.txt

* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203456 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Error if receiver and parameter have same name.
ian [Fri, 11 Oct 2013 18:28:04 +0000 (18:28 +0000)]
compiler: Error if receiver and parameter have same name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203455 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Better error message of unsafe.Offsetof(method value).
ian [Fri, 11 Oct 2013 18:10:03 +0000 (18:10 +0000)]
compiler: Better error message of unsafe.Offsetof(method value).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203454 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: accept integral float constants as string indices.
ian [Fri, 11 Oct 2013 17:45:29 +0000 (17:45 +0000)]
compiler: accept integral float constants as string indices.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203452 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-11 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 11 Oct 2013 17:37:44 +0000 (17:37 +0000)]
2013-10-11  Marc Glisse  <marc.glisse@inria.fr>

* doc/extend.texi (returns_nonnull): Remove arguments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203451 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Improve handling of invalid ASCII characters in identifiers.
ian [Fri, 11 Oct 2013 17:04:42 +0000 (17:04 +0000)]
compiler: Improve handling of invalid ASCII characters in identifiers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203450 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Fri, 11 Oct 2013 14:35:23 +0000 (14:35 +0000)]
/cp
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58633
* parser.c (cp_parser_commit_to_topmost_tentative_parse): New.
(cp_parser_pseudo_destructor_name): Use it.

/testsuite
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58633
* g++.dg/cpp0x/decltype57.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203448 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * c-common.h (omp_clause_mask::operator !=): New method.
jakub [Fri, 11 Oct 2013 14:34:18 +0000 (14:34 +0000)]
* c-common.h (omp_clause_mask::operator !=): New method.
* c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
instead of if (mask & something) tests everywhere.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203447 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Fri, 11 Oct 2013 14:18:42 +0000 (14:18 +0000)]
/cp
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31671
* pt.c (convert_nontype_argument): Set expr_type to
TREE_TYPE (probe_type).

/testsuite
2013-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31671
* g++.dg/template/nontype26.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203444 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (VI48F_256_512): New.
kyukhin [Fri, 11 Oct 2013 14:05:40 +0000 (14:05 +0000)]
    * config/i386/sse.md (VI48F_256_512): New.
        (avx2_permvar<mode>): Change to ...
        (<avx2_avx512f>_permvar<mode>): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203442 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.c (bdesc_args): Change corresponding pattern for
kyukhin [Fri, 11 Oct 2013 14:03:53 +0000 (14:03 +0000)]
    * config/i386/i386.c (bdesc_args): Change corresponding pattern  for
        __builtin_ia32_cvtps2dq, __builtin_ia32_cvtps2dq256.
        * config/i386/sse.md (VI4_AVX): New.
        (sf2simodelower): Ditto.
        (sse2_cvtps2dq): Change to ...
        (<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode>): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203441 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (V_512): New.
kyukhin [Fri, 11 Oct 2013 14:02:07 +0000 (14:02 +0000)]
    * config/i386/sse.md (V_512): New.
        (VI_512): Ditto.
        (vcond<V_512:mode><VF_512:mode>): Ditto.
        (vcond<V_512:mode><VI_512:mode>): Ditto.
        (vcondu<V_512:mode><VI_512:mode>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203440 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.c (ix86_rtx_costs): Enable fma for TARGET_AVX512F.
kyukhin [Fri, 11 Oct 2013 14:00:11 +0000 (14:00 +0000)]
    * config/i386/i386.c (ix86_rtx_costs): Enable fma for TARGET_AVX512F.
        * config/i386/sse.md (FMAMODEM): Changed modes and conditions.
        (FMAMODE): Ditto.
        (fma<mode>4): Removed condition.
        (fms<mode>4): Ditto.
        (fnma<mode>4): Ditto.
        (fnms<mode>4): Ditto.
        (fma4i_fmadd_<mode>): Ditto.
        (*fma_fmadd_<mode>): Ditto.
        (*fma_fmsub_<mode>): Ditto.
        (*fma_fnmadd_<mode>): Ditto.
        (*fma_fnmsub_<mode>): Ditto.
        (fmaddsub_<mode>): Allow for TARGET_AVX512F.
        (*fma_fmaddsub_<mode>): Ditto.
        (*fma_fmsubadd_<mode>): Ditto.
        (*fmai_fmadd_<mode>): Ditto.
        (*fmai_fmsub_<mode>): Ditto.
        (*fmai_fnmadd_<mode>): Ditto.
        (*fmai_fnmsub_<mode>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203439 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (VI248_AVX2_8_AVX512F): New.
kyukhin [Fri, 11 Oct 2013 13:55:10 +0000 (13:55 +0000)]
    * config/i386/sse.md (VI248_AVX2_8_AVX512F): New.
        (VI124_256): Changed to ...
        (VI124_256_48_512): This.
        (ssepackmode): Extended with wider modes.
        (<code><mode>3): Changed iterator.
        (*avx2_<code><mode>3): Ditto.
        (vec_pack_trunc_<mode>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203437 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (VI124_AVX2_48_AVX512F): New.
kyukhin [Fri, 11 Oct 2013 13:53:01 +0000 (13:53 +0000)]
    * config/i386/sse.md (VI124_AVX2_48_AVX512F): New.
        (VI8F_256_512): Ditto.
        (abs<mode>2): Changed iterator.
        (avx2_perm<mode>): Changed to ...
        (<avx2_avx512f>_perm<mode>): This.
        (avx2_perm<mode>_1): Changed to ...
        (<avx2_avx512f>_perm<mode>_1): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203436 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (VI48_AVX512F): New.
kyukhin [Fri, 11 Oct 2013 13:50:18 +0000 (13:50 +0000)]
    * config/i386/sse.md (VI48_AVX512F): New.
        (VI48_AVX2): Changed to ...
        (VI48_AVX2_48_AVX512F): This.
        (avx2_ashrv<mode>): Changed to ...
        (<avx2_avx512f>_ashrv<mode>): This.
        (avx2_<shift_insn>v<mode>): Changed to ...
        (<avx2_avx512f>_<shift_insn>v<mode>): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203435 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (VI4_AVX512F): New.
kyukhin [Fri, 11 Oct 2013 13:45:55 +0000 (13:45 +0000)]
    * config/i386/sse.md (VI4_AVX512F): New.
        (VI8_AVX2_AVX512F): Ditto.
        (mul<mode>3): Extended with wider modes.
        (*<sse4_1_avx2>_mul<mode>3): Ditto.
        (mul<mode>3): Ditto.
        (vec_widen_<s>mult_odd_<mode>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203434 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (VI2_AVX512F): New.
kyukhin [Fri, 11 Oct 2013 13:42:10 +0000 (13:42 +0000)]
    * config/i386/sse.md (VI2_AVX512F): New.
        (VI124_AVX512F): Ditto.
        (sseunpackmode): Extended with wider modes.
        (sseunpackfltmode): Ditto.
        (vec_unpacks_float_hi_<mode>): Ditto.
        (vec_unpacks_float_lo_<mode>): Ditto.
        (vec_unpacku_float_hi_<mode>): Ditto.
        (vec_unpacku_float_lo_<mode>): Ditto.
        (vec_unpacks_lo_<mode>): Ditto.
        (vec_unpacks_hi_<mode>): Ditto.
        (vec_unpacku_lo_<mode>): Ditto.
        (vec_unpacku_hi_<mode>): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203433 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (multdiv): New.
kyukhin [Fri, 11 Oct 2013 13:38:15 +0000 (13:38 +0000)]
    * config/i386/i386.md (multdiv): New.
        (multdiv_mnemonic): Ditto.
        * config/i386/sse.md (<sse>_vmmul<mode>3): Changed to...
        (<sse>_vm<multdiv_mnemonic><mode>3): This.
        (<sse>_vmdiv<mode>3): Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203432 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (V): Extended with wider modes.
kyukhin [Fri, 11 Oct 2013 13:35:00 +0000 (13:35 +0000)]
   * config/i386/sse.md (V): Extended with wider modes.
        (VF2): Ditto.
        (ssehalfvecmode): Ditto.
        (i128): Ditto.
        (ssepackfltmode): Ditto.
        (avx_vec_concat<mode>): Ditto.
        (V_256_512): New iterator.
        (VF2_512_256): Ditto.
        (si2dfmode): New attribute.
        (si2dfmodelower): Ditto.
        (sf2dfmode): Ditto.
        (concat_tg_mode): Ditto.
        (floatv4siv4df2): Changed to ...
        (float<si2dfmodelower><mode>2): This.
        (avx_cvtps2pd256): Changed to ...
        (<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix>): This.
        (vec_pack_trunc_v4df): Changed to ...
        (vec_pack_trunc_<mode>): This.
        (avx_vpermil<mode>): Changed to ...
        (<sse2_avx_avx512f>_vpermil<mode>): This.
        (<fixsuffix>fix_truncv8dfv8si2): New.
        (vec_pack_sfix_trunc_v8df): Ditto.
        (avx512f_rndscale<mode>): Ditto.
        (avx512f_roundpd512): Ditto.
        (vec_pack_ufix_trunc_<mode>): Updated iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203431 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.md (any_fix): New iterator.
kyukhin [Fri, 11 Oct 2013 13:00:40 +0000 (13:00 +0000)]
    * config/i386/i386.md (any_fix): New iterator.
        (fixsuffix): New attribute.
        * config/i386/sse.md (VF1): Extened with wider modes.
        (VI): Ditto.
        (VI_AVX2): Ditto.
        (VI8): Ditto.
        (sseintvecmodelower): Ditto.
        (ssescalarmode): Ditto.
        (ssescalarnum): Ditto.
        (VF1_128_256): New.
        (ssexmmmode): Ditto.
        (<fixsuffix>fix_truncv16sfv16si2): Ditto.
        (<sse>_rcp<mode>2): Change iterator.
        (rsqrt<mode>2): Ditto.
        (<sse>_rsqrt<mode>2): Ditto.
        (avx2_vec_dup<mode>): Ditto.
        (<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
        (round<mode>2_sfix): Ditto.
        (avx2_pbroadcast<mode>): Ditto.
        (*andnot<mode>3): Handle XI mode.
        (*<code><mode>3): Ditto.
        (AVXTOSSEMODE): Removed.
        (avx_vpermil<mode>): Changed to ...
        (<sse2_avx_avx512f>_vpermil<mode>): This.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203429 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/sse.md (<sse2>_movnt<mode>): Update constraint to "v".
kyukhin [Fri, 11 Oct 2013 12:53:24 +0000 (12:53 +0000)]
    * config/i386/sse.md (<sse2>_movnt<mode>): Update constraint to "v".
        (<sse>_comi): Ditto.
        (<sse>_ucomi): Ditto.
        (sse_cvtss2siq_2): Ditto.
        (sse2_cvtsd2si): Ditto.
        (sse2_cvtsd2siq): Ditto.
        (sse2_cvttsd2si): Ditto.
        (sse2_cvttsd2siq): Ditto.
        (<shift_insn><mode>3): Ditto.
        (sse2_cvtsi2sdq): Update constraint and prefix.
        (sse_cvtsi2ss): Update prefix.
        (sse_cvtsi2ssq): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203428 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-vrp.c (infer_nonnull_range): Use is_gimple_call,
jakub [Fri, 11 Oct 2013 12:45:41 +0000 (12:45 +0000)]
* tree-vrp.c (infer_nonnull_range): Use is_gimple_call,
ignore internal calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203427 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-10-11 Richard Biener <rguenther@suse.de>
rguenth [Fri, 11 Oct 2013 11:28:49 +0000 (11:28 +0000)]
2013-10-11  Richard Biener  <rguenther@suse.de>

* tree-pretty-print.c (dump_generic_node): Allow to dump
both (D) and (ab) for SSA_NAMEs.  Mark INTEGER_CSTs with
(OVF) if TREE_OVERFLOW is set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203426 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdding missing dg-require-atomic-builtins to libstdc++ test case.
mshawcroft [Fri, 11 Oct 2013 11:15:01 +0000 (11:15 +0000)]
Adding missing dg-require-atomic-builtins to libstdc++ test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203425 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgomp/
tschwinge [Fri, 11 Oct 2013 10:43:59 +0000 (10:43 +0000)]
libgomp/
* testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
of 5 loopfn matches.
* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.

As changed in gomp-4_0-branch, r203282.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203424 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgomp/
tschwinge [Fri, 11 Oct 2013 10:43:48 +0000 (10:43 +0000)]
libgomp/
* Makefile.am (omp_lib.mod): Streamline rule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203423 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocontrib/
tschwinge [Fri, 11 Oct 2013 10:43:36 +0000 (10:43 +0000)]
contrib/
* gcc_update (files_and_dependencies): Fix rule for
libgomp/testsuite/Makefile.in.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203422 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgomp/
tschwinge [Fri, 11 Oct 2013 10:43:26 +0000 (10:43 +0000)]
libgomp/
* libgomp.texi (Runtime Library Routines): C linkage, don't throw
exceptions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203421 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgomp/
tschwinge [Fri, 11 Oct 2013 10:43:15 +0000 (10:43 +0000)]
libgomp/
* testsuite/libgomp.c/lib-1.c (main): Add missing error check.
* testsuite/libgomp.fortran/lib1.f90: Likewise.
* testsuite/libgomp.fortran/lib2.f: Likewise.
* testsuite/libgomp.fortran/lib3.f: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203420 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
tschwinge [Fri, 11 Oct 2013 10:43:04 +0000 (10:43 +0000)]
gcc/
* tree.h (OMP_CLAUSE_CODE): Remove duplicate definition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203419 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgomp/
tschwinge [Fri, 11 Oct 2013 10:42:53 +0000 (10:42 +0000)]
libgomp/
* configure.ac: Typo fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203418 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago_OPENMP pre-processor checks, openmp_version Fortran instrinsic checks.
tschwinge [Fri, 11 Oct 2013 10:42:42 +0000 (10:42 +0000)]
_OPENMP pre-processor checks, openmp_version Fortran instrinsic checks.

gcc/testsuite/
* c-c++-common/cpp/openmp-define-1.c: New file.
* c-c++-common/cpp/openmp-define-2.c: Likewise.
* c-c++-common/cpp/openmp-define-3.c: Likewise.
* gfortran.dg/openmp-define-1.f90: Likewise.
* gfortran.dg/openmp-define-2.f90: Likewise.
* gfortran.dg/openmp-define-3.f90: Likewise.
libgomp/
* testsuite/libgomp.fortran/openmp_version-1.f: New file.
* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203417 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/testsuite/
tschwinge [Fri, 11 Oct 2013 10:42:29 +0000 (10:42 +0000)]
gcc/testsuite/
* g++.dg/gomp/gomp.exp: Recurse into subdirectories when looking
for test source files.
* gcc.dg/gomp/gomp.exp: Likewise.
* gcc.dg/gomp/appendix-a/a.35.1.c: Expect error.
* gcc.dg/gomp/appendix-a/a.35.3.c: Likewise.
* gcc.dg/gomp/appendix-a/a.35.4.c: Likewise.
* gcc.dg/gomp/appendix-a/a.35.5.c: Likewise.
* gcc.dg/gomp/appendix-a/a.35.6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203416 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
tschwinge [Fri, 11 Oct 2013 10:42:17 +0000 (10:42 +0000)]
gcc/
* gimple.c: GIMPLE statements have subcodes, not sub-codes.
* gimple.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203415 138bc75d-0d04-0410-961f-82ee72b054a4