mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-21 16:09:34 +08:00
2007-04-06 Thomas Quinot <quinot@adacore.com> * exp_dist.ads, exp_dist.adb (Build_To_Any_Call, Build_From_Any_Call): Do an Unchecked_Conversion to handle the passage from the Underlying Type to the Base Type when calling Build_To_Any_Call and Build_From_Any_Call. (Build_Actual_Object_Declaration): Set Object's Ekind to E_Variable or E_Constant, depending upon Variable formal. (GARLIC_Support.Build_Subprogram_Receiving_Stubs, PolyORB_Support.Build_Subprogram_Receiving_Stubs): For a formal parameter that requires an extra constrained parameter, declare temporary for actual as a variable, not a constant. (Add_RACW_Primitive_Declarations_And_Bodies): Generate bodies only when the unit being compiled is the one that contains the stub type. Change primitive operation name for the RACW associated with a RAS from Call to _Call so it cannot clash with any legal identifier. (PolyORB_Support.Add_RACW_Write_Attribute): Remove unused constant Is_RAS. (Append_RACW_Bodies): New subprogram. (Expand_Receiving_Stubs_Bodies): Pass a 'Stmts' list to Add_Receiving_Stubs_To_Declarations functions. When expanding a package body, this list correspond to the statements in the HSS at the end of the pacakge. When expanding a package spec, this list correspond to the spec declarations. (Add_Receiving_Stubs_To_Declarations): Append the function registering the receiving stubs at the end of the 'Stmts' list. (RCI_Package_Locator): Pass the new Version generic formal when instantiating a RCI_Locator package. (Build_From_Any_Function): To compute the High bound for an unconstrained array actual, we add the Low bound with the length. Thus we must convert the low bound and the length to an appropriate type before doing the sum. (Build_Subprogram_Receiving_Stubs, PolyORB): * Retrieve the extra formals parameters at the end of the parameter stream. * Use Move_Any_Value to write back out parameters after executing the request as it is more efficient than Copy_Any_Value. * Build the any containing Extra Formals with the appropriate typecode. (PolyORB_Support.Helpers.Append_Record_Traversal): Nothing to do for an empty Component_List. (Build_Actual_Object_Declaration): New subprogram. Build and insert into the tree the declaration for an object that serves as actual parameter in server-side stubs. (GARLIC_Support.Build_Subprogram_Receiving_Stubs, PolyORB_Support.Build_Subprogram_Receiving_Stubs): Use Build_Actual_Object_Declaration to prepare the actuals. (Add_Parameter_To_NVList): Set the parameter mode to In for Extra Constrained Parameters. (Build_General_Calling_Stubs): Set the parameter type to boolean for Extra Constrained parameters. (Build_To_Any_Function, Build_From_Any_Function, Built_TypeCode_Function): When Typ is implicit, call the correct function with the first not implicit parent type. (TC_Rec_Add_Process_Element, FA_Rec_Add_Process_Element, (FA_Ary_Add_Process_Element): When Datum is an Any, we cannot infer the typecode from the Etype. Therefore we retrieve the correct typecode with a call to Get_Any_Type. (Copy_Specification): Do controlling formal type substitution based on Is_Controlling_Formal flag, instead of caller-provided object type. (Build_Subprogram_Calling_Stubs): When retrieveing the original spec for a RACW primitive operation, we might get a subprogram declaration for an ancestor of the RACW designated type (not for the designated type itself), in the case where this operation is inherited. In this case we have no easy means of determining the original tagged type for which the primitive was declared, so instead we now rely on Copy_Specification to use the Is_Controlling_Formal flag to determine which formals require type substitution. From-SVN: r123565 |
||
---|---|---|
boehm-gc | ||
config | ||
contrib | ||
fixincludes | ||
gcc | ||
gnattools | ||
include | ||
INSTALL | ||
intl | ||
libada | ||
libcpp | ||
libdecnumber | ||
libffi | ||
libgcc | ||
libgfortran | ||
libgomp | ||
libiberty | ||
libjava | ||
libmudflap | ||
libobjc | ||
libssp | ||
libstdc++-v3 | ||
maintainer-scripts | ||
zlib | ||
ABOUT-NLS | ||
ChangeLog | ||
ChangeLog.tree-ssa | ||
compile | ||
config-ml.in | ||
config.guess | ||
config.rpath | ||
config.sub | ||
configure | ||
configure.ac | ||
COPYING | ||
COPYING.LIB | ||
depcomp | ||
install-sh | ||
libtool-ldflags | ||
libtool.m4 | ||
ltcf-c.sh | ||
ltcf-cxx.sh | ||
ltcf-gcj.sh | ||
ltconfig | ||
ltmain.sh | ||
MAINTAINERS | ||
Makefile.def | ||
Makefile.in | ||
Makefile.tpl | ||
missing | ||
mkdep | ||
mkinstalldirs | ||
move-if-change | ||
README | ||
README.SCO | ||
symlink-tree | ||
ylwrap |
This directory contains the GNU Compiler Collection (GCC). The GNU Compiler Collection is free software. See the file COPYING for copying permission. The manuals, and some of the runtime libraries, are under different terms; see the individual source files for details. The directory INSTALL contains copies of the installation information as HTML and plain text. The source of this information is gcc/doc/install.texi. The installation information includes details of what is included in the GCC sources and what files GCC installs. See the file gcc/doc/gcc.texi (together with other files that it includes) for usage and porting information. An online readable version of the manual is in the files gcc/doc/gcc.info*. See http://gcc.gnu.org/bugs.html for how to report bugs usefully.