Go to file
Robert Dewar f937473fe9 einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
2007-04-06  Robert Dewar  <dewar@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Bob Duff  <duff@adacore.com>

	* einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function
	(Next_Component_Or_Discriminant): New function and procedure
	(First_Index, First_Literal, Master_Id,
	Set_First_Index, Set_First_Literal, Set_Master_Id):
	Add missing Ekind assertions.
	(Is_Access_Protected_Subprogram_Type): New predicate.
	(Has_RACW): New entity flag, set on package entities to indicate that
	the package contains the declaration of a remote accecss-to-classwide
	type.
	(E_Return_Statement): This node type has the Finalization_Chain_Entity
	attribute, in case the result type has controlled parts.
	(Requires_Overriding): Add this new flag, because "requires
	overriding" is subtly different from "is abstract" (see AI-228).
	(Is_Abstract): Split Is_Abstract flag into Is_Abstract_Subprogram and
	Is_Abstract_Type. Make sure these are called only when appropriate.
	(Has_Pragma_Unreferenced_Objects): New flag

	* exp_ch5.adb (Expand_N_Assignment_Statement): If the left-hand side is
	class-wide, the tag of the right-hand side must be an exact match, not
	an ancestor of that of the object on left-hand side.
	(Move_Activation_Chain): New procedure to create the call to
	System.Tasking.Stages.Move_Activation_Chain.
	(Expand_N_Extended_Return_Statement): Generate code to call
	System.Finalization_Implementation.Move_Final_List at the end of a
	return statement if the function's result type has controlled parts.
	Move asserts to Build_In_Place_Formal.
	(Move_Final_List): New function to create the call statement.
	(Expand_N_Assignment_Statement): In case of assignment to a class-wide
	tagged type, replace generation of call to the run-time subprogram
	CW_Membership by call to Build_CW_Membership.
	(Expand_N_Return_Statement): Replace generation of call to the run-time
	subprogram Get_Access_Level by call to Build_Get_Access_Level.
	(Expand_N_Simple_Function_Return): Replace generation of call to the
	run-time subprogram Get_Access_Level by call to Build_Get_Access_Level.

	* exp_ch6.ads, exp_ch6.adb (Expand_Call): Use new predicate
	Is_Access_Protected_Subprogram_Type, to handle both named and anonymous
	access to protected operations.
	(Add_Task_Actuals_To_Build_In_Place_Call): New procedure to add the
	master and chain actual parameters to a build-in-place function call
	involving tasks.
	(BIP_Formal_Suffix): Add new enumeration literals to complete the case
	statement.
	(Make_Build_In_Place_Call_In_Allocator,
	Make_Build_In_Place_Call_In_Anonymous_Context,
	Make_Build_In_Place_Call_In_Assignment,
	Make_Build_In_Place_Call_In_Object_Declaration): Call
	Add_Task_Actuals_To_Build_In_Place_Call with the appropriate master.
	(Expand_Inlined_Call): If the subprogram is a null procedure, or a
	stubbed procedure with a null body, replace the call with a null
	statement without using the full inlining machinery, for efficiency
	and to avoid invalid values in source file table entries.

	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Add support for
	renamings of calls to build-in-place functions.

	* rtsfind.adb (RTE_Record_Component_Available): New subprogram that
	provides the functionality of RTE_Available to record components.
	(RTU_Entity): The function Entity has been renamed to RTU_Entity
	to avoid undesired overloading.
	(Entity): New subprogram that returns the entity for the referened
	unit. If this unit has not been loaded, it returns Empty.
	(RE_Activation_Chain_Access, RE_Move_Activation_Chain): New entities.
	Remove no longer used entities.
	(RE_Finalizable_Ptr_Ptr, RE_Move_Final_List): New entities.
	(RE_Type_Specific_Data): New entity.
	(RE_Move_Any_Value): New entity.
	(RE_TA_A, RE_Get_Any_Type): New entities.
	(RE_Access_Level, RE_Dispatch_Table, E_Default_Prim_Op_Count,
	 RE_Prims_Ptr, RE_RC_Offset, RE_Remotely_Callable,
	 RE_DT_Typeinfo_Ptr_Size, RE_Cstring_Ptr, RE_DT_Expanded_Name): Added.
	(Entity): New subprogram that returns the entity for the referened
	unit. If this unit has not been loaded, it returns Empty.
	(RTE): Addition of a new formal that extends the search to the scopes
	of the record types found in the chain of the package.

	* sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Print
	"abstract subprograms must be visible" message, whether or not the type
	is an interface; that is, remove the special case for interface types.
	(Analyze_Function_Return): Remove error message "return of task objects
	is not yet implemented" because this is now implemented.
	(Create_Extra_Formals): Add the extra master and activation chain
	formals in case the result type has tasks.
	Remove error message "return of limited controlled objects is not yet
	implemented".
	(Create_Extra_Formals): Add the extra caller's finalization list formal
	in case the result type has controlled parts.
	(Process_Formals): In case of access formal types there is no need
	to continue with the analysis of the formals if we already notified
	errors.
	(Check_Overriding_Indicator): Add code to check overriding of predefined
	operators.
	(Create_Extra_Formals): Prevent creation of useless Extra_Constrained
	flags for formals that do not require them,.
	(Enter_Overloaded_Entity): Do not give -gnatwh warning message unless
	hidden entity is use visible or directly visible.
	(Analyze_Abstract_Subprogram_Declaration,Analyze_Subprogram_Body,
	Analyze_Subprogram_Declaration,Analyze_Subprogram_Specification,
	Check_Conventions,Check_Delayed_Subprogram,Make_Inequality_Operator,
	New_Overloaded_Entity): Split Is_Abstract flag into
	Is_Abstract_Subprogram and Is_Abstract_Type.

	* s-finimp.ads, s-finimp.adb (Move_Final_List): New procedure to move
	a return statement's finalization list to the caller's list, used for
	build-in-place functions with result type with controlled parts.
	Remove no longer used entities.

	* s-taskin.ads (Activation_Chain): Remove pragma Volatile. It is no
	longer needed, because the full type is now limited, and therefore a
	pass-by-reference type.
	(Foreign_Task_Level): New constant.

	* s-tassta.ads, s-tassta.adb (Move_Activation_Chain): New procedure to
	move tasks from the activation chain belonging to a return statement to
	the one passed in by the caller, and update the master to the one
	passed in by the caller.
	(Vulnerable_Complete_Master, Check_Unactivated_Tasks): Check the master
	of unactivated tasks, so we don't kill the ones that are being returned
	by a build-in-place function.
	(Create_Task): Ignore AI-280 for foreign threads.

From-SVN: r123558
2007-04-06 11:19:10 +02:00
boehm-gc closures.c: Include sys/statfs.h. 2007-04-03 11:12:40 +02:00
config acx.m4 (ACX_BUGURL): Set BUGURL first. 2007-03-26 08:37:47 -07:00
contrib * texi2pod.pl: Correct handling of @itemize with no argument. 2007-04-05 05:46:41 +00:00
fixincludes inclhack.def (glibc_c99_inline_1): Define __USE_EXTERN_INLINES if __extern_inline or __GNUC_GNU_INLINE__ is... 2007-03-26 15:25:26 +02:00
gcc einfo.ads, einfo.adb: (First_Component_Or_Discriminant): New function 2007-04-06 11:19:10 +02:00
gnattools * Makefile.in: Add dummy install-pdf target. 2007-03-01 15:55:34 -08:00
include filenames.h (FILENAME_CMP): Adjust define to call filename_cmp regardless of the type of file system. 2007-03-29 20:55:57 +00:00
INSTALL
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada * Makefile.in: Add dummy install-pdf target. 2007-03-01 16:05:13 -08:00
libcpp make alloca call type correct 2007-03-30 22:40:19 +00:00
libdecnumber Add BID decimal support 2007-03-24 17:04:47 +00:00
libffi closures.c: Include sys/statfs.h. 2007-04-03 11:12:40 +02:00
libgcc * configure: Check host, not target, for decimal float support. 2007-04-04 21:15:57 +00:00
libgfortran re PR fortran/31304 (REPEAT argument NCOPIES is not converted as it should) 2007-04-03 21:05:14 +00:00
libgomp libgomp.h (gomp_cpu_affinity, [...]): New extern decls. 2007-04-04 17:44:20 +02:00
libiberty * filename_cmp.c (filename_cmp): Improve documentation. 2007-04-06 06:00:18 +00:00
libjava DecimalFormatSymbols.java: Added the year 2007 to Copyright information and introduced new variable, currency. 2007-04-05 00:15:16 +00:00
libmudflap pass59-frag.c (main): Fix casting of arg. 2007-03-14 08:53:32 +01:00
libobjc * Makefile.in: Add dummy install-pdf target. 2007-03-01 15:58:28 -08:00
libssp Makefile.am: Add dummy install-pdf target. 2007-03-01 15:50:30 -08:00
libstdc++-v3 valarray_array.h (__valarray_default_construct(_Tp*, _Tp*)): Use __is_scalar instead of __is_pod. 2007-04-04 19:06:46 +00:00
maintainer-scripts Revert some changes inadvertently committed as part of the previous revision. 2007-04-01 00:08:27 +00:00
zlib Makefile.am: Add dummy install-pdf target. 2007-03-01 16:00:52 -08:00
ABOUT-NLS
ChangeLog (Write After Approval): Add myself. 2007-04-04 08:47:08 +02:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
config.rpath
config.sub config.sub: Sync with src. 2007-02-09 16:31:28 +00:00
configure Revert accidental commit. 2007-03-26 18:50:13 -04:00
configure.ac configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix m4 quoting of glob. 2007-03-21 20:09:15 +00:00
COPYING
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig * ltconfig (freebsd*): Default to elf. 2007-02-14 13:19:26 +00:00
ltmain.sh Port to hosts whose 'sort' and 'tail' implementations treat operands with leading '+' as file names... 2006-07-06 23:24:51 +00:00
MAINTAINERS (Write After Approval): Add myself. 2007-04-04 08:47:08 +02:00
Makefile.def Makefile.in: Add dummy "install-info" target. 2007-03-12 11:58:12 -07:00
Makefile.in Makefile.in: Add dummy "install-info" target. 2007-03-12 11:58:12 -07:00
Makefile.tpl configure.ac: Add "--with-pdfdir" configure option, which defines pdfdir variable. 2007-03-01 16:28:09 -08:00
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.