summaryrefslogtreecommitdiffstats
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
...
* 2012-07-12 Robert Dewar <dewar@adacore.com>charlet2012-07-127-206/+424
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_disp.adb: Minor reformatting * s-bytswa.ads: Minor comment update. 2012-07-12 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N replaced by Lock_Free_Try_Write_N. Renaming of several local variables. For procedure, Expected_Comp declaration moved to the declaration list of the procedure. * rtsfind.ads: RE_Atomic_Compare_Exchange_8, RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32, RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8, RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8, RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64, RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16, RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added. * s-atopri.adb: New file. * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of parameters. Import primitive __sync_val_compare_and_swap_1. (Atomic_Compare_Exchange_16): Renaming of parameters. Import primitive __sync_val_compare_and_swap_2. (Atomic_Compare_Exchange_32): Renaming of parameters. Import primitive __sync_val_compare_and_swap_4. (Atomic_Compare_Exchange_64): Renaming of parameters. Import primitive __sync_val_compare_and_swap_8. (Atomic_Load_8): Ptr renames parameter X. (Atomic_Load_16): Ptr renames parameter X. (Atomic_Load_32): Ptr renames parameter X. (Atomic_Load_64): Ptr renames parameter X. (Lock_Free_Read_8): New routine. (Lock_Free_Read_16): New routine. (Lock_Free_Read_32): New routine. (Lock_Free_Read_64): New routine. (Lock_Free_Try_Write_8): New routine. (Lock_Free_Try_Write_16): New routine. (Lock_Free_Try_Write_32): New routine. (Lock_Free_Try_Write_64): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189437 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-12 Robert Dewar <dewar@adacore.com>charlet2012-07-1213-359/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor reformatting. 2012-07-12 Vincent Pucci <pucci@adacore.com> * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error msgs for elementary functions. 2012-07-12 Vincent Pucci <pucci@adacore.com> * sem_attr.adb (Eval_Attribute): Minor reformatting. 2012-07-12 Pascal Obry <obry@adacore.com> * prj-nmsc.adb (Check_Library_Attributes): Allow the same library project in different project tree (different aggregated projects). 2012-07-12 Thomas Quinot <quinot@adacore.com> * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further reorganization of byte swapping routines. 2012-07-12 Ed Schonberg <schonberg@adacore.com> * sem_disp.adb (Check_Dispatching_Context): Refine legality checks on tagg indeterminate calls to abstract operations, that appear in the context of other calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-12 Thomas Quinot <quinot@adacore.com>charlet2012-07-128-209/+336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-bytswa.adb (Swapped2.Bswap16): Remove local function, no longer needed. 2012-07-12 Javier Miranda <miranda@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): For attributes 'access, 'unchecked_access and 'unrestricted_access, iff the current instance reference is located in a protected subprogram or entry then rewrite the access attribute to be the name of the "_object" parameter. 2012-07-12 Tristan Gingold <gingold@adacore.com> * raise.h: Revert previous patch: structure is used in init.c by vms. 2012-07-12 Vincent Celier <celier@adacore.com> * make.adb (Binding_Phase): If --subdirs was used, but not -P, change the working directory to the specified subdirectory before invoking gnatbind. (Linking_Phase): If --subdirs was used, but not -P, change the working directory to the specified subdirectory before invoking gnatlink. 2012-07-12 Vincent Pucci <pucci@adacore.com> * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): For a procedure, instead of replacing each Comp reference by a reference to Current_Comp, make a renaming Comp of Current_Comp that rewrites the original renaming generated by the compiler during the analysis. Move the declarations of the procedure inside the generated block. (Process_Stmts): Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. (Process_Node): Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body. * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any non-elementary out parameters in protected procedures. 2012-07-12 Thomas Quinot <quinot@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Scalar_Storage_Order): Attribute applies to base type only. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189435 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-12 Ed Schonberg <schonberg@adacore.com>charlet2012-07-1211-287/+561
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_aggr.adb (Convert_To_Positional): Increase acceptable size of static aggregate when Static_Elaboration_Desired is requested. Add a warning if the request cannot be satisfied either because some components or some array bounds are non-static. 2012-07-12 Thomas Quinot <quinot@adacore.com> * exp_pakd.adb: Minor reformatting. 2012-07-12 Tristan Gingold <gingold@adacore.com> * tracebak.c: Fix warnings. * raise-gcc.c (__gnat_adjust_context): New function (__gnat_personality_seh0): Call __gnat_adjust_context to adjust PC in machine frame for exceptions that occur in the current function. 2012-07-12 Thomas Quinot <quinot@adacore.com> * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl: Move GNAT.Byte_Swapping to System (with a renaming under GNAT) so that it is usable in expanded code. 2012-07-12 Tristan Gingold <gingold@adacore.com> * s-osinte-hpux.ads: Increase alternate stack size on hpux. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189434 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-12 Javier Miranda <miranda@adacore.com>charlet2012-07-126-109/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch3.adb (Make_Neq_Body): Fix typo in comment. 2012-07-12 Eric Botcazou <ebotcazou@adacore.com> * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only if USE_LIBUNWIND_EXCEPTIONS is defined. * init.c: Further tweaks for IA-64/HP-UX. 2012-07-12 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments. (db_region_for): Second argument is ip. Do not recompute ip. (action_kind): Remove typedef, add unhandler enum const. (action_descriptor): Adjust type of kind field. (db_action_for): Second argument is ip, do not recompute it. (get_call_site_action_for): First argument is call_site, do not recompute it. Remove useless return. (is_handled_by): Now return enum action_kind. Handle GNAT_ALL_OTHERS first. Return unhandler for GNAT_UNHANDLED_OTHERS. (get_action_description_for): First argument is now ip, do not recompute it. Adjust code for call to is_handled_by. (__gnat_notify_unhandled_exception): Add prototype. (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls. Handle unhandler case. (__gnat_cleanupunwind_handler): Add comments, add ATTRIBUTE_UNUSED on arguments. (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define only once. * raise.h: Makes struct Exception_Data opaque. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189433 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-12 Robert Dewar <dewar@adacore.com>charlet2012-07-127-40/+273
| | | | | | | | | | | | | | | | | * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor reformatting. 2012-07-12 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Is_User_Defined_Equality): New subprogram. (Make_Neq_Body): New subprogram. (Make_Predefined_Primitive_Specs): Adding local variable Has_Predef_Eq_ Renaming to ensure that we enable the machinery which handles renamings of predefined primitive operators. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189432 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Pascal Obry <obry@adacore.com>charlet2012-07-093-9/+63
| | | | | | | | | | | | | | * prj.adb (For_Every_Project_Imported_Context): Make sure we callback with the project having sources. Minor reformatting. 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> * make.adb: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189385 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove duplicate entries.ebotcazou2012-07-091-3192/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189381 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Vincent Pucci <pucci@adacore.com>charlet2012-07-0912-45/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch9.adb (Check_Node): Allow attributes that denote static function for lock-free implementation. (Is_Static_Function): New routine. 2012-07-09 Tristan Gingold <gingold@adacore.com> * tracebak.c: Adjust skip_frames on Win64. 2012-07-09 Tristan Gingold <gingold@adacore.com> * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux. * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call _Unwind_GetGR on hpux when using libgcc unwinder. Part of 2012-07-09 Vincent Pucci <pucci@adacore.com> * exp_attr.adb, sem_attr.adb: Minor reformatting. * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting considering that internal attribute names are not defined anymore in the main attribute names list. * snames.adb-tmpl (Get_Attribute_Id): Special processinf for names CPU, Dispatching_Domain and Interrupt_Priority. (Is_Internal_Attribute_Name): Minor reformatting. * snames.ads-tmpl: New list of internal attribute names. Internal attributes moved at the end of the attribute Id list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189380 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Robert Dewar <dewar@adacore.com>charlet2012-07-0914-43/+72
| | | | | | | | | | | | | | | | | | | | * freeze.adb: Minor code reorganization (use Ekind_In). * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb, sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb, sem_ch13.adb, snames.ads-tmpl: Minor reformatting. 2012-07-09 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Adjust previous patch. 2012-07-09 Vincent Celier <celier@adacore.com> * make.adb (Compilation_Phase): Do not build libraries in Codepeer mode (do not call Library_Phase). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189379 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Ed Schonberg <schonberg@adacore.com>charlet2012-07-0910-80/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch13.adb: Extend previous change to elementary types. 2012-07-09 Javier Miranda <miranda@adacore.com> * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse previous patch since unconditionally handling as renaming_as_body renamings of predefined dispatching equality and unequality operator cause visibility problems with private overridings of the equality operator (see ACATS C854001). 2012-07-09 Vincent Pucci <pucci@adacore.com> * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in case of internal attribute names (already rejected by the parser). * par-ch13.adb (P_Representation_Clause): Complain if an internal attribute name that comes from source occurs. * par-ch4.adb (P_Name): Complain if an internal attribute name occurs in the context of an attribute reference. * par-util.adb (Signal_Bad_Attribute): Don't complain about mispelling attribute with internal attributes. * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case of internal attribute names (already rejected by the parser). * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine. * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and Interrupt_Priority are marked as INT attributes since they don't denote real attribute and are only used internally in the compiler. (Is_Internal_Attribute_Name): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189378 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Thomas Quinot <quinot@adacore.com>charlet2012-07-0917-291/+943
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb (Set_Reverse_Storage_Order): Update assertion, flag is now valid for array types as well. 2012-07-09 Tristan Gingold <gingold@adacore.com> * tracebak.c: Implement __gnat_backtrace for Win64 SEH. 2012-07-09 Robert Dewar <dewar@adacore.com> * einfo.ads: Minor reformatting. 2012-07-09 Javier Miranda <miranda@adacore.com> * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as renaming_as_body renamings of predefined dispatching equality and unequality operators. 2012-07-09 Robert Dewar <dewar@adacore.com> * rident.ads: Do not instantiate r-ident.ads, this is now an independent unit. 2012-07-09 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging routine. * sem_disp.adb (Find_Dispatching_Time): Protect this routine against partially decorated entities. 2012-07-09 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Size): Reject a size clause that specifies a value greater than Int'Last for a scalar type. 2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support atomic operation moved to the protected body case. No non-elementary out parameter moved to the protected declaration case. Functions have only one lock-free restriction. (Analyze_Protected_Type_Declaration): Issue a warning when Priority given with Lock_Free. 2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_dim.adb: Grammar of aspect Dimension fixed. 2012-07-09 Vincent Pucci <pucci@adacore.com> * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid pushing and popping the scope stack whenever a delayed aspect occurs. 2012-07-09 Gary Dismukes <dismukes@adacore.com> * s-os_lib.ads: Remove pragma Elaborate_Body, as this is now unnecessary due to recently added pragma Preelaborate. 2012-07-09 Jose Ruiz <ruiz@adacore.com> * s-taprop-mingw.adb (Set_Priority): Remove the code that was previously in place to reorder the ready queue when a task drops its priority due to the loss of inherited priority. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189377 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Robert Dewar <dewar@adacore.com>charlet2012-07-0915-39/+69
| | | | | | | | | | | | | | | | | | | | * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb, s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor reformatting. 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> * raise-gcc.c: Update comments. Fix typo. 2012-07-09 Thomas Quinot <quinot@adacore.com> * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute Scalar_Storage_Order can be defined or queried for array types as well as record types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189376 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Tristan Gingold <gingold@adacore.com>charlet2012-07-0911-52/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from raise-gcc.c * raise-gcc.c (__gnat_cleanupunwind_handler): Defined. Strictly follow the ABI convention on ia64. 2012-07-09 Gary Dismukes <dismukes@adacore.com> * a-ststio.ads: Add pragma Preelaborate, per AI05-0283. * i-cstrea.ads (max_path_len): Change from variable to deferred constant to allow it to be used as a bound in string component in type System.File_IO.Temp_File_Record. * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma Preelaborate. * s-fileio.adb (Get_Case_Sensitive): Move function inside procedure Open. (File_Names_Case_Sensitive): Move variable inside procedure Open, to avoid violation of Preelaborate restriction (due to call to Get_Case_Sensitive). 2012-07-09 Ed Schonberg <schonberg@adacore.com> * layout.adb (Set_Elem_Alignment): Protect against meaningless size clause, to prevent overflow in internal computation of alignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189375 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Robert Dewar <dewar@adacore.com>charlet2012-07-096-26/+59
| | | | | | | | | | | | | | | | | * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor reformatting. 2012-07-09 Gary Dismukes <dismukes@adacore.com> * sem_cat.adb (Check_Categorization_Dependencies): Allow dependence of both Remote_Types and Remote_Call_Interface declarations (not just Remote_Types units) on preelaborated units, but require that the dependence be made via a private with_clause. Issue a specialized error message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189371 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Pascal Obry <obry@adacore.com>charlet2012-07-093-1/+156
| | | | | | | | * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189370 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Tristan Gingold <gingold@adacore.com>charlet2012-07-097-44/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH, return for unknown exceptions. * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler. 2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker> * exp_dbug.ads (No_Dollar_In_Label): Delete. 2012-07-09 Vincent Pucci <pucci@adacore.com> * sem_ch13.adb (Check_Overloaded_Name): New routine. 2012-07-09 Vincent Pucci <pucci@adacore.com> * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the components in a record type. 2012-07-09 Pascal Obry <obry@adacore.com> * prj-util.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189369 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Tristan Gingold <gingold@adacore.com>charlet2012-07-094-95/+51
| | | | | | | | | | | | | | | | | * raise-gcc.c (db_indent): Simplify style, improve comments. Remove !IN_RTS part (dead). 2012-07-09 Robert Dewar <dewar@adacore.com> * usage.adb: Minor change to format of -gnatn line. 2012-07-09 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb: Reorder routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189368 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-09 Vincent Celier <celier@adacore.com>charlet2012-07-0923-185/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib-writ.ads: Add documentation for the Z lines (implicitly withed units) and Y lines (limited withed units). 2012-07-09 Robert Dewar <dewar@adacore.com> * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb, sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb, sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb, sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups. 2012-07-09 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only lightly in the summary and more thoroughly in inlining section. (Performance Considerations): Document -gnatn[12] in inlining section. 2012-07-09 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure. (Unhandled_Others_Value): New const. * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define. (action_descriptor): Remove ttype_entry. (get_action_description_for): Do not assign ttype_entry. (is_handled_by): Consider GNAT_UNHANDLED_OTHERS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189367 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Call_to_gnu): Robustify test for function caseebotcazou2012-07-032-3/+7
| | | | | | | if the CICO mechanism is used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189204 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_simple_component_ref): Do not lookebotcazou2012-07-032-1/+8
| | | | | | | through an extension if the type contains a placeholder. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189202 138bc75d-0d04-0410-961f-82ee72b054a4
* * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention onebotcazou2012-07-036-5/+92
| | | | | | | | | | | | | | | | | | | | | the designated subprogram type and also set Is_Dispatch_Table_Entity. (Expand_Interface_Thunk): Propagate the convention on the thunk. (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on the internal view of the constructors. (Set_CPP_Constructors): Likewise. * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the convention on the function. * gcc-interface/gigi.h (is_cplusplus_method): Declare. * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall' calling convention (get_minimal_subprog_decl): Likewise. (is_cplusplus_method): New predicate. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an error on access to C++ constructor or member function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189199 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for typesebotcazou2012-07-032-1/+11
| | | | | | | attached to a TYPE_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189195 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-26 Vincent Pucci <pucci@adacore.com>charlet2012-06-2610-407/+433
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch3.adb (Build_Init_Statements): Don't check the parents in the Rep Item Chain of the task for aspects Interrupt_Priority, Priority, CPU and Dispatching_Domain. * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority, _CPU and _Domain are present in the corresponding record type only if the task entity has a pragma, attribute definition clause or aspect specification. (Make_Initialize_Protection): Don't check the parents in the Rep Item Chain of the task for aspects Interrupt_Priority, Priority, CPU and Dispatching_Domain. * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point call replaced by Analyze_Aspects_At_Freeze_Point. * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point): Renaming of Evaluate_Aspects_At_Freeze_Point. 2012-06-26 Yannick Moy <moy@adacore.com> * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a postcondition, and issue an error in such a case. 2012-06-26 Yannick Moy <moy@adacore.com> * gnat_rm.texi: Minor editing. 2012-06-26 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Minor cleanup: remove unused prototype. * seh_init.c: Do not create an image wide unwind info to catch SEH when SEH unwind info are emitted by the compiler. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188995 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/steven2012-06-193-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target.def (output_ident): New hook. * targhooks.h (default_asm_output_ident_directive): Add prototype. * varasm.c (assemble_asm): Only prefix a tab if the string does not already start with one. (default_asm_output_ident_directive): New function to emit .ident as a top-level asm node while parsing, or directly to asm_out_file after parsing. * toplev.c (compile_file): Print a GCC .ident with targetm.asm_out.output_ident. * doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro. (TARGET_ASM_OUTPUT_IDENT): Add @hook for this. * doc/tm.texi: Update. * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/i386/djgpp.h (IDENT_ASM_OP): Remove. * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove. * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove. * config/sparc/sparc.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/picochip/picochip.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype. * config/cris/cris.c (cris_asm_output_ident): New function. * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident): Add prototype. * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node. (microblaze_asm_output_ident): Rewrite to work similar to default_asm_output_ident_directive for front-end .idents. * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove. * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove. * config/rx/rx.c: Include cgraph.h for add_asm_node. (rx_asm_output_ident): New function, similar to default_asm_output_ident_directive, but handle AS100 syntax also, so that #ident also works for rx in AS100 syntax. (TARGET_ASM_OUTPUT_IDENT): Define. * config/rx/rx.h (IDENT_ASM_OP): Remove. * Makefile.in: Fix dependencies for c-family/c-lex.o. c-family/ * c-lex.c: Do not include output.h. (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. ada/ * gcc-interface/trans.c: Include target.h. (gigi): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. * gcc-interface/Make-lang.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188791 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/53592ebotcazou2012-06-154-19/+28
| | | | | | | | | | * gcc-interface/gigi.h (maybe_vector_array): Make static inline. * gcc-interface/utils.c (maybe_vector_array): Delete. * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the array object as addressable if it has vector type and is on the LHS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188653 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/53590ebotcazou2012-06-152-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common.opt (-fdelete-dead-exceptions): New switch. * doc/invoke.texi (Code Gen Options): Document it. * cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of insn_could_throw_p predicate. Do not skip an insn that could throw if dead exceptions can be deleted. (insn_live_p): Likewise, do not return true in that case. * dce.c (can_alter_cfg): New flag. (deletable_insn_p): Do not return false for an insn that can throw if the CFG can be altered and dead exceptions can be deleted. (init_dce): Set can_alter_cfg to false for fast DCE, true otherwise. * dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_ predicate. Do not preserve an insn that could throw if dead exceptions can be deleted. * function.h (struct function): Add can_delete_dead_exceptions flag. * function.c (allocate_struct_function): Set it. * lto-streamer-in.c (input_struct_function_base): Stream it. * lto-streamer-out.c (input_struct_function_base): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a statement that could throw as necessary if dead exceptions can be deleted. ada/ * gcc-interface/misc.c (gnat_init_options_struct): Set opts->x_flag_delete_dead_exceptions to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188651 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Jose Ruiz <ruiz@adacore.com>charlet2012-06-142-358/+113
| | | | | | | | | | | | | * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall): Use the prefix specified with the --program-prefix configure option to determine the install name of the Ada tools. (ada.all.cross): Use a for loop to iterate over the set of Ada tools instead of duplicate the same processing. Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188612 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Vincent Pucci <pucci@adacore.com>charlet2012-06-1418-526/+1115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol call replaced by Expand_Put_Call_With_Symbol call. * sem_dim.adb: New fields Unit_Names, Unit_Symbols and Dim_Symbols for record type System_Type. (From_Dimension_To_String_Of_Symbols): Removed. (From_Dim_To_Str_Of_Dim_Symbols): Renames previous routine From_Dimension_To_String_Of_Symbols. (From_Dim_To_Str_Of_Unit_Symbols): New routine. (Analyze_Aspect_Dimension): argument Symbol in aspect Dimension aggregate is optional. Named association implemented. (Has_Compile_Time_Known_Expressions): Removed. (Analyze_Aspect_Dimension_System): New component Dim_Symbol in each Dimension aggregate in aspect Dimension_System. Named associations implemented. (Add_Dimension_Vector_To_Buffer): Removed. (Add_Whole_To_Buffer): Removed. (Expand_Put_Call_With_Dimension_Symbol.): Removed. (Expand_Put_Call_With_Symbol): Renames previous routine Expand_Put_Call_With_Dimension_Symbol. (Has_Dimension_Symbols): Removed. (Has_Symbols): Renames previous routine Has_Dimension_Symbols. (Store_String_Oexpon): New routine. * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed. (Expand_Put_Call_With_Symbol): Renames previous routine Expand_Put_Call_With_Dimension_Symbol. * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols. (Put_Dim_Of): New routines. * s-diflio.ads, s-diinio.ads: documentation updated. (Put): Symbol renames Symbols. (Put_Dim_Of): New routines. * s-dim.ads: documentation updated. * s-dimmks.ads: dimensioned type and subtypes updated. * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol, and Name_Unit_Symbol added. Name_Symbols removed. 2012-06-14 Vincent Pucci <pucci@adacore.com> * freeze.adb (In_Exp_Body): Expression function case added. (Freeze_Expression): Insert the Freeze_Nodes list before the correct current scope in case of a quantified expression. 2012-06-14 Pascal Obry <obry@adacore.com> * projects.texi: Document the Install package for gprinstall. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within a default expression. * sem_res.adb (Resolve_Call): simplify code. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * sem_case.adb (Check, Issue_Msg): within an instance, non-other values in a variant part or a case expression do not have to belong to the actual subtype. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is an interface type, check whether it is itself a previous formal already instantiated in the current list of actuals. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The expression for a stream attribute is a name that may be overloaded with other declarations. To determine whether it matches the aspect at the freeze point, it is necessary to verify that one of its interpretations matches. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188610 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Robert Dewar <dewar@adacore.com>charlet2012-06-1426-170/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb, sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb, s-taprop-dummy.adb: Minor reformatting. 2012-06-14 Vincent Pucci <pucci@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free attribute case added. * par-prag.adb (Prag): Lock_Free pragma case added. * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute case added. * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item call added for Aspect_Lock_Free. * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free error messages for subprogram bodies. (Lock_Free_Disabled): New routine. (Analyze_Protected_Body): Call to Lock_Free_Disabled added. * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added. * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added. (Is_Pragma_Name): Name_Lock_Free case added. * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing aliased keyword. 2012-06-14 Bob Duff <duff@adacore.com> * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this procedure from Sem body to Lib spec, so it can be used for debugging elsewhere. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode conformance: "aliased" must apply to both or neither formal parameters. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188609 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Gary Dismukes <dismukes@adacore.com>charlet2012-06-146-16/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb: Minor reformatting. 2012-06-14 Thomas Quinot <quinot@adacore.com> * freeze.adb (Freeze_Record_Type): Warn about useless bit order specification [when there's no component clause] regardless of whether the specified bit order is reversed or not. 2012-06-14 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (__gnat_personality_seh0): New function. 2012-06-14 Tristan Gingold <gingold@adacore.com> * gnatname.adb (Gnatname): Make sure that dynamic table argument_data is initialized. 2012-06-14 Robert Dewar <dewar@adacore.com> * sem_aux.adb: Minor code reorganization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188608 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Vincent Pucci <pucci@adacore.com>charlet2012-06-1410-274/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.adb einfo.ads (Get_Rep_Item): Removed. (Get_Rep_Item_For_Entity): Removed. (Get_Rep_Pragma): Removed. (Get_Rep_Pragma_For_Entity): Removed. (Has_Rep_Item): Removed. (Has_Rep_Pragma): Removed. (Has_Rep_Pragma_For_Entity): Removed. * exp_ch9.adb (Expand_N_Task_Type_Declaration): Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma. (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma. * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma. * sem_aux.adb (Get_Rep_Item): New routine. (Get_Rep_Pragma): New routine. (Has_Rep_Item): New routine. (Has_Rep_Pragma): New routine. (Nearest_Ancestor): Minor reformatting. * sem_aux.ads (Get_Rep_Item): New routine. (Get_Rep_Pragma): New routine. (Has_Rep_Item): New routine. (Has_Rep_Pragma): New routine. * sem_ch13.adb (Duplicate_Clause): Restore original error messages. * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity replaced by Get_Rep_Item. * sem_prag.adb (Analyze_Pragma): Restore original error messages. (Check_Duplicate_Pragma): Restore original error messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188607 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-14 Ed Schonberg <schonberg@adacore.com>charlet2012-06-149-111/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified expressions are valid names. 2012-06-14 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an instantiation do not emit warnings for obsolescent units. The warnings belong on the corresponding generic. 2012-06-14 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb: Update the usage of Node15. (Return_Flag_Or_Transient_Decl): Removed. (Set_Return_Flag_Or_Transient_Decl): Removed. (Set_Status_Flag_Or_Transient_Decl): New routine. (Status_Flag_Or_Transient_Decl): New routine. (Write_Field15_Name): Update the output for variables and constants. * einfo.ads: Remove attribute Return_Flag_Or_Transient_Decl along with occurrences in nodes. (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline. (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline. (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma Inline. (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline. * exp_ch4.adb (Create_Alternative): New routine. (Expand_N_Conditional_Expression): Handle the case where at least one of the conditional expression alternatives prodices a controlled temporary by means of a function call. (Is_Controlled_Function_Call): New routine. (Process_Transient_Object): Update the call to Set_Return_Flag_Or_Transient_Decl. * exp_ch6.adb (Enclosing_Context): New routine. (Expand_N_Extended_Return_Statement): Update all calls to Set_Return_Flag_Or_Transient_Decl. (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled function result when the context is a conditional expression. * exp_ch7.adb (Process_Declarations): Update all calls to Return_Flag_Or_Transient_Decl. Add processing for intermediate results of conditional expressions where one of the alternatives uses a controlled function call. (Process_Object_Declaration): Update all calls to Return_Flag_Or_Transient_Decl and rearrange the logic to process "hook" objects first. (Process_Transient_Objects): Update the call to Set_Return_Flag_Or_Transient_Decl. * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add detection for intermediate results of conditional expressions where one of the alternatives uses a controlled function call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188606 138bc75d-0d04-0410-961f-82ee72b054a4
* Revertebotcazou2012-06-132-83/+23
| | | | | | | | | | | | | 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall calling convention (get_minimal_subprog_decl): Likewise. (gnat_first_param_is_class): New predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188512 138bc75d-0d04-0410-961f-82ee72b054a4
* Move Ada specific ChangeLog entry to Ada specific ChangeLog file.hainque2012-06-121-0/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188461 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-1213-2673/+2117
| | | | | | | | | | | | | | | | | | * gcc-interface/Make-lang.in: Update dependencies. * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb, sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments. Minor reformatting. 2012-06-12 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that implements AI05-0296, because the actual may be overloaded. * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here, to be applied once the actual subprogram is properly resolved. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188456 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-1223-1269/+1717
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting. 2012-06-12 Vincent Pucci <pucci@adacore.com> * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check. * einfo.adb (Universal_Aliasing): Apply to the implementation base type instead of the base type. (Get_Rep_Item_For_Entity): Return a pragma if the pragma node is not present in the Rep Item chain of the parent. (Kill_Tag_Checks): Removed (unused flag). (Set_Kill_Tag_Checks): Removed. (Get_First_Rep_Item): New routine. (Get_Rep_Pragma_For_Entity): New routine. (Has_Rep_Item): New routine. (Has_Rep_Pragma_For_Entity): New routine. (Present_In_Rep_Item): New routine. * einfo.ads (Kill_Tag_Checks): Removed. (Set_Kill_Tag_Checks): Removed. (Get_First_Rep_Item): New routine. (Get_Rep_Pragma_For_Entity): New routine. (Has_Rep_Item): New routine. (Has_Rep_Pragma_For_Entity): New routine. (Present_In_Rep_Item): New routine. * exp_attr.adb, sem_attr.adb: Attribute_CPU, Attribute_Dispatching_Domain and Attribute_Interrupt_Priority case added. * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For attribute Storage_Size, insert the new assignement statement after the Size variable declaration. * exp_ch3.adb (Build_Init_Statements): Fill the CPU, Dispatching_Domain, Priority and Size components with the Rep Item expression (if any). * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU, _Priority, _Domain fields are always present in the corresponding record type. (Find_Task_Or_Protected_Pragma): Removed. (Get_Relative_Deadline_Pragma): New routine. (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed. (Make_Task_Create_Call): Check CPU, Size or Dispatching_Domain Rep Item is present using new routine Has_Rep_Item. * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants and Uninstall_Discriminants_And_Pop_Scope calls added. (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added. * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor for private derived types. * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up and reordering. Delay analysis for all aspects (except some peculiar cases). (Analyze_Attribute_Definition_Clause): Attribute_CPU, Attribute_Dispatching_Domain, Interrupt_Priority and Attribute_Priority cases added. (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants and Uninstall_Discriminants_And_Pop_Scope calls added. (Check_Aspect_At_Freeze_Point): Reordering and clean-up. (Duplicate_Clause): Issue an explicit error msg when the current clause duplicates an aspect specification, an attribute definition clause or a pragma. (Evaluate_Aspects_At_Freeze_Point): New routine. * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine. * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine. (Push_Scope_And_Install_Discriminants): New routine. (Uninstall_Discriminants): New routine. (Uninstall_Discriminants_And_Pop_Scope): New routine. * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error msg when the current pragma duplicates an aspect specification, an attribute definition clause or a pragma. (Analyze_Pragma): Remove use of flags Has_Pragma_CPU, Has_Pragma_Priority and Has_Pragma_Dispatching_Domain. * sem_util.adb (Compile_Time_Constraint_Error): Don't complain about the type if the corresponding concurrent type doesn't come from source. * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed. (Has_Pragma_Dispatching_Domain): Removed. (Has_Pragma_Priority): Removed. (Has_Task_Info_Pragma): Removed. (Has_Task_Name_Pragma): Removed. (Set_Has_Pragma_CPU): Removed. (Set_Has_Pragma_Dispatching_Domain): Removed. (Set_Has_Pragma_Priority): Removed. (Set_Has_Task_Info_Pragma): Removed. (Set_Has_Task_Name_Pragma): Removed. * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU, Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added. (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and Name_Interrupt_Priority added. * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU and Name_Interrupt_Priority moved to the list of Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain, Pragma_CPU and Pragma_Interrupt_Priority moved to the end of the Pragma_Name list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188455 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Arnaud Charlet <charlet@adacore.com>charlet2012-06-125-98/+149
| | | | | | | | | | | | | | | | | | | | * xref_lib.adb (Get_Full_Type): Add support for 'G'. 2012-06-12 Tristan Gingold <gingold@adacore.com> * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields. 2012-06-12 Fedor Rybin <frybin@adacore.com> * gnat_ugn.texi: Update doc on gnattest. 2012-06-12 Robert Dewar <dewar@adacore.com> * sem_ch12.adb: Add comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188453 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-125-5/+11
| | | | | | | | * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188452 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-128-17/+91
| | | | | | | | | | | | | | | | | | | | | | | * sem_ch12.adb: Minor reformatting. 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> * opt.ads (Inline_Level): New variable. * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization level if it has not been set by the user. * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2 and set Inline_Level accordingly. * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type. (Must_Inline): Return Inline_Level_T instead of Boolean to indicate whether the package of the inlined subprogram must be compiled. If Inline_Level is set to 1, only compile packages of subprograms directly called from the main unit. * usage.adb (Usage): Adjust line for -gnatn switch. * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188451 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Ed Schonberg <schonberg@adacore.com>charlet2012-06-122-0/+7
| | | | | | | | | | * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply AI05-296 if the actual is overloaded. In this case The rule must be applied after resolution, in Analyze_Subprogram_Renaming. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188450 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-128-12/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stringt.adb: Minor reformatting. 2012-06-12 Robert Dewar <dewar@adacore.com> * ali-util.adb, stringt.ads: Minor reformatting. 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Process_Declarations): Handle the case where the original context has been wrapped in a block to avoid interference between exception handlers and At_End handlers. (Wrap_HSS_In_Block): Mark the block which contains the original statements of the context as being a finalization wrapper. * sinfo.adb (Is_Finalization_Wrapper): New routine. (Set_Is_Finalization_Wrapper): New routine. * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable to block statemnts. (Is_Finalization_Wrapper): New routine with corresponding pragma Inline. (Set_Is_Finalization_Wrapper): New routine with corresponding pragma Inline. 2012-06-12 Steve Baird <baird@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): No longer need to set Exception_Extra_Info in CodePeer_Mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188449 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-1225-128/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb, sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb, sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb, sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code reorganization. 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> * s-tasini.ads: Minor fix in comment. 2012-06-12 Thomas Quinot <quinot@adacore.com> * freeze.adb (Freeze_Record_Type): Warn on record with Scalar_Storage_Order if there is no placed component. 2012-06-12 Thomas Quinot <quinot@adacore.com> * sem_ch3.adb: Minor comment fix. 2012-06-12 Vincent Celier <celier@adacore.com> * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation mode, use Stringt Mark and Release to avoid growing the Stringt internal tables uselessly. * stringt.adb (Strings_Last): New global variable (String_Chars_Last): New global variable. (Mark, Release): New procedures. * stringt.ads (Mark, Release) New procedures. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188445 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-06-123-6/+51
| | | | | | | | | | | | | | | | * exp_ch7.adb (Process_Transient_Objects): Renamed constant Requires_Hooking to Must_Hook and replace all occurrences of the name. (Requires_Hooking): New routine. Detect all contexts that require transient variable export to the outer finalizer due to a potential exception. 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads: Minor correction in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188444 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Ed Schonberg <schonberg@adacore.com>charlet2012-06-125-3/+33
| | | | | | | | | | | | | | | | * sem_ch12.adb: Small adjustment. 2012-06-12 Vincent Celier <celier@adacore.com> * vms_cmds.ads (Command_Type): New enumeration value Test * vms_conv.adb (Initialize): Add component at index Test in Command_List * vms_data.ads (Test_Switches): New global variable for the switches of gnattest, currently empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188443 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Ed Schonberg <schonberg@adacore.com>charlet2012-06-123-4/+79
| | | | | | | | | | | | | | * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete type is tagged, so is a subtype of it. * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296, concerning freeze rules in the presence of formal incomplete types: a formal abstract subprogram cannot have an incomplete controlling type, and the profile of the actual subprogram does not freeze if it includes an incomplete untagged type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188442 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-128-40/+66
| | | | | | | | | | | | | | | | | | * a-direct.adb: Minor reformatting. 2012-06-12 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Add missing documentation for -gnatw.v and -gnatw.V. 2012-06-12 Thomas Quinot <quinot@adacore.com> * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb, sem_ch13.adb: Minor rewording of error messages for unchecked unions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188441 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-123-6/+18
| | | | | | | | | | | | | | * lib-xref.ads: Minor reformatting. 2012-06-12 Pascal Obry <obry@adacore.com> * a-direct.adb (Delete_File): Delete symbolic links silently instead of raising the Name_Error exception when the symbolic link is pointing to a non existent file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188440 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-125-21/+59
| | | | | | | | | | | | * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting. 2012-06-12 Javier Miranda <miranda@adacore.com> * lib-xref.ads Adding missing documentation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188439 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-06-129-25/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Create_Finalizer): Add the exception reraise mechanism at the very end of the finalizer statements. This placement ensures that all objects are finalized, the secondary stack mark released and aborts undeferred before propagating an exception. 2012-06-12 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a wrapper package. remove from visibility the original subprogram instance. 2012-06-12 Javier Miranda <miranda@adacore.com> * sem_prag.adb (Process_Convention): Generate reference to entity exported to foreign language. Needed for GPS navigation. * xref_lib.adb (Parse_Identifier_Info): Parse exported entities. * lib-xref (Output_References): Output exported entities. 2012-06-12 Pascal Obry <obry@adacore.com> * prj-attr.adb: Add install package and corresponding attributes. * snames.ads-tmpl (Name_Active): New constant. (Name_Exec_Subdir): Likewise. (Name_Install): Likewise. (Name_Lib_Subdir): Likewise. (Name_Project_Subdir): Likewise. (Name_Sources_Subdir): Likewise. 2012-06-12 Bob Duff <duff@adacore.com> * sem_res.adb (Check_Infinite_Recursion): Suppress spurious warning on recursion after "raise with ...". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188438 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud