summaryrefslogtreecommitdiffstats
path: root/gcc/ada/gcc-interface
Commit message (Collapse)AuthorAgeFilesLines
...
* * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.ebotcazou2012-01-091-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183025 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-20 Ed Schonberg <schonberg@adacore.com>charlet2011-12-201-364/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Further refinements on the placement of a freeze node for a package instantiation, when the generic appears within a previous instantiation in the same unit.If the current instance is within the one that contains the generic, the freeze node for the current one must appear in the current declarative part. Ditto if the current instance is within another package instance. In these cases the freeze node of the previous instance is is not relevant. New predicate Enclosing_Body simplifies the process. (Freeze_Subprogram_Body): Rename Enclosing_Body to Enclosing_Package_Body, to prevent confusion with subprogram of same name elsewhere. (Install_Body): Recognize enclosing subprogram bodies to determine whether freeze_node belongs in current declarative list. 2011-12-20 Robert Dewar <dewar@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow attribute definition clause for renaming if generated internally and generate duplicate clause to apply to renamed object. (Rep_Item_Too_Late): Only diagnose source level entities * prj-nmsc.adb: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182542 138bc75d-0d04-0410-961f-82ee72b054a4
* Support 64-bit libgnat multilib on i?86-linuxro2011-12-201-3/+15
| | | | | | | | | * gcc-interface/Makefile.in (%86 linux%): (LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS. (LIBGNAT_TARGET_PAIRS_64): New. (LIBGNAT_TARGET_PAIRS): Add either depending on multilib. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182527 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_param): Add comment about doubleebotcazou2011-12-182-2/+7
| | | | | | | | | reference and DECL_POINTS_TO_READONLY_P. * gcc-interface/trans.c (Identifier_to_gnu) <by_ref>: Always set the TREE_READONLY flag on the first dereference of a double dereference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182460 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-15 Vincent Pucci <pucci@adacore.com>charlet2011-12-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aspects.adb, aspects.ads Aspect_Dimension and Aspect_Dimension_System added * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String case added * gcc-interface/Make-lang.in: s-llflex, sem_dim added. * impunit.adb :s-diflio and s-diinio defined as GNAT Defined Additions to System. * Makefile.rtl: s-diflio, s-diinio and s-llflex added * par-prag.adb, sem_prag.adb: Pragma_Dimension removed * rtsfind.ads: Expon_LLF added * sem_aggr.adb (Resolve_Aggregate): handles aggregate for Aspect_Dimension case * sem_attr.adb (Resolve_Attribute): analyze dimension for attribute * sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages due to the use of a GNAT library for Dimension packages * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Dimension and Aspect_Dimension_System cases added (Check_Aspect_At_Freeze_Point): Aspect_Dimension and Aspect_Dimension_System cases added * sem_ch2.adb (Analyze_Identifier): analyze dimension for identifier * sem_ch3.adb (Analyze_Component_Declaration): analyze dimension for component declaration (Analyze_Object_Declaration): analyze dimension for object declaration (Analyze_Subtype_Declaration): analyze dimension for subtype declaration * sem_ch4.adb (Operator_Check): checks exponent is a rational for dimensioned operand for a N_Op_Expon * sem_ch5.adb (Analyze_Assignment): analyze dimension for assignment (Analyze_Statements): removal of dimensions in all statements * sem_ch6.adb (Analyze_Return_Statement): analyze dimension for return statement * sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for object renaming * sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension): analyze the expression for aspect dimension and store the values in a Htable. (Analyze_Aspect_Dimension_System): analyze the expression for aspect dimension system and store the new system in a Table. (Analyze_Dimension): propagates dimension (Expand_Put_Call_With_Dimension_String): add the dimension string as a suffix of the numeric value in the output (Has_Dimension): return True if the node has a dimension (Remove_Dimension_In_Declaration): removal of dimension in the expression of the declaration. (Remove_Dimension_In_Statement): removal of dimension in statement * sem_res.adb (Resolve): analyze dimension if the node has already been analyzed. (Resolve_Arithmetic_Op): analyze dimension for arithmetic op. (Resolve_Call): analyze dimension for function call. (Resolve_Comparison_Op): analyze dimension for comparison op. (Resolve_Equality_Op): analyze dimension for equality op. (Resolve_Indexed_Component): analyze dimension for indexed component. (Resolve_Op_Expon): analyze dimension for op expon. (Resolve_Selected_Component): analyze dimension for selected component. (Resolve_Slice): analyze dimension for slice. (Resolve_Unary_Op): analyze dimension for unary op (Resolve_Type_Conversion): analyze dimension for type conversion (Resolve_Unchecked_Type_Conversion): analyze dimension for unchecked type conversion * snames.ads-tmpl Name_Dimension, Name_Dimension_System, Name_Dim_Float_IO, Name_Dim_Integer_IO, Name_Generic_Elementary_Functions, Name_Sqrt added. Pragma_Dimension removed * s-diflio.adb, s-diflio.ads New GNAT library generic package for dimensioned float type IO * s-diinio.adb, s-diinio.ads New GNAT library generic package for dimensioned integer type IO * s-llflex.ads (Expon_LLF): exponentiation routine for long long floats operand and exponent 2011-12-15 Robert Dewar <dewar@adacore.com> * sem_aggr.adb: Minor comment addition. 2011-12-15 Bob Duff <duff@adacore.com> * s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a task dispatching point. * s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182368 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-12 Robert Dewar <dewar@adacore.com>charlet2011-12-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * s-taprop-mingw.adb: Minor reformatting. 2011-12-12 Nicolas Roche <roche@adacore.com> * gcc-interface/Make-lang.in: Update dependencies. Add gnattools4 target when building tools in canadian mode 2011-12-12 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_VM_TSD): Complete previous patch. 2011-12-12 Bob Duff <duff@adacore.com> * s-tpobop.adb: Use named notation. * g-bytswa.ads, s-taprop.ads: Minor comment fix. 2011-12-12 Arnaud Charlet <charlet@adacore.com> * make.adb: Minor comment update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182242 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATICebotcazou2011-12-111-1/+1
| | | | | | | flag of elements to compute that of the constructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182203 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifierebotcazou2011-12-111-0/+8
| | | | | | | on references built for parameters which aren't specifically by-ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182202 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is anebotcazou2011-12-111-0/+11
| | | | | | | | alignment set on a renaming, assert that the renamed object is aligned enough as to make it possible to honor it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182201 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (gigi): Initialize the linemap earlier.ebotcazou2011-12-111-7/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182199 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):davek2011-12-061-5/+19
| | | | | | | | | | | | | | | | | | Correctly detect cygwin, which no longer has the '32' suffix, and use appropriate implementations of the sockets and memory packages. * sysdep.c (WIN_SETMODE): New define to choose the correct spelling of setmode/_setmode for MinGW and Cygwin, respectively. (__gnat_set_binary_mode [windows targets]): Use the above, and enable the windows version for Cygwin as well as MinGW. (__gnat_set_text_mode [windows targets]): Likewise. (__gnat_ttyname [windows targets]): Provide a Cygwin implementation in addition to the MinGW version. (__gnat_is_windows_xp): Make available to Cygwin as well as MinGW. (__gnat_get_stack_bounds): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182065 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-02 Eric Botcazou <ebotcazou@adacore.com>charlet2011-12-022-107/+117
| | | | | | | | | | | | | | Thomas Quinot <quinot@adacore.com> * gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config. (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks. Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts, which allows the file to be installed in adainclude. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181928 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/51201jakub2011-12-011-2/+2
| | | | | | | * gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181877 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-23 Thomas Quinot <quinot@adacore.com>charlet2011-11-232-18/+22
| | | | | | | | | | | | | | | | | | | | | * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup only on platforms where this is required, as determined by s-oscons.h. 2011-11-23 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb: No check on entry index if error on index. 2011-11-23 Gary Dismukes <dismukes@adacore.com> * sem_ch6.adb (Analyze_Return_Statement): Improve error messages for return statements nested inside an extended_return_statement. * gcc-interface/Make-lang.in: Update dependencies. * gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181670 138bc75d-0d04-0410-961f-82ee72b054a4
* Update dependencies.charlet2011-11-231-24/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181661 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-23 Robert Dewar <dewar@adacore.com>charlet2011-11-232-5/+7
| | | | | | | | | | | | | | | | | | | | | | * exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor reformatting. 2011-11-23 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): Place error on line of precondition/ postcondition/invariant. 2011-11-23 Pascal Obry <obry@adacore.com> * g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb, terminals.c: New files. Makefile.rtl: Add these new files. * gnat_rm.texi: Add documentation for GNAT.Expect.TTY. * gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181655 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-21 Arnaud Charlet <charlet@adacore.com>charlet2011-11-211-153/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use Unrestricted_Access to deal with fact that we properly detect the error if Access is used. * gcc-interface/Make-lang.in: Update dependencies. 2011-11-21 Yannick Moy <moy@adacore.com> * exp_prag.adb (Expand_Pragma_Check): Place error on first character of expression. * sem_res.adb (Resolve_Short_Circuit): Place error on first character of expression. 2011-11-21 Yannick Moy <moy@adacore.com> * exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode. 2011-11-21 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Max_Size_In_Storage_Elements): Account for the size of the hidden list header which precedes controlled objects allocated on the heap. * rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime tables. * sinfo.adb (Header_Size_Added): New routine. (Set_Header_Size_Added): New routine. * sinfo.ads: Add flag Controlled_Header_Added along with associated comment. (Header_Size_Added): New inlined routine. (Set_Header_Size_Added): New inlined routine. * s-stposu.adb (Allocate_Any_Controlled): Use Header_Size_With_Padding to calculate the proper size of the header. (Deallocate_Any_Controlled): Use Header_Size_With_Padding to calculate the proper size of the header. (Header_Size_With_Padding): New routine. (Nearest_Multiple_Rounded_Up): Removed along with its uses. * s-stposu.ads (Header_Size_With_Padding): New routine. 2011-11-21 Ed Schonberg <schonberg@adacore.com> * aspects.adb: Aspect specifications are allowed on renaming declarations * par-ch6.adb (P_Subprogram): Parse aspect specifications in a subprogram renaming declaration git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181576 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) byebotcazou2011-11-211-9/+3
| | | | | | | means of -iquote unconditionally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181573 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (struct language_function): Add GNAT_RET.ebotcazou2011-11-201-9/+202
| | | | | | | | | | | | | | | | | (f_gnat_ret): New macro. (struct nrv_data): Add GNAT_RET. (finalize_nrv_unc_r): New helper function. (finalize_nrv): Add GNAT_RET parameter. Copy it into DATA. If the function returns unconstrained, use finalize_nrv_unc_r as callback. (return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if RET_OBJ is non-null. (Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv. (gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case, if optimization is enabled, record candidates for the Named Return Value optimization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181528 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.ebotcazou2011-11-202-12/+11
| | | | | | | | | | | | (gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless test. Tweak default case. <N_Goto_Statement>: Use better formatting. * gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of MODIFY_EXPR to initialize the storage. (build_allocator): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181527 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjustebotcazou2011-11-202-66/+129
| | | | | | | | | | | | | | | | | | | | | | | | call to components_to_record. (components_to_record): Add FIRST_FREE_POS parameter. For the variant part, reuse enclosing union even if there is a representation clause on the Unchecked_Union. If there is a variant part, compute the new first free position, if any. Adjust call to self. Use a single field directly only if it hasn't got a representation clause or is placed at offset zero. Create the variant part at offset 0 if all the fields down to this level have a rep clause. Do not chain the variant part immediately and adjust downstream. Do not test ALL_REP before moving the fields without rep clause to the previous level. Call create_rep_part to create the REP part and force a minimum size on it if necessary. Do not chain it immediately. Create a fake REP part if there are fields without rep clause that need to be laid out starting from FIRST_FREE_POS. At the end, chain the REP part and then the variant part. (create_rep_part): New function. (get_rep_part): Minor tweak. * gcc-interface/utils.c (tree_code_for_record_type): Minor tweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181526 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada:iains2011-11-181-1/+0
| | | | | | | | | | | | | | 2011-11-18 Tristan Gingold <gingold@adacore.com> Iain Sandoe <iains@gcc.gnu.org> PR target/49992 * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove. * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing for Darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181470 138bc75d-0d04-0410-961f-82ee72b054a4
* ada:iains2011-11-122-5/+34
| | | | | | | | | | | | | | | | | | | | | * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads. (OSCONS_CPP, OSCONS_EXTRACT): New. (./bldtools/oscons/xoscons): New Target. ($(RTSDIR)/s-oscons.ads): New Target. (gnatlib): Depend on $(RTSDIR)/s-oscons.ads. * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency. * Make-generated.in: Remove machinery to generate xoscons and ada/s-oscons.ads. libada: Makefile.in: Change dependency on oscons to depend on the generator tool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181319 138bc75d-0d04-0410-961f-82ee72b054a4
* * fe.h (Serious_Errors_Detected): New macro.ebotcazou2011-11-104-18/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | * gcc-interface/gigi.h (build_atomic_load): Declare. (build_atomic_store): Likewise. * gcc-interface/trans.c (atomic_sync_required_p): New predicate. (call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable. Build an atomic load for an In or In Out parameter if needed. Build an atomic store for the assignment of an Out parameter if needed. Build an atomic store to the target if ATOMIC_SYNC is true. (present_in_lhs_or_actual_p): New predicate. (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed. <N_Explicit_Dereference>: Likewise. <N_Indexed_Component>: Likewise. <N_Selected_Component>: Likewise. <N_Assignment_Statement>: Adjust call to call_to_gnu. Build an atomic store to the LHS if needed. <N_Function_Call>: Adjust call to call_to_gnu. * gcc-interface/utils2.c: Include toplev.h. (resolve_atomic_size): New static function. (build_atomic_load): New function. (build_atomic_store): Likewise. * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181267 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-07 Olivier Hainque <hainque@adacore.com>charlet2011-11-071-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sigtramp-ppcvxw.c: Add general comments. (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add rules for r2 to r13, plus CTR and XER. (CFA_REG): New, register number used to hold the local CFA. (CFI_DEF_CFA, SIGTRAMP_BODY): Use it. Make that 15, not 14, with documentation. (TCR): Undef before definition, preventing conflict with reg number in VxWorks headers. 2011-11-07 Robert Dewar <dewar@adacore.com> * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb, aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting. * gcc-interface/Make-lang.in: Update dependencies. 2011-11-07 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb: A tagged type is a legal actual for an aliased formal. 2011-11-07 Pascal Obry <obry@adacore.com> * g-socket.adb, g-socket.ads: Minor reformatting. 2011-11-07 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Actuals): Minor error message improvement. 2011-11-07 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Add discussion of default mode handling of source representation with no -gnatW option given, in particular noting that NEL (next line) is not recognized in this context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181094 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in: Update dependencies.charlet2011-11-041-5/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180960 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-11-04 Robert Dewar <dewar@adacore.com>charlet2011-11-042-33/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_warn.adb (Warn_On_Useless_Assignment): More accurate test for call vs assign. * gcc-interface/Make-lang.in: Update dependencies. 2011-11-04 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Detect more cases of Long_Float inconsistencies at compile time. 2011-11-04 Matthew Heaney <heaney@adacore.com> * Makefile.rtl, impunit.adb: Added a-sfecin.ads, * a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb] * a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]: New files. 2011-11-04 Geert Bosch <bosch@adacore.com> * i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads, s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads, i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK. * gcc-interface/Makefile.in: Remove libgnala and related objects. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180935 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assertebotcazou2011-11-041-1/+2
| | | | | | | that the type of the parameters isn't dummy in type_annotate_only mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180931 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/50842ebotcazou2011-10-281-8/+9
| | | | | | | | | | | | | * gcc-interface/Makefile.in (SYMDEPS): Delete. (LIBICONV): New variable. (LIBICONV_DEP): Likewise. (LIBS): Add $(LIBICONV). (LIBDEPS): Add $(LIBICONV_DEP). (EXTRA_GNATTOOLS_OBJS): Merge into... (TOOLS_LIBS): ...this. Add $(LIBICONV). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180605 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P localebotcazou2011-10-261-6/+6
| | | | | | | variable. Always create the elaboration variable, if any, as constant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180541 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try toebotcazou2011-10-265-38/+19
| | | | | | | | | | | | | | | | | | | | | make a packable type for fields of union types as well. <is_type>: Use RECORD_OR_UNION_TYPE_P predicate. (gnat_to_gnu_component_type): Try to make a packable type for fields of union types as well. (make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate. (maybe_pad_type): Try to make a packable type for fields of union types as well. (gnat_to_gnu_field): Likewise. (is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate. (set_rm_size): Likewise. (rm_size): Likewise. * gcc-interface/misc.c (gnat_type_max_size): Likewise. * gcc-interface/trans.c (add_decl_expr): Likewise. * gcc-interface/utils.c (finish_record_type): Likewise. * gcc-interface/utils2.c (build_simple_component_ref): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180540 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_field): Always check componentsebotcazou2011-10-261-8/+10
| | | | | | | declared as atomic. Move around conditionally executed code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180539 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-16 Tristan Gingold <gingold@adacore.com>charlet2011-10-241-3/+6
| | | | | | | | * gcc-interface/Makefile.in: Use GNU ld switches to generate map files on AIX. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180374 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (create_concat_name): Add explicit cast.ebotcazou2011-10-231-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180347 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,ebotcazou2011-10-201-6/+16
| | | | | | | | | TRACE): Reintroduce. (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180246 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (lhs_or_actual_p): New predicate.ebotcazou2011-10-201-17/+31
| | | | | | | | (unchecked_conversion_nop): Use it. (gnat_to_gnu): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180243 138bc75d-0d04-0410-961f-82ee72b054a4
* * back_end.adb (Call_Back_End): Pass the maximum logical line numberebotcazou2011-10-201-0/+4
| | | | | | | | instead of the maximum physical line number to gigi. * gcc-interface/trans.c (Sloc_to_locus): Cope with line zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180242 138bc75d-0d04-0410-961f-82ee72b054a4
* Linemap infrastructure for virtual locationsdodji2011-10-171-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* 2011-10-15 Nicolas Roche <roche@adacore.com>charlet2011-10-151-1/+1
| | | | | | | | | * 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
* 2011-10-13 Ed Schonberg <schonberg@adacore.com>charlet2011-10-132-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * gcc-interface/Makefile.in: Fix typo.charlet2011-10-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179900 138bc75d-0d04-0410-961f-82ee72b054a4
* gnattools/ebotcazou2011-10-124-131/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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): Likewise. (install-gnatlib-obj): Likewise. (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well. (gnat-cross): Delete. (gnatboot): Likewise. (gnatboot2): Likewise. (gnatboot3): Likewise. (gnatstage1): Likewise. (gnatstage2): Likewise. * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise. (MOST_ADAFLAGS): Likewise. (LOOSE_CFLAGS): Likewise. (gnat-cross): Likewise. (GNATLIBFLAGS): Add -W -Wall. (GNATLIBCFLAGS_FOR_C): Likewise. * gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines. * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179878 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.ebotcazou2011-10-123-32/+18
| | | | | | | | | | | | | (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
* * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.ebotcazou2011-10-127-66/+415
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Convert standard builtin functions from being arrays to using a functional ↵meissner2011-10-112-6/+4
| | | | | | interface git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179820 138bc75d-0d04-0410-961f-82ee72b054a4
* PR lto/50492ebotcazou2011-10-072-9/+17
| | | | | | | | | | | | * 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
* * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.ebotcazou2011-10-074-16/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* 2011-10-06 Thomas Quinot <quinot@adacore.com>charlet2011-10-061-33/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* ada:iains2011-09-301-1/+3
| | | | | | | | | | | 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
* ada:iains2011-09-291-35/+15
| | | | | | | | | * 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
OpenPOWER on IntegriCloud