19590d704b
2007-08-16 Gary Dismukes <dismukes@adacore.com> Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given by an aggregate to test for an unchecked conversion, since this can occur in some cases when the ancestor part is a function call, and we don't want to fall into the recursive call to this procedure in that case. * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of stream attributes on limited types to account for user-specified attributes as well as whether Input (resp. Output) becomes available due to Read (resp. Write) being available for the type. Change Boolean variable to the more accurate name Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted double-"not" predicate at beginning of return statement to more understandable form. * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended return has an associated N_Handled_Sequence_Of_Statements, then wrap it in a block statement and use that as the first statement of the expanded return rather than incorrectly using the handled sequence as the first statement. * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected operation, generate an explicit freeze node for it rather than generating extra formals, to ensure that gigi has the proper order of elaboration for anonymous subtypes in the signature of the subprograms. (Build_In_Place_Formal): Move assertion to beginning of loop. (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion applied to a function call (occurs for some cases of 'Input). (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion applied to a function call (occurs for some cases of 'Input). * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada 2005, generate an extended return statement enclosing the result object and 'Read call. * freeze.adb (Freeze_Record_Type): Extend the current management of components that are access type with an allocator as default value: add missing support to the use of qualified expressions of the allocator (which also cause freezing of the designated type!) (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined dispatching operation, since extra formals may be needed by calls to build-in-place functions (such as stream 'Input). * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra formals for 'Constrained and accessibility level in the case of a predefined dispatching operation. * exp_util.adb (Insert_Actions): A protected body is a valid insertion point, no need to find the parent node. From-SVN: r127538 |
||
---|---|---|
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 | ||
COPYING3 | ||
COPYING3.LIB | ||
COPYING.LIB | ||
depcomp | ||
install-sh | ||
libtool-ldflags | ||
libtool.m4 | ||
lt~obsolete.m4 | ||
ltgcc.m4 | ||
ltmain.sh | ||
ltoptions.m4 | ||
ltsugar.m4 | ||
ltversion.m4 | ||
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.