- 14 Oct, 2013 23 commits
-
-
cstand.adb (Create_Standard): Change Import_Code component of Standard_Exception_Type to Foreign_Data. 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. From-SVN: r203538
Tristan Gingold committed -
* gcc.dg/torture/pr58670.c (ASM_STR) [__i386__ || __x86_64__]: Use btsl. From-SVN: r203537
Rainer Orth committed -
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. From-SVN: r203536
Robert Dewar committed -
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. From-SVN: r203534
Arnaud Charlet committed -
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. From-SVN: r203533
Richard Biener committed -
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. From-SVN: r203532
Arnaud Charlet committed -
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. From-SVN: r203531
Arnaud Charlet committed -
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. From-SVN: r203530
Arnaud Charlet committed -
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. From-SVN: r203529
Vincent Celier committed -
exp_attr.adb (Expand_N_Attribute_Reference): Add error entry for Library_Level attribute (which should not survive to expansion) 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. From-SVN: r203528
Robert Dewar committed -
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. From-SVN: r203527
Robert Dewar committed -
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. From-SVN: r203526
Arnaud Charlet committed -
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. From-SVN: r203525
Hristian Kirtchev committed -
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 From-SVN: r203524
Arnaud Charlet committed -
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. From-SVN: r203523
Arnaud Charlet committed -
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. From-SVN: r203522
Hristian Kirtchev committed -
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. From-SVN: r203521
Richard Biener committed -
PR target/58716 * config/msp430/msp430.c (msp430_option_override): Correct thinko scanning for msp430x targets. From-SVN: r203520
Travis Snoozy committed -
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. From-SVN: r203518
Eric Botcazou committed -
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. From-SVN: r203517
Richard Biener committed -
2013-10-14 Richard Biener <rguenther@suse.de> PR tree-optimization/58640 * gcc.c-torture/execute/pr58640-2.c: New testcase. From-SVN: r203516
Richard Biener committed -
* env.c (parse_bind_var): Initialize value to avoid (false positive) warning. From-SVN: r203514
Jakub Jelinek committed -
From-SVN: r203511
GCC Administrator committed
-
- 13 Oct, 2013 12 commits
-
-
* 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. Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com> From-SVN: r203508
Nicolas Roche committed -
decl.c (gnat_to_gnu_entity): Force all local variables with aggregate types in memory if not optimizing. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force all local variables with aggregate types in memory if not optimizing. From-SVN: r203507
Eric Botcazou committed -
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. From-SVN: r203506
Arnaud Charlet committed -
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. From-SVN: r203505
Robert Dewar committed -
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. From-SVN: r203504
Hristian Kirtchev committed -
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. From-SVN: r203503
Arnaud Charlet committed -
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. From-SVN: r203502
Arnaud Charlet committed -
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. From-SVN: r203501
Arnaud Charlet committed -
From-SVN: r203499
Eric Botcazou committed -
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. From-SVN: r203498
Eric Botcazou committed -
From-SVN: r203496
Ian Lance Taylor committed -
From-SVN: r203495
GCC Administrator committed
-
- 12 Oct, 2013 5 commits
-
-
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. From-SVN: r203492
Oleg Endo committed -
* gnat.dg/specs/linker_section.ads: Update test. From-SVN: r203490
Arnaud Charlet committed -
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r203489
Uros Bizjak committed -
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 From-SVN: r203486
H.J. Lu committed -
i386.c (ix86_expand_sse_compare_and_jump): Use mode provided by ix86_fp_compare_mode instead of CCFPUmode. * 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. From-SVN: r203483
Alexander Monakov committed
-