- 17 Oct, 2011 1 commit
-
-
dodji authored
This is the first instalment of a set which goal is to track locations of tokens across macro expansions. Tom Tromey did the original work and attached the patch to PR preprocessor/7263. This opus is a derivative of that original work. This patch modifies the linemap module of libcpp to add virtual locations support. A virtual location is a mapped location that can resolve to several different physical locations. It can always resolve to the spelling location of a token. For tokens resulting from macro expansion it can resolve to: - either the location of the expansion point of the macro. - or the location of the token in the definition of the macro - or, if the token is an argument of a function-like macro, the location of the use of the matching macro parameter in the definition of the macro The patch creates a new type of line map called a macro map. For every single macro expansion, there is a macro map that generates a virtual location for every single resulting token of the expansion. The good old type of line map we all know is now called an ordinary map. That one still encodes spelling locations as it has always had. As a result linemap_lookup as been extended to return a macro map when given a virtual location resulting from a macro expansion. The layout of structs line_map has changed to support this new type of map. So did the layout of struct line_maps. Accessor macros have been introduced to avoid messing with the implementation details of these datastructures directly. This helped already as we have been testing different ways of arranging these datastructure. Having to constantly adjust client code that is too tied with the internals of line_map and line_maps would have been even more painful. Of course, many new public functions have been added to the linemap module to handle the resolution of virtual locations. This patch introduces the infrastructure but no part of the compiler uses virtual locations yet. However the client code of the linemap data structures has been adjusted as per the changes. E.g, it's not anymore reliable for a client code to manipulate struct line_map directly if it just wants to deal with spelling locations, because struct line_map can now represent a macro map as well. In that case, it's better to use the convenient API to resolve the initial (possibly virtual) location to a spelling location (or to an ordinary map) and use that. This is the reason why the patch adjusts the Java, Ada and Fortran front ends. Also, note that virtual locations are not supposed to be ordered for relations '<' and '>' anymore. To test if a virtual location appears "before" another one, one has to use a new operator exposed by the line map interface. The patch updates the only spot (in the diagnostics module) I have found that was making the assumption that locations were ordered for these relations. This is the only change that introduces a use of the new line map API in this patch, so I am adding a regression test for it only. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180081 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 16 Oct, 2011 1 commit
-
-
charlet authored
* link.c (_AIX): Add support for GNU ld. 2011-10-16 Fedor Rybin <frybin@adacore.com> * gnat_ugn.texi: Fixing gnattest example names in the doc. Adding explanation to additional tests usage. 2011-10-16 Robert Dewar <dewar@adacore.com> * exp_ch6.adb, sem_ch6.adb: Minor reformatting. 2011-10-16 Eric Botcazou <ebotcazou@adacore.com> * a-convec.adb: Fix minor inconsistencies. 2011-10-16 Matthew Heaney <heaney@adacore.com> * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package Implementation): Specify pragma Implementation_Defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180056 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 15 Oct, 2011 2 commits
-
-
charlet authored
* gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using either rtp-smp or ravenscar-cert-rtp runtimes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180026 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr is available. (Expand_N_Extended_Return_Statement): Do not create a renaming of the build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is available. (Make_Build_In_Place_Call_In_Allocator): Add the user-defined pool only if RE_Root_Storage_Pool_Ptr is available. (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a pool actual unless RE_Root_Storage_Pool_Ptr is available. * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool formal only if RE_Root_Storage_Pool_Ptr is available. 2011-10-15 Matthew Heaney <heaney@adacore.com> * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue type): Specify Priority aspect for protected type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180025 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Oct, 2011 3 commits
-
-
charlet authored
* exp_disp.adb (Check_Premature_Freezing): If an untagged type is a generic actual, it is a subtype of a type that was frozen by the instantiation, and even if not marked frozen it does not affect the construction of the dispatch table. 2011-10-14 Robert Dewar <dewar@adacore.com> * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code reformatting. * s-rident.ads: Add missing Compiler_Unit pragma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179989 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* sem_res.adb: Minor reformatting. 2011-10-14 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): Code and comment reformatting. Use BIP_Task_Master when creating a _master. (BIP_Formal_Suffix): Code reformatting. Correct the case for BIP_Task_Master. (Make_Build_In_Place_Call_In_Object_Declaration): Use BIP_Task_Master when creating a reference to the enclosing function's _master formal. (Move_Activation_Chain): Use BIP_Task_Master when creating a reference to the _master. * exp_ch6.ads: Change BIP_Master to BIP_Task_Master. (Needs_BIP_Finalization_Master): Alphabetized. * sem_ch6.adb (Create_Extra_Formals): Update the usage of BIP_Task_Master. 2011-10-14 Ed Schonberg <schonberg@adacore.com> * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode, reject an aliased keyword on the object declaration of an extended return statement. In older versions of the language indicate that this is illegal in the standard. 2011-10-14 Pascal Obry <obry@adacore.com> * sem_util.adb, sem_ch4.adb: Minor reformatting. 2011-10-14 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Recognize properly procedure calls that are transformed into code statements. 2011-10-14 Vincent Celier <celier@adacore.com> * projects.texi: Minor fix in project example. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179986 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* sem_util.adb: Return objects are aliased if their type is immutably limited as per AI05-0053. 2011-10-14 Gary Dismukes <dismukes@adacore.com> * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or expansion code (moved to sem_res) (Expand_N_Op_Or): Remove Short_Circuit_And_Or expansion code (moved to sem_res). * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean "and" and "or" operators as short-circuit "and then" and "or else", when pragma Short_Circuit_And_Or is active. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179985 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 13 Oct, 2011 17 commits
-
-
charlet authored
* sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting. 2011-10-13 Arnaud Charlet <charlet@adacore.com> * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o. 2011-10-13 Jerome Guitton <guitton@adacore.com> * sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads 2011-10-13 Eric Botcazou <ebotcazou@adacore.com> * a-convec.ads (Cursor): Minor reformatting. * a-convec.adb (Next): Fix minor inconsistencies. (Previous): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179915 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* sem_util.ads, sem_util.adb (Available_Full_View_Of_Component): New predicate to determine whether some operations on an array type are available when the full view of its component may differ from the view of the point of the array declaration. * sem_ch4.adb (Find_Equality_Types): Use Available_Full_View_Of_Component. * sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb: Analyze aspects while discriminants of protected type are visible. 2011-10-13 Geert Bosch <bosch@adacore.com> * Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no longer depend on an external library. * gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o. Update dependencies. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179914 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* gnat_ugn.texi: Minor editing. 2011-10-13 Vincent Celier <celier@adacore.com> * projects.texi: Add documentation on packages and attributes that are inherited from a project being extended into the extended project. 2011-10-13 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Build_Master): Rewritten. (Expand_N_Full_Type_Declaration): Reformat the declarative region. Update the call to Build_Master_Renaming. (Expand_Previous_Access_Type): Rewritten. * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): Add local constant Result_Subt and update related usage. (Expand_N_Extended_Return_Statement): Add local constant Result_Subt and update related usage. * exp_ch9.adb (Build_Activation_Chain): Rewritten to use the new context detection mechanism. (Build_Class_Wide_Master): Use Insert_Action to add the renaming into the tree. (Build_Master_Entity): Rewritten to use the new context detection mechanism. (Build_Master_Renaming): Add formal parameter Ins_Nod and related usage. Use Insert_Action to add the renaming into the tree. (Find_Enclosing_Context): New subsidiary routine. Rather than relying on enclosing scopes, this routine looks at the tree structure to figure out the proper context for a _master or a _chain. This approach eliminates the issues with transient scopes which have not been converted into blocks. * exp_ch9.ads (Build_Master_Entity): Change parameter profile to better reflect the new usage. Update the related comment. (Build_Master_Renaming): Add formal parameter Ins_Nod. Update the comment on usage. * sem_ch3.adb (Access_Definition): Update the calls to Build_Master_Entity and Build_Master_Renaming. * sem_ch6.adb (Create_Extra_Formals): Add local variable Full_Subt. Code reformatting. * sem_util.adb (Is_Iterator): Alphabetized. (Is_LHS): Alphabetized. (Is_Limited_Class_Wide_Type): New routine. * sem_util.ads (Is_Limited_Class_Wide_Type): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179913 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* a-ngrear.adb (Solve): Make generic and move to System.Generic_Array_Operations. * s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution): New generic solvers to compute a vector resp. matrix Y such that A * Y = X, approximately. * s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution): Implement using Forward_Eliminate and Back_Substitute * a-ngcoar.adb: Reimplement in pure Ada to remove dependencies on BLAS and LAPACK. * a-ngcoar.ads ("abs"): Fix return type to be real. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179912 138bc75d-0d04-0410-961f-82ee72b054a4
-
ebotcazou authored
* s-linux-alpha.ads: Do not "with" Interfaces.C. * s-linux-sparc.ads: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179911 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* s-gearop.ads (Forward_Eliminate): Add "abs" formal function returning a Real. * s-gearop.adb (Forward_Eliminate): Remove local "abs" function and use formal. * a-ngrear.adb (Forward_Eliminate): Adjust instantiation for new profile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179910 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and move to System.Generic_Array_Operations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179909 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic * s-gearop.ads (L2_Norm): Change profile to be suitable for Complex_Vector * s-gearop.adb (L2_Norm): Reimplement using direct definition, not inner product git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179908 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb, prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb, par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads, exp_aggr.adb, s-taprop-posix.adb: Minor reformatting. 2011-10-13 Geert Bosch <bosch@adacore.com> * s-gearop.adb: Minor comment additions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179907 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* gnat_ugn.texi: Add gnattest section. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * freeze.adb: Do not create body of renaming if declaration has errors. 2011-10-13 Olivier Hainque <hainque@adacore.com> * init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls further, to the ppc+kernel case only. 2011-10-13 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Expand_N_Allocator): Comment reformatting. * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): Do not create a pool formal on .NET/JVM. (Expand_N_Extended_Return_Statement): Alphabetize local variables. Do not create a renaming of the build-in-place pool parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator): Add the user-defined pool only on non-VM targets. (Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize local variables. Do not add a pool actual on .NET/JVM. * sem_ch6.adb: Add with and use clause for Targparm. (Create_Extra_Formals): Add build-in-place pool formal only on non-VM targets. * rtsfind.ads: Alphabetize entries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179906 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* gnat_ugn.texi: Minor correction. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb: Minor error message improvement. 2011-10-13 Robert Dewar <dewar@adacore.com> * a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179905 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* exp_ch5.adb (Expand_N_Loop_Statement): For the transformation of a for loop for an enumeration type with an enumeration rep clause, which involves moving the original loop parameter into a nested block, the loop parameter's entity must be removed from the entity list of the loop scope. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179904 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter" that gets passed in the same cases where BIP_Alloc_Form is passed (caller-unknown-size results). BIP_Storage_Pool is used when BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer to the user-defined storage pool is passed at the call site, and this pool is used in callee to allocate the result. * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes the additional BIP_Storage_Pool actual. (Expand_N_Extended_Return_Statement): Allocate the function result using the user-defined storage pool, if BIP_Alloc_Form = User_Storage_Pool. * sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool. * exp_ch4.adb: Don't overwrite storage pool set by Expand_N_Extended_Return_Statement. * s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type, for use in build-in-place function calls within allocators where the access type has a user-defined storage pool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179903 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* gnat_ugn.texi, vms_data.ads: Add an option to control enumeration literal casing. 2011-10-13 Nicolas Roche <roche@adacore.com> * gnatlink.adb: Ensure that -mrtp is passed when runtime name ends with 'rtp'. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): an unchecked union type can be limited. 2011-10-13 Olivier Hainque <hainque@adacore.com> * init.c (__gnat_error_handler) <VxWorks version>: Add comments on the use of the signal trampoline for PPC in the sjlj case as well. Add legitimate casts, preventing compile time warnings on the (sighandler *) profile. 2011-10-13 Yannick Moy <moy@adacore.com> * sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis in Alfa mode. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case expressions are legal limited return values if each one of their dependent expressions are legal. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode, if the prefix of the call is a qualified expression, rewrite as a code statement. * sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the code statement is legal if it is a rewriting of a procedure call. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Flatten): If a component association has a box, assume that aggregate is not static. (Safe_Aggregate): If a component association in a non-limited aggregate has a box, assume that it cannot be expanded in place. 2011-10-13 Vincent Celier <celier@adacore.com> * prj-conf.adb (Get_Or_Create_Configuration_File): Call Process_Project_Tree_Phase_1 with Packages_To_Check. (Process_Project_And_Apply_Config): Ditto * prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse): Remove default for argument Packages_To_Check. * prj-proc.adb (Recursive_Process): New argument Packages_To_Check. (Process): Ditto. (Process_Project_Tree_Phase_1): Ditto. (Recursive_Project.Process_Aggregated_Projects): Call Prj.Part.Parse and Process_Project_Tree_Phase_1 with Packages_To_Check. * prj-proc.ads (Process): New argument Packages_To_Check (Process_Project_Tree_Phase_1): Ditto git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179902 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179900 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* sem_ch12.adb (Analyze_Formal_{Floating_Type, Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}): Use sloc of defining identifier of farmal type declaration, as sloc of generated internal entity, to prevent misplaced references in ali. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_intr.adb (Check_Intrinsic_Operator): Check that type is fully defined before checking that it is a numeric type. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregate): If a component association for component X has a box, then X is covered in the aggregate even if there is not default value for X in the type declaration, and X has to be default-initialized. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark literals as referenced only if reference is in current source unit. 2011-10-13 Matthew Heaney <heaney@adacore.com> * a-csquin.ads (Enque, Dequeue): Mark interface operations as entries. 2011-10-13 Olivier Hainque <hainque@adacore.com> * sigtramp.h: New file. Prototype and spec of the signal trampoline to be called by an established handler to provide dwarf call frame info before the real signal processing code. * sigtramp-ppcvxw.c: New file. Implementation of the signal trampoline for ppc-vxworks. * init.c (vxworks section): Use it for ppc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179899 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* par-ch2.adb, par.adb, par-util.adb, par-ch3.adb (Check_Future_Identifier): New subprogram, factors duplicated code from Par.Ch2.P_Identifier and Par.Ch3.P_Defining_Identifier. 2011-10-13 Thomas Quinot <quinot@adacore.com> * s-taprop-posix.adb (Initialize): Always raise Storage_Error if we fail to initialize CV attributes or CV. 2011-10-13 Thomas Quinot <quinot@adacore.com> * s-tasren.adb (Timed_Selective_Wait, case Accept_Alternative_Selected): Use Defer_Abort_Nestable, since we know abortion is already deferred. 2011-10-13 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9. (Build_Master_Renaming (function)): Removed. (Build_Master_Renaming (procedure)): Moved to exp_ch9. (Expand_Full_Type_Declaration): Alphabetize variables. Reformatting of code and comments. Rewrite the section on processing of anonymous access-to-task types in record components. * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9. (Build_Master_Renaming): Moved to exp_ch9. * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3. (Build_Master_Entity): Add formal parameter Use_Current. Reformatting of code and comments. (Build_Master_Renaming): Moved from exp_ch3. * exp_ch9.ads (Build_Class_Wide_Master): Moved from exp_ch3. Update comment on usage. (Build_Master_Entity): Add formal parameter Use_Current. Update comment on usage. (Build_Master_Renaming): Moved from exp_ch3. * sem_ch3.adb (Access_Definition): Remove redundant code to create a _master and a renaming. 2011-10-13 Ed Schonberg <schonberg@adacore.com> * lib-xref.adb: Do no emit reference to overridden operation, if it is internally generated. 2011-10-13 Vincent Celier <celier@adacore.com> * bindgen.adb: Remove any processing related to g-trasym * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS * mlib-prj.adb: Remove any processing related to g-trasym. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179898 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 12 Oct, 2011 3 commits
-
-
ebotcazou authored
* Makefile.in (LOOSE_WARN): Delete. (GCC_WARN_CFLAGS): Set to -W -Wall. (TOOLS_FLAGS_TO_PASS_1): Delete. (TOOLS_FLAGS_TO_PASS_1re): Rename into... (TOOLS_FLAGS_TO_PASS_RE): ...this. (gnattools-native): Use TOOLS_FLAGS_TO_PASS_NATIVE. (regnattools): Use TOOLS_FLAGS_TO_PASS_RE. libada/ * Makefile.in (LOOSE_WARN): Delete. (GCC_WARN_CFLAGS): Likewise. (WARN_CFLAGS): Likewise. (GNATLIBFLAGS): Add -nostdinc. (GNATLIBCFLAGS_FOR_C): Add -W -Wall. (LIBADA_FLAGS_TO_PASS): Remove WARN_CFLAGS. * configure.ac (warn_cflags): Delete. * configure: Regenerate. gcc/ada/ * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning. * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New. (ALL_ADAFLAGS): Include WARN_ADAFLAGS. (ADA_FLAGS_TO_PASS): Likewise. (COMMON_FLAGS_TO_PASS): New. (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS. (gnatlib): Use COMMON_FLAGS_TO_PASS. (ada.install-common): Likewise. (install-gnatlib): Li...
-
ebotcazou authored
(push_range_check_info): Likewise. (gnat_to_gnu) <N_Code_Statement>: Likewise. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise. (gnat_invariant_expr): Likewise. * gcc-interface/utils.c (compute_related_constant): Likewise. (max_size): Fix handling of SAVE_EXPR. (remove_conversions): Fix formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179873 138bc75d-0d04-0410-961f-82ee72b054a4
-
ebotcazou authored
(DECL_INDUCTION_VAR): New macro. (SET_DECL_INDUCTION_VAR): Likewise. * gcc-interface/gigi.h (convert_to_index_type): Declare. (gnat_invariant_expr): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop parameter, set DECL_LOOP_PARM_P on it. * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT. * gcc-interface/trans.c (gnu_loop_label_stack): Delete. (struct range_check_info_d): New type. (struct loop_info_d): Likewise. (gnu_loop_stack): New stack. (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P is set, do not test DECL_RENAMED_OBJECT. (push_range_check_info): New function. (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just the label. Reference the label and the iteration variable from it. Build the special induction variable in the unsigned version of the size type, if it is larger than the base type. And attach it to the iteration variable if the latter isn't by-ref. In the iteration scheme case, initialize the invariant conditions in front of the loop if deemed profitable. Use gnu_loop_stack. (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack. <N_Raise_Constraint_Error>: Always process the reason. In the range check and related cases, and if loop unswitching is enabled, compute invariant conditions and push this information onto the stack. Do not translate again the condition if it has been already translated. * gcc-interface/utils.c (record_global_renaming_pointer): Assert that DECL_LOOP_PARM_P isn't set. (convert_to_index_type): New function. * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order to convert the index from the base index type to sizetype. (gnat_invariant_expr): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179868 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 11 Oct, 2011 1 commit
-
-
meissner authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179820 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 08 Oct, 2011 1 commit
-
-
gerald authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179712 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 07 Oct, 2011 2 commits
-
-
ebotcazou authored
* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment. * gcc-interface/utils.c (global_context): New variable. (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs that are either public external or at top level. Use "No" macro. (end_subprog_body): Call decl_function_context. (rest_of_subprog_body_compilation): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179652 138bc75d-0d04-0410-961f-82ee72b054a4
-
ebotcazou authored
(rest_of_subprog_body_compilation): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming, test for useless conversions by means of gnat_useless_type_conversion. * gcc-interface/trans.c: Include bitmap.h and cgraph.h. (language_function): Add named_ret_val and other_ret_val. (f_named_ret_val): New macro. (f_other_ret_val): Likewise. (gigi): Call rest_of_subprog_body_compilation. (struct nrv_data): New structure. (is_nrv_p): New predicate. (prune_nrv_r): New helper function. (prune_nrv_in_block): New function. (finalize_nrv_r): New helper function. (finalize_nrv): New function. (return_value_ok_for_nrv_p): New predicate. (build_return_expr): If optimization is enabled, record candidates for the Named Return Value optimization. (build_function_stub): Call rest_of_subprog_body_compilation. (Subprogram_Body_to_gnu): If optimization is enabled and there are candidates, finalize the Named Return Value optimization. Call rest_of_subprog_body_compilation. (call_to_gnu): At the end, if a return value is needed, simplify the result before wrapping it up in a COMPOUND_EXPR. * gcc-interface/utils.c (end_subprog_body): Split into... (rest_of_subprog_body_compilation): ...this. New function. (gnat_useless_type_conversion): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179650 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 06 Oct, 2011 2 commits
-
-
charlet authored
* einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb, g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb, s-regpat.adb, s-tpopde-vms.ads: Minor reformatting. * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD. 2011-10-06 Ed Schonberg <schonberg@adacore.com> * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container references. 2011-10-06 Matthew Heaney <heaney@adacore.com> * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb (Dequeue_Only_High_Priority): Protected procedure now implemented. 2011-10-06 Vincent Celier <celier@adacore.com> * g-trasym.adb: Replace old implementation with the default implementation that returns list of addresses as "0x...". * g-trasym.ads: Update the list of platforms with the full capability. Indicate that there is a default implementation for other platforms. * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove. * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there is now a default implementation for all platforms without the full capability. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179631 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb, a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb, a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code reorganization (use conditional expressions). 2011-10-06 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for floating divide by zero. 2011-10-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: Limited interfaces that are not immutably limited are OK in return statements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179629 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 30 Sep, 2011 1 commit
-
-
iains authored
ada: Partial reversion of r179358. * gcc-interface/Makefile.in (Darwin): Partial reversion of previous change to powerpc section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179384 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 29 Sep, 2011 1 commit
-
-
iains authored
ada: * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS across the port. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179358 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 27 Sep, 2011 5 commits
-
-
charlet authored
* a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads, a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads, a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and indefinite sets. * a-coorma.ads: Minor reformmating. * einfo.ads: Improve the comment describing the Directly_Designated_Type function. * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite ordered maps. * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179260 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* a-comutr.ads: Minor reformatting. 2011-09-27 Ed Schonberg <schonberg@adacore.com> * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children iterators to multiway trees. 2011-09-27 Yannick Moy <moy@adacore.com> * debug.adb (d.D): New option for strict Alfa mode. * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler permissions as strictly as possible. * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict Alfa mode, now, interpret ranges of base types like GNAT does; in strict mode, simply change the range of the implicit base Itype. * gnat1drv.adb: Update comments. Set Strict_Alfa_Mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179258 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* exp_ch9.adb: Minor comment fixes. 2011-09-27 Ed Schonberg <schonberg@adacore.com> * a-comutr.adb, a-comutr.ads: Add children iterators on multiway trees. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179257 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* checks.adb (Apply_Scalar_Range_Check): Use Designated_Type instead of Directly_Designated_Type in the indirect array case. 2011-09-27 Robert Dewar <dewar@adacore.com> * exp_util.adb, exp_aggr.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179256 138bc75d-0d04-0410-961f-82ee72b054a4
-
charlet authored
* sinfo.ads, par-ch3.adb: Minor comment update: aspect specification on subtype declarations. * exp_aggr.adb: Minor comment update. 2011-09-27 Eric Botcazou <ebotcazou@adacore.com> * exp_util.adb (Safe_Prefixed_Reference): Remove always-false test in the N_Explicit_Dereference case. Fold double logical negation in the special loop case and conditionalize it on Variable_Ref being true. 2011-09-27 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Selected_Component): If the prefix is a single protected object and the selector is a discriminant or an entry family, this is a non-overloaded candidate interpretation, and possible primitive operations of the type must not be examined. 2011-09-27 Arnaud Charlet <charlet@adacore.com> * s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179255 138bc75d-0d04-0410-961f-82ee72b054a4
-