Go to file
Bob Duff 88b32fc3a7 g-awk.adb (Default_Session, [...]): Compile this file in Ada 95 mode, because it violates the new rules for AI-318.
2006-10-31  Bob Duff  <duff@adacore.com>
	    Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* g-awk.adb (Default_Session, Current_Session): Compile this file in
	Ada 95 mode, because it violates the new rules for AI-318.

	* g-awk.ads: Use overloaded subprograms in every case where we used to
	have a default of Current_Session. This makes the code closer to be
	correct for both Ada 95 and 2005.

	* g-moreex.adb (Occurrence): Turn off warnings for illegal-in-Ada-2005
	code, relying on the fact that the compiler generates a warning
	instead of an error in -gnatg mode.

	* lib-xref.ads (Xref_Entity_Letters): Add entry for new
	E_Return_Statement entity kind.
	Add an entry for E_Incomplete_Subtype in Xref_Entity_Letters.

	* par.adb (P_Interface_Type_Definition): Addition of one formal to
	report an error if the reserved word abstract has been previously found.
	(SS_End_Type): Add E_Return for new extended_return_statement syntax.
        
        * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve message for
	parenthesized range attribute usage
	(P_Expression_No_Right_Paren): Add missing comment about error recovery.

	* par-ch6.adb (P_Return_Object_Declaration): AI-318: Allow "constant"
	in the syntax for extended_return_statement. This is not in the latest
	RM, but the ARG is expected to issue an AI allowing this.
	(P_Return_Subtype_Indication,P_Return_Subtype_Indication): Remove
	N_Return_Object_Declaration. We now use N_Object_Declaration instead.
	(P_Return_Object_Declaration, P_Return_Subtype_Indication,
	P_Return_Statement): Parse the new syntax for extended_return_statement.

	* par-endh.adb (Check_End, Output_End_Deleted, Output_End_Expected,
	Output_End_Missing): Add error-recovery code for the new
	extended_return_statement syntax; that is, the new E_Return entry on
	the scope stack.

	* s-auxdec-vms_64.ads, s-auxdec.ads (AST_Handler): Change type from
	limited to nonlimited, because otherwise we violate the new Ada 2005
	rules about returning limited types in function Create_AST_Handler in
	s-asthan.adb.

	* sem.adb (Analyze): Add cases for new node kinds
	N_Extended_Return_Statement and N_Return_Object_Declaration.

	* sem_aggr.adb (Aggregate_Constraint_Checks): Verify that component
	type is in the same category as type of context before applying check,
	to prevent anomalies in instantiations.
	(Resolve_Aggregate): Remove test for limited components in aggregates.
	It's unnecessary in Ada 95, because if it has limited components, then
	it must be limited. It's wrong in Ada 2005, because limited aggregates
	are now allowed.
	(Resolve_Record_Aggregate): Move check for limited types later, because
	OK_For_Limited_Init requires its argument to have been resolved.
	(Get_Value): When copying the component default expression for a
	defaulted association in an aggregate, use the sloc of the aggregate
	and not that of the original expression, to prevent spurious
	elaboration errors, when the expression includes function calls.
	(Check_Non_Limited_Type): Correct code for AI-287, extension aggregates
	were missing. We also didn't handle qualified expressions. Now also
	allow function calls. Use new common routine OK_For_Limited_Init.
	(Resolve_Extension_Aggregate): Minor fix to bad error message (started
	with space can upper case letter).

        * sem_ch3.ads, sem_ch3.adb (Create_Constrained_Components): Set
	Has_Static_Discriminants flag
        (Record_Type_Declaration): Diagnose an attempt to declare an interface
        type with discriminants.
        (Process_Range_Expr_In_Decl): Do validity checks on range
	(Build_Discriminant_Constraints): Use updated form of
	Denotes_Discriminant.
	(Process_Subtype): If the subtype is a private subtype whose full view
	is a concurrent subtype, introduce an itype reference to prevent scope
	anomalies in gigi.
	(Build_Derived_Record_Type, Collect_Interface_Primitives,
	Record_Type_Declaration):  The functionality of the subprograms
	Collect_Abstract_Interfaces and Collect_All_Abstract_Interfaces
	is now performed by a single routine.
	(Build_Derived_Record_Type): If the type definition includes an explicit
	indication of limitedness, then the type must be marked as limited here
	to ensure that any access discriminants will not be treated as having
	a local anonymous access type.
	(Check_Abstract_Overriding): Issue a detailed error message when an
	abstract subprogram was not overridden due to incorrect mode of its
	first parameter.
	(Analyze_Private_Extension_Declaration): Add support for the analysis of
	synchronized private extension declarations. Verify that the ancestor is
	a limited or synchronized interface or in the generic case, the ancestor
	is a tagged limited type or synchronized interface and all progenitors
	are either limited or synchronized interfaces.
	Derived_Type_Declaration): Check for presence of private extension when
	dealing with synchronized formal derived types.
	Process_Full_View): Enchance the check done on the usage of "limited" by
	testing whether the private view is synchronized.
	Verify that a synchronized private view is completed by a protected or
	task type.
	(OK_For_Limited_Init_In_05): New function.
	(Analyze_Object_Declaration): Move check for limited types later,
	because OK_For_Limited_Init requires its argument to have been resolved.
	Add -gnatd.l --Use Ada 95 semantics for limited function returns,
	in order to alleviate the upward compatibility introduced by AI-318.
	(Constrain_Corresponding_Record): If the constraint is for a component
	subtype, mark the itype as frozen, to avoid out-of-scope references to
	discriminants in the back-end.
	(Collect_Implemented_Interfaces): Protect the recursive algorithm of
	this subprogram against wrong sources.
	(Get_Discr_Value, Is_Discriminant): Handle properly references to a
	discriminant of limited type completed with a protected type, when the
	discriminant is used to constrain a private component of the type, and
	expansion is disabled.
	(Find_Type_Of_Object): Do not treat a return subtype that is an
	anonymous subtype as a local_anonymous_type, because its accessibility
	level is the return type of the enclosing function.
	(Check_Initialization): In -gnatg mode, turn the error "cannot
	initialize entities of limited type" into a warning.
	(OK_For_Limited_Init): Return true for generated nodes, since it
	sometimes violates the legality rules.
	(Make_Incomplete_Declaration): If the type for which an incomplete
	declaration is created happens to be the currently visible entity,
	preserve the homonym chain when removing it from visibility.
	(Check_Conventions): Add support for Ada 2005 (AI-430): Conventions of
	inherited subprograms.
	(Access_Definition): If this is an access to function that is the return
	type of an access_to_function definition, context is a type declaration
	and the scope of the anonymous type is the current one.
	(Analyze_Subtype_Declaration): Add the defining identifier of a regular
	incomplete subtype to the set of private dependents of the original
	incomplete type.
	(Constrain_Discriminated_Type): Emit an error message whenever an
	incomplete subtype is being constrained.
	(Process_Incomplete_Dependents): Transform an incomplete subtype into a
	corresponding subtype of the full view of the original incomplete type.
	(Check_Incomplete): Properly detect invalid usage of incomplete types
	and subtypes.

From-SVN: r118273
2006-10-31 18:58:48 +01:00
boehm-gc re PR boehm-gc/29180 (boehm-gc/darwin_stop_world.c not 64-bit clean) 2006-09-26 17:21:32 +00:00
config Fix some whitespace issues in the changelog. 2006-10-15 09:45:15 -07:00
contrib * compareSumTests3: POD syntax fix. 2006-09-28 02:03:46 +00:00
fixincludes config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all. 2006-10-29 16:35:50 +00:00
gcc g-awk.adb (Default_Session, [...]): Compile this file in Ada 95 mode, because it violates the new rules for AI-318. 2006-10-31 18:58:48 +01:00
gnattools --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
include Patch to provide pex_run_in_environment. 2006-06-01 10:30:51 +00:00
INSTALL
intl Makefile.in (distclean): Delete config files. 2006-09-27 18:51:52 +09:30
libada Makefile.in: Add TEXI2PDF definition. 2006-10-16 21:24:13 -07:00
libcpp config.gcc (i[34567]86-*-linux*): Handle --enable-targets=all. 2006-10-29 16:35:50 +00:00
libdecnumber --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
libffi configure.ac [...]: Set X86_DARWIN symbol and conditional. 2006-10-10 14:21:05 +00:00
libgfortran re PR fortran/29452 (Keyword check for specifiers in WRITE and READ) 2006-10-30 19:22:47 +01:00
libgomp re PR fortran/29629 (ICE on OpenMP-enabled program (gfc_conv_variable, at fortran/trans-expr.c:404)) 2006-10-29 11:27:39 +01:00
libiberty pex-win32.c (argv_to_cmdline): Replace xmalloc with XNEWVEC. 2006-10-26 03:16:11 +00:00
libjava Makefile.am (nat_source_files): Add natBreakpoint.cc. 2006-10-28 18:36:16 +00:00
libmudflap tls.m4 (GCC_CHECK_TLS): Pass empty argument as "help arg" to GCC_ENABLE. 2006-09-19 01:48:06 +00:00
libobjc Index: config/ChangeLog 2006-10-15 07:42:57 +00:00
libssp Index: config/ChangeLog 2006-10-15 07:42:57 +00:00
libstdc++-v3 utility (tuple_size<std::pair<> >::value): Provide definition. 2006-10-30 23:23:44 +00:00
maintainer-scripts * crontab: Add 4.2 branch. Set trunk to 4.3. 2006-10-21 03:15:08 +00:00
zlib Makefile.am: Add html and install-html stubs. 2006-06-13 21:15:06 +00:00
ABOUT-NLS
ChangeLog MAINTAINERS (Write After Approval): Add myself. 2006-10-31 17:04:32 +00:00
ChangeLog.tree-ssa Merge tree-ssa-20020619-branch into mainline. 2004-05-13 02:41:07 -04:00
compile
config-ml.in config-ml.in: Alter CCASFLAGS to include special multilib options the same as is done for CFLAGS. 2006-06-13 16:48:23 -04:00
config.guess config.guess: Import latest version. 2006-10-16 13:27:17 +10:00
config.rpath all files: Update FSF address. 2005-07-16 02:30:53 +00:00
config.sub config.guess: Import latest version. 2006-10-16 13:27:17 +10:00
configure configure.in: Require GMP-4.1+ and MPFR-2.2+. 2006-10-21 13:58:13 +00:00
configure.in configure.in: Require GMP-4.1+ and MPFR-2.2+. 2006-10-21 13:58:13 +00:00
COPYING
COPYING.LIB Update COPYING.LIB from upstream. Correct last Changelog. 2005-07-14 01:41:54 +00:00
depcomp
install-sh
libtool-ldflags libtool-ldflags: New script. 2006-01-03 00:30:27 +00:00
libtool.m4 all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltcf-c.sh ltcf-c.sh (whole_archive_flag_spec): Remove '-all_load $convenience' to match upstream libtool for darwin. 2005-11-18 23:53:08 +01:00
ltcf-cxx.sh all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltcf-gcj.sh all files: Update FSF address. 2005-07-16 02:30:53 +00:00
ltconfig ltconfig: chmod 644 before ranlib during install. 2006-07-04 20:20:01 +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 MAINTAINERS (Write After Approval): Add myself. 2006-10-31 17:04:32 +00:00
Makefile.def --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
Makefile.in --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
Makefile.tpl --(top level)-------------------------------------------- 2006-10-10 16:48:09 -07:00
missing
mkdep
mkinstalldirs
move-if-change Import from Autoconf sources: 2005-11-21 13:21:37 +11:00
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.