Commit Graph

73817 Commits

Author SHA1 Message Date
Victor Kaplansky 4035f24587 re PR testsuite/25918 (gcc.dg/vect/vect-reduc-dot-s16.c scan-tree-dump-times vectorized 1 loops 1 and gcc.dg/vect/vect-reduc-pattern-2.c scan-tree-dump-times vectorized 2 loops 1 fail)
testsuite/
2006-02-16  Victor Kaplansky  <victork@il.ibm.com>

	PR tree-opt/25918
	* lib/target-supports.exp
	(check_effective_target_vect_short_mult): New.
	(check_effective_target_vect_char_mult): New.
	(check_effective_target_vect_widen_sum_qi_to_si): New.
	(check_effective_target_vect_widen_sum_qi_to_hi): New.
	(check_effective_target_vect_widen_sum_hi_to_si): New.
	* gcc.dg/vect/vect-reduc-dot-s16.c: Remove, split into
	vect-reduc-dot-s16a.c and vect-reduc-dot-s16b.c
	* vect-reduc-dot-s16a.c: New, split from vect-reduc-dot-s16.c.
	* vect-reduc-dot-s16b.c: New, split from vect-reduc-dot-s16.c.
	* gcc.dg/vect/vect-reduc-pattern-2.c: Remove, split into
	vect-reduc-pattern-2a.c, vect-reduc-pattern-2b.c and
	vect-reduc-pattern-2c.c
	* gcc.dg/vect/vect-reduc-pattern-1.c: Remove, split into
	vect-reduc-pattern-1a.c, vect-reduc-pattern-1b.c and
	vect-reduc-pattern-1c.c

From-SVN: r111135
2006-02-16 09:59:00 +00:00
Victor Kaplansky ca5b1d2cc7 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r111134
2006-02-16 09:30:51 +00:00
Arnaud Charlet 3f806915dd * opt.ads (Ada_Version_Default): Set to Ada 2005 by default.
From-SVN: r111133
2006-02-16 09:54:12 +01:00
Arnaud Charlet 07b8ceeab7 Remove test which is invalid Ada 2005.
From-SVN: r111132
2006-02-16 09:48:59 +01:00
Francois-Xavier Coudert 83d38ece09 re PR libfortran/24903 (dotprod should use __builtin_conj)
PR libfortran/24903
	* m4/dotprodc.m4: Use __builtin_conj instead of assigning real
	and imaginary parts separately.
	* generated/dotprod_c4.c: Regenerated.
	* generated/dotprod_c8.c: Regenerated.
	* generated/dotprod_c10.c: Regenerated.
	* generated/dotprod_c16.c: Regenerated.

From-SVN: r111131
2006-02-16 07:52:22 +00:00
Paul Thomas ed78a1162c re PR fortran/24557 (ICE: PRINTing function result of size depending on assumed length CHARACTER dummy)
2005-02-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24557
	* trans-expr.c (gfc_add_interface_mapping): Use the actual argument
	for character(*) arrays, rather than casting to the type and kind
	parameters of the formal argument.

2005-02-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24557
        * gfortran.dg/assumed_charlen_needed_1.f90: New test.

From-SVN: r111130
2006-02-16 07:04:13 +00:00
Bernd Schmidt 1929b9988c re PR rtl-optimization/25636 (opts.c is being miscompiled, write to read only memory)
PR rtl-optimization/25636
	* local-alloc.c (update_equiv_regs): Lose a bogus rtx_equal_p test
	when deciding whether an insn is an initializing insn.

From-SVN: r111129
2006-02-16 01:26:54 +00:00
GCC Administrator f42f0a3c34 Daily bump.
From-SVN: r111127
2006-02-16 00:17:27 +00:00
Daniel Berlin 943261d716 Add a little whitespace
From-SVN: r111121
2006-02-15 22:47:38 +00:00
Daniel Berlin 3c0b6c4300 tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
2006-02-15 Daniel Berlin  <dberlin@dberlin.org>

	* tree.c (init_ttree): Add STRUCT_FIELD_TAG handling.
	(tree_code_size): Ditto.
	* tree.h (struct tree_memory_tag): Remove parent_var.
	(struct tree_struct_field_tag): New.
	(SFT_OFFSET): New.
	(SFT_SIZE): New.
	(union tree_node): Add sft member.
	* tree-ssa-alias.c (get_tmt_for): Don't handle TYPE_READONLY
	specially here.
	(create_sft): Add size and offset argument, set SFT_OFFSET and
	SFT_SIZE.
	(create_overlap_variables_for): Update for SFT_OFFSET/SFT_SIZE.
	* treestruct.def: Add TS_STRUCT_FIELD_TAG.
	* tree-flow-inline.h (get_subvar_at): Update for
	SFT_OFFSET/SFT_SIZE.
	(var_can_have_subvars): Ditto.
	(overlap_subvar): Ditto.
	* print-tree.c (print_node): Print out interesting things for
	SFT's.
	* tree-flow.h (struct subvar): Remove offset and size members.
	* tree-ssa-operands.c (get_expr_operands): Update for
	get_indirect_ref_operands changes.
	(get_indirect_ref_operands): Call add_virtual_operand instead of
	add_stmt_operand.  Only recurse on base var if requested.
	(access_can_touch_variable): New function.
	(add_stmt_operand): Split virtual operand handling into ...
	(add_virtual_operand): Here.  Add offset, size, and for_clobber
	arguments.  Prune alias sets.
	(add_call_clobber_ops): Call add_virtual_operand.

From-SVN: r111120
2006-02-15 22:09:45 +00:00
Toon Moene cce283c7fe re PR fortran/26054 (Gratuitous warning about Fortran 2003 features w/o -std=...)
2006-02-15  Toon Moene  <toon@moene.indiv.nluug.nl>

	PR fortran/26054
	* fortran/options.c: Do not warn for Fortran 2003 features
	by default.
	* testsuite/gfortran.dg/enum_8.f90: Remove check for warning.
	* testsuite/gfortran.dg/iomsg_1.f90: Ditto.
	* testsuite/gfortran.dg/enum_1.f90: Ditto.
	* testsuite/gfortran.dg/enum_9.f90: Ditto.
	* testsuite/gfortran.dg/enum_2.f90: Ditto.
	* testsuite/gfortran.dg/enum_10.f90: Ditto.
	* testsuite/gfortran.dg/enum_3.f90: Ditto.
	* testsuite/gfortran.dg/flush_1.f90: Ditto.
	* testsuite/gfortran.dg/enum_4.f90: Ditto.
	* testsuite/gfortran.dg/array_constructor_1.f90: Ditto.
	* testsuite/gfortran.dg/enum_5.f90: Ditto.
	* testsuite/gfortran.dg/enum_6.f90: Ditto.
	* testsuite/gfortran.dg/enum_7.f90: Ditto.

From-SVN: r111117
2006-02-15 21:06:58 +00:00
Jakub Jelinek 01ea23f3d2 re PR middle-end/26300 (ICE in trunc_int_for_mode)
PR middle-end/26300
	* combine.c (make_extraction): Bail out if ORIG_POS is negative.

	* gcc.c-torture/compile/20060215-1.c: New test.

From-SVN: r111116
2006-02-15 21:41:03 +01:00
Jakub Jelinek fb57dc0bf0 tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather than TREE_CODE as index into omp_clause_num_ops array.
* tree.h (struct tree_omp_clause): Use OMP_CLAUSE_CODE rather
	than TREE_CODE as index into omp_clause_num_ops array.

From-SVN: r111115
2006-02-15 21:38:59 +01:00
Uttam Pawar f4daf7e44e re PR rtl-optimization/26184 (memory leaks in swing modulo scheduling function)
2006-02-15  Uttam Pawar  <uttamp@us.ibm.com>

        PR rtl-optimization/26184
        * modulo-sched.c (generate_reg_moves): Free bitmap vector
        uses_of_defs.
        * modulo-sched.c (sms_schedule): Free g_arr pointer.
        * modulo-sched.c (sms_schedule_by_order): Free bitmap pointers
        must_precede, must_follow and tobe_scheduled.

        PR other/26147
        * opts.c (common_handle_option): Free new_option pointer.
        * df-core.c (df_analyze): Free postorder pointer.

From-SVN: r111114
2006-02-15 14:33:33 -05:00
Rafael Espindola f7ca46d66f Makefile.in: Fix the examples about the use of stamps
* gcc/Makefile.in: Fix the examples about the use of stamps

M    gcc/ChangeLog
M    gcc/Makefile.in

From-SVN: r111113
2006-02-15 18:46:57 +00:00
Tobias Schlüter 8f320bb097 check.c: Update copyright years.
* check.c: Update copyright years.

From-SVN: r111110
2006-02-15 13:42:16 +01:00
Michael Matz d1a701eb17 re PR middle-end/22275 (bitfield layout change)
PR middle-end/22275

        * stor-layout.c (layout_decl): Zero-width bitfields aren't
        influenced by maximum_field_alignment or DECL_PACKED.
        (update_alignment_for_field): Ditto.
        (place_field): Ditto.
        * doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
        this behaviour.

From-SVN: r111109
2006-02-15 12:19:49 +00:00
Tobias Schlüter b98e315984 check.c (gfc_check_minloc_maxloc, [...]): Don't call dim_range_check on not-present optional dim argument.
* check.c (gfc_check_minloc_maxloc, check_reduction): Don't call
	dim_range_check on not-present optional dim argument.

From-SVN: r111108
2006-02-15 12:02:21 +01:00
Arnaud Charlet cc26ad97f0 Resync
From-SVN: r111107
2006-02-15 10:58:27 +01:00
Arnaud Charlet 7a3f77d2a9 (Eval_Relational_Op): Use new Is_Known_Null flag to deal with case
of null = null, now known true.

From-SVN: r111106
2006-02-15 10:51:54 +01:00
Arnaud Charlet 51c40324f3 Add section for gnatcheck.
Add documentation for restriction No_Dispatching_Calls
        Add documentation for pragma Ada_2005
        Remove mention of obsolete pragma Propagate_Exceptions

From-SVN: r111105
2006-02-15 10:48:56 +01:00
Arnaud Charlet 7e3d710b32 gnat_ugn.texi: Remove limitations with sparc m64 support.
2006-02-13  Arnaud Charlet  <charlet@adacore.com>
	    Ben Brosgol  <brosgol@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Remove limitations with sparc m64 support.
	Document that gnatbind -M option is for cross environments only.
	Added description of using gnatmem to trace gnat rtl allocs and deallocs
	Add note on use of $ to label implicit run time calls
	Add documentation for -gnatyI (check mode IN)
	Updated chapter on compatibility with HP Ada
	VMS-oriented edits.
	Ran spell and corrected errors
	Add documentation for gnatbind -d and rework documentation of -D
	at the same time.
	Add subprogram/data elimination section.
	Minor editing of annex A.
	Add section for gnatcheck.
	Add documentation for restriction No_Dispatching_Calls
	Add documentation for pragma Ada_2005
	Remove mention of obsolete pragma Propagate_Exceptions
	Document that pragma Unreferenced can appear after DO in ACCEPT
	Clarify Pure_Function for library level units
	Mention Max/Min in connection with No_Implicit_Conditionals
	No_Wide_Characters restriction is no longer partition-wide
	Add a nice example for Universal_Literal_String attribute
	Document that pragma No_Return can take multiple arguments

	* ug_words: Added entry for gnatcheck

	* g-ctrl_c.ads (Install_Handler): Enhance comments

	* g-os_lib.ads: Add comments to OS_Exit that it is abrupt termination

	* g-trasym.ads: Add documentation on how to do off line symbolic
	traceback computation.

	* s-fatgen.adb: Add comments for Unaligned_Valid

	* stand.ads: Fix typo in comment

From-SVN: r111104
2006-02-15 10:47:23 +01:00
Eric Botcazou 7dc56b36b8 tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
2006-02-13  Eric Botcazou  <ebotcazou@adacore.com>

	* tracebak.c (PPC AIX/Darwin): Define FORCE_CALL to 1.
	(PPC VxWorks): Likewise.
	(Generic unwinder): Define FORCE_CALL to 0 if not already defined.
	(forced_callee): Make non-inlinable and non-pure.
	(__gnat_backtrace): Call forced_callee if FORCE_CALL is set to 1.

From-SVN: r111103
2006-02-15 10:47:09 +01:00
Robert Dewar 405b3ed444 s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value
2006-02-13  Robert Dewar  <dewar@adacore.com>

	* s-wchjis.adb (JIS_To_EUC): Raise Constraint_Error for invalid value

From-SVN: r111102
2006-02-15 10:46:58 +01:00
Bob Duff bfe7c10c9b s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of Scan_Unsigned...
2006-02-13  Bob Duff  <duff@adacore.com>

	* s-valint.adb (Scan_Integer): Call Scan_Raw_Unsigned instead of
	Scan_Unsigned, so we do not scan leading blanks and sign twice.
	Integer'Value("- 5") and Integer'Value("-+5") now correctly
	raise Constraint_Error.

	* s-vallli.adb (Scan_Long_Long_Integer): Call
	Scan_Raw_Long_Long_Unsigned instead of Scan_Long_Long_Unsigned, so we
	do not scan leading blanks and sign twice.
	Integer'Value("- 5") and Integer'Value("-+5") now correctly
	raise Constraint_Error.

	* s-valllu.ads, s-valllu.adb (Scan_Raw_Long_Long_Unsigned,
	Scan_Long_Long_Unsigned): Split out most of the processing from
	Scan_Long_Long_Unsigned out into
	Scan_Raw_Long_Long_Unsigned, so that Val_LLI can call the Raw_ version.
	This prevents scanning leading blanks and sign twice.
	Also fixed a bug: Modular'Value("-0") should raise Constraint_Error
	See RM-3.5(44).

	* s-valuns.ads, s-valuns.adb (Scan_Raw_Unsigned, Scan_Unsigned): Split
	out most of the processing from Scan_Unsigned out into
	Scan_Raw_Unsigned, so that Val_LLI can call the Raw_ version.
	This prevents scanning leading blanks and sign twice.

	* s-valuti.ads, s-valuti.adb (Scan_Plus_Sign): Add Scan_Plus_Sign, for
	use with Modular'Value attribute.
	(Scan_Plus_Sign): Add Scan_Plus_Sign, for use with Modular'Value
	attribute.

From-SVN: r111101
2006-02-15 10:46:41 +01:00
Quentin Ochem 744ab5804b s-stausa.adb (Initialize_Analyzer): fixed error in assignment of task name.
2006-02-13  Quentin Ochem  <ochem@adacore.com>

	* s-stausa.adb (Initialize_Analyzer): fixed error in assignment of
	task name.

From-SVN: r111100
2006-02-15 10:46:17 +01:00
Ed Schonberg 62b80eaf38 sprint.adb (Write_Itype): Preserve Sloc of declaration...
2006-02-13  Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* sprint.adb (Write_Itype): Preserve Sloc of declaration, if any, to
	preserve the source unit where the itype is declared, and prevent a
	backend abort.
	(Note_Implicit_Run_Time_Call): New procedure
	(Write_Itype): Handle missing cases (E_Class_Wide_Type and
	E_Subprogram_Type)

	* sprint.ads: Document use of $ for implicit run time routine call

From-SVN: r111099
2006-02-15 10:46:08 +01:00
Thomas Quinot b8e51f72bd sinput-d.adb (Write_Line): Update the Source_Index_Table after each line.
2006-02-13  Thomas Quinot  <quinot@adacore.com>

	* sinput-d.adb (Write_Line): Update the Source_Index_Table after each
	line. This is necessary to allow In_Extended_Main_Unit to provide
	correct results for itypes while writing out expanded source.
	(Close_File): No need to update the source_index_table here since it's
	now done for each line.

From-SVN: r111098
2006-02-15 10:45:56 +01:00
Ed Schonberg 0456836930 sem_warn.adb (Check_One_Unit): If the unit appears in a limited_with clause...
2006-02-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_warn.adb (Check_One_Unit): If the unit appears in a limited_with
	clause, use the limited view to determine whether any entity from it
	is referenced.

From-SVN: r111097
2006-02-15 10:45:43 +01:00
Ed Schonberg 4e73070af6 sem_type.adb (Write_Overloads): Improve display of candidate interpretations.
2006-02-13  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_type.adb (Write_Overloads): Improve display of candidate
	interpretations.
	(Add_One_Interp): Do not add to the list of interpretations aliased
	entities corresponding with an abstract interface type that is an
	immediate ancestor of a tagged type; otherwise we have a dummy
	conflict between this entity and the aliased entity.
	(Disambiguate): The predefined equality on universal_access is not
	usable if there is a user-defined equality with the proper signature,
	declared in the same declarative part as the designated type.
	(Find_Unique_Type): The universal_access equality operator defined under
	AI-230 does not cover pool specific access types.
	(Covers): If one of the types is a generic actual subtype, check whether
	it matches the partial view of the other type.

From-SVN: r111096
2006-02-15 10:45:29 +01:00
Ed Schonberg 3640a4e782 sem_elab.adb (Same_Elaboration_Scope): A package that is a compilation unit is an elaboration scope.
2006-02-13  Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Same_Elaboration_Scope): A package that is a
	compilation unit is an elaboration scope.
	(Add_Task_Proc): Add '\' in 2-line warning message.
	(Activate_All_Desirable): Deal with case of unit with'ed by parent

From-SVN: r111095
2006-02-15 10:45:12 +01:00
Javier Miranda d97d172645 sem_ch9.adb (Analyze_Protected_Type, [...]): Check that if this is the full-declaration associated with a private...
2006-02-13  Javier Miranda  <miranda@adacore.com>

	* sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Check that
	if this is the full-declaration associated with a private declaration
	that implement interfaces, then the private type declaration must be
	limited.
	(Analyze_Single_Protected, Analyze_Single_Task): Do not mark the object
	as aliased. The use of the 'access attribute is not available for such
	object (for this purpose the object should be explicitly marked as
	aliased, but being an anonymous type this is not possible).

From-SVN: r111094
2006-02-15 10:45:00 +01:00
Bob Duff cdc8c54cf7 sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about redundant use clauses.
2006-02-13  Bob Duff  <duff@adacore.com>

	* sem_ch8.adb (Note_Redundant_Use): Suppress unhelpful warning about
	redundant use clauses.
	In particular, if the scope of two use clauses overlaps, but one is not
	entirely included in the other, we should not warn.  This can happen
	with nested packages.
	(Analyze_Subprogram_Renaming): Protect the compiler against previously
	reported errors. The bug was reported when the compiler was built
	with assertions enabled.
	(Find_Type): If the node is a 'Class reference and the prefix is a
	synchronized type without a corresponding record, return the type
	itself.

From-SVN: r111093
2006-02-15 10:44:48 +01:00
Ed Schonberg fe45e59ec7 sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no abstract interpretations on an operator...
2006-02-13  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
	abstract interpretations on an operator, remove interpretations that
	yield Address or a type derived from it, if one of the operands is an
	integer literal.
	(Try_Object_Operation.Try_Primitive_Operation,
	Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
	location when creating the new reference to a primitive or class-wide
	operation as a part of rewriting a subprogram call.
	(Try_Primitive_Operations): If context requires a function, collect all
	interpretations after the first match, because there may be primitive
	operations of the same type with the same profile and different return
	types. From code reading.
	(Try_Primitive_Operation): Use the node kind to choose the proper
	operation when a function and a procedure have the same parameter
	profile.
	(Complete_Object_Operation): If formal is an access parameter and prefix
	is an object, rewrite as an Access reference, to match signature of
	primitive operation.
	(Find_Equality_Type, Find_One_Interp): Handle properly equality given
	by an expanded name with prefix Standard, when the operands are of an
	anonymous access type.
	(Remove_Abstract_Operations): If the operation is abstract because it is
	inherited by a user-defined type derived from Address, remove it as
	well from the set of candidate interpretations of an overloaded node.
	(Analyze_Membership_Op): Membership test not applicable to cpp-class
	types.

From-SVN: r111092
2006-02-15 10:44:37 +01:00
Thomas Quinot 57193e0924 sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption that Scope_Stack.First = 1.
2006-02-13  Thomas Quinot  <quinot@adacore.com>
	    Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* sem_ch12.adb (Inline_Instance_Body): Remove erroneous assumption
	that Scope_Stack.First = 1.
	Properly handle Ada_Version_Explicit and Ada_Version_Config, which
	were not always properly handled previously.
	(Formal_Entity): Complete rewrite, to handle properly some complex case
	with multiple levels of parametrization by formal packages.
	(Analyze_Formal_Derived_Type): Propagate Ada 2005 "limited" indicator
	to the corresponding derived type declaration for proper semantics.

	* sem_prag.adb (Analyze_Pragma): Remove '!' in warning message.
	(Check_Component): Enforce restriction on components of
	unchecked_unions: a component in a variant cannot contain tasks or
	controlled types.
	(Unchecked_Union): Allow nested variants and multiple discriminants, to
	conform to AI-216.
	Add pragma Ada_2005 (synonym for Ada_05)
	Properly handle Ada_Version_Explicit and Ada_Version_Config, which
	were not always properly handled previously.
	Document that pragma Propagate_Exceptions has no effect
	(Analyze_Pragma, case Pure): Set new flag Has_Pragma_Pure
	(Set_Convention_From_Pragma): Check that if a convention is
	specified for a dispatching operation, then it must be
	consistent with the existing convention for the operation.
	(CPP_Class): Because of the C++ ABI compatibility, the programmer is no
	longer required to specify an vtable-ptr component in the record. For
	compatibility reasons we leave the support for the previous definition.
	(Analyze_Pragma, case No_Return): Allow multiple arguments

	* sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Flag a
	non-overrideen inherited operation with a controlling result as
	illegal only its implicit declaration comes from the derived type
	declaration of its result's type.
	(Check_Possible_Deferred_Completion): Relocate the object definition
	node of the subtype indication of a deferred constant completion rather
	than directly analyzing it. The analysis of the generated subtype will
	correctly decorate the GNAT tree.
	(Record_Type_Declaration): Check whether this is a declaration for a
	limited derived record before analyzing components.
	(Analyze_Component_Declaration): Diagnose record types  not explicitly
	declared limited when a component has a limited type.
	(Build_Derived_Record_Type): Code reorganization to check if some of
	the inherited subprograms of a tagged type cover interface primitives.
	This check was missing in case of a full-type associated with a private
	type declaration.
	(Constant_Redeclaration): Check that the subtypes of the partial and the
	full view of a constrained deferred constant statically match.
	(Mentions_T): A reference to the current type in an anonymous access
	component declaration  must be an entity name.
	(Make_Incomplete_Type_Declaration): If type is tagged, set type of
	class_wide type to refer to full type, not to the incomplete one.
	(Add_Interface_Tag_Components): Do nothing if RE_Interface_Tag is not
	available. Required to give support to the certified run-time.
	(Analyze_Component_Declaration): In case of anonymous access components
	perform missing checks for AARM 3.9.2(9) and 3.10.2 (12.2).
	(Process_Discriminants): For an access discriminant, use the
	discriminant specification as the associated_node_for_itype, to
	simplify accessibility checks.

From-SVN: r111091
2006-02-15 10:44:24 +01:00
Hristian Kirtchev 561d9139e3 sem_ch10.adb (Check_Redundant_Withs): New procedure in Analyze_Compilation_Unit.
2006-02-13  Hristian Kirtchev  <kirtchev@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* sem_ch10.adb (Check_Redundant_Withs): New procedure in
	Analyze_Compilation_Unit.
	Detect and warn on redundant with clauses detected in a package spec
	and/or body when -gnatwr is used.
	(Analyze_Context): Analyze config pragmas before other items
	(Install_Context_Items): Don't analyze config pragmas here
	(Install_Limited_Withed_Unit): Set limited entity of package in
	with_clause so that cross-reference information or warning messages on
	unused packages can be properly generated
	(Is_Visible_Through_Renamings): Return false if the limited_with_clause
	has Error_Posted set. Prevent infinite loops in illegal programs.
	(Check_Private_Child_Unit): Move test for a nonprivate with clause down
	to the point of the error test requiring the current unit to be private.
	This ensures that private with clauses are not exempted from the basic
	checking for being a descendant of the same library unit parent as a
	withed private descendant unit.
	(Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
	handle private with clauses properly, as well as to account for cases
	where the withed unit is a public descendant of a private ancestor
	(in which case the current unit must be a descendant of the private
	ancestor's parent). The spec comments were updated accordingly. Also,
	the old error message in this subprogram was replaced with error
	messages that mirror the errors tested and reported by
	Check_Private_Child_Unit.
	Parameter and variable names improved for readability.
	(Install_Limited_Context_Clauses): Remove test for a withed unit being
	private as the precondition for calling
	Check_Private_Limited_Withed_Unit since that subprogram has been
	revised to test public units as well as private units.

From-SVN: r111090
2006-02-15 10:44:09 +01:00
Javier Miranda b8dc622e9f sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an abstract interface type call...
2006-02-13  Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute): In case of 'Class applied to an
	abstract interface type call analyze_and_resolve to expand the type
	conversion into the corresponding displacement of the
	reference to the base of the object.
	(Eval_Attribute, case Width): For systems where IEEE extended precision
	is supported, the maximum exponent occupies 4 decimal digits.
	(Accessibility_Message): Add '\' in 2-line warning message.
	(Resolve_Attribute): Likewise.
	(case Attribute_Access): Significantly revise checks
	for illegal access-to-subprogram Access attributes to properly enforce
	the rules of 3.10.2(32/2).
	Diagnose use of current instance with an illegal attribute.

        * sem_util.ads, sem_util.adb (Enclosing_Generic_Body): Change formal
        to a Node_Id.
        (Enclosing_Generic_Unit): New function to return a node's innermost
        enclosing generic declaration node.
        (Compile_Time_Constraint_Error): Remove '!' in warning messages.
        (Type_Access_Level): The accessibility level of anonymous acccess types
        associated with discriminants is that of the current instance of the
        type, and that's deeper than the type itself (AARM 3.10.2 (12.3.21)).
        (Compile_Time_Constraint_Error): Handle case of conditional expression.
        (Kill_Current_Values_For_Entity): New function
        (Enter_Name): Change formal type to Entity_Id

From-SVN: r111089
2006-02-15 10:43:54 +01:00
Javier Miranda 9b96e234f8 sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that handles default-initialized components to keep...
2006-02-13  Javier Miranda  <miranda@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): Restructure the code that
	handles default-initialized components to keep separate the management
	of this feature but also avoid the unrequired resolution and
	expansion of components that do not have partially initialized
	values.
	(Collect_Aggr_Bounds): Add '\' in 2-line warning message.
	(Check_Bounds): Likewise.
	(Check_Length): Likewise.

From-SVN: r111088
2006-02-15 10:43:43 +01:00
Doug Rupp 851cfa6f00 s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.
2006-02-13  Douglas Rupp  <rupp@adacore.com>

	* s-auxdec-vms_64.ads (Short_Address): Wrap it in a type.

From-SVN: r111087
2006-02-15 10:43:32 +01:00
Javier Miranda 3bcd6930a9 restrict.ads (No_Dispatching_Calls): New GNAT restriction.
2006-02-13  Javier Miranda  <miranda@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* restrict.ads (No_Dispatching_Calls): New GNAT restriction.

	* sem_disp.adb (Override_Dispatching_Operation): Traverse the list of
	aliased entities to look for the overriden abstract interface
	subprogram.
	(Is_Interface_Subprogram): Complete documentation.
	(Check_Dispatching_Operation): Do not generate code to register the
	operation in the dispatch table if the source is compiled with
	restriction No_Dispatching_Calls.
	(Override_Dispatching_Operation): Check for illegal attempt to override
	No_Return procedure with procedure that is not No_Return
	(Check_Dispatching_Call): Suppress the check for an abstract operation
	when the original node of an actual is a tag-indeterminate attribute
	call, since the attribute, which must be 'Input, can never be abstract.
	(Is_Tag_Indeterminate): Handle checking of tag indeterminacy of a
	call to the Input attribute (even when rewritten).
	(Propagate_Tag): Augment comment to indicate the possibility of a call
	to an Input attribute.

	* sem_disp.ads (Override_Dispatching_Operation): Moved to spec to allow
	calling it from Exp_Ch3.Make_Controlling_Function_Wrappers.

	* s-rident.ads: (No_Dispatching_Calls): New GNAT restriction.
	No_Wide_Characters is no longer partition-wide
	No_Implementation_Attributes/Pragmas are now Ada 2005 (AI-257)
	rather than GNAT

From-SVN: r111086
2006-02-15 10:43:23 +01:00
Vincent Celier e4ffa8adc7 prj-makr.adb (Make): Preserve the comments from the original project file.
2006-02-13  Vincent Celier  <celier@adacore.com>

	* prj-makr.adb (Make): Preserve the comments from the original project
	file.
	When removing nodes (attributes Source_Dirs, Source_Files,
	Source_List_File and package Naming), save the comments and attach the
	saved comments to the newly created nodes.
	Do not add a with clause for the naming package if one already exists.

From-SVN: r111085
2006-02-15 10:43:11 +01:00
Vincent Celier 97b7ca6fff prj.ads (Error_Warning): New enumeration type
2006-02-13  Vincent Celier  <celier@adacore.com>

	* prj.ads (Error_Warning): New enumeration type

	* prj-nmsc.ads, prj-nmsc.adb (Error_Msg): If location parameter is
	unknown, use the location of the project to report the error.
	(When_No_Sources): New global variable
	(Report_No_Ada_Sources): New procedure
	(Check): New parameter When_No_Sources. Set value of global variable
	When_No_Sources,
	(Find_Sources): Call Report_No_Ada_Sources when appropriate
	(Get_Sources_From_File): Ditto
	(Warn_If_Not_Sources): Better warning messages indicating the unit name
	and the file name.

	* prj-pars.ads, prj-pars.adb (Parse): New parameter When_No_Sources.
	Call Prj.Proc.Process with parameter When_No_Sources.

	* prj-proc.ads, prj-proc.adb (Check): New parameter When_No_Sources.
	Call Recursive_Check with parameter When_No_Sources.
	(Recursive_Check): New parameter When_No_Sources. Call itself and
	Prj.Nmsc.Check with parameter When_No_Sources.
	(Process): New parameter When_No_Sources. Call Check with parameter
	When_No_Sources.
	(Copy_Package_Declarations): New procedure to copy renamed parameters
	and setting the location of the declared attributes to the location
	of the renamed package.
	(Process_Declarative_Items): Call Copy_Package_Declarations for renamed
	packages.

From-SVN: r111084
2006-02-15 10:43:00 +01:00
Vincent Celier 795b06b102 prj.adb (Reset): Initialize the first element of table Namings with the standard naming data.
2006-02-13  Vincent Celier  <celier@adacore.com>

	* prj.adb (Reset): Initialize the first element of table Namings with
	the standard naming data.

From-SVN: r111083
2006-02-15 10:42:47 +01:00
Javier Miranda 9c723dcb4d par-endh.adb (Explicit_Start_Label): Add code to protect the parser against source containing syntax errors.
2006-02-13  Javier Miranda  <miranda@adacore.com>

	* par-endh.adb (Explicit_Start_Label): Add code to protect the parser
	against source containing syntax errors.

From-SVN: r111082
2006-02-15 10:42:38 +01:00
Robert Dewar 4f73f89c47 par-ch6.adb, [...]: Implement -gnatyI switch (MODE_IN)
2006-02-13  Robert Dewar  <dewar@adacore.com>

	* par-ch6.adb, style.ads, styleg.adb, styleg.ads, stylesw.adb,
	stylesw.ads, usage.adb, vms_data.ads: Implement -gnatyI switch
	(MODE_IN)

From-SVN: r111081
2006-02-15 10:42:27 +01:00
Javier Miranda 76346895e7 re PR ada/23973 (without -gnat05, GNAT warns that interface is new kw, but misses one frequent occurence)
2006-02-13  Javier Miranda  <miranda@adacore.com>

	PR ada/23973

	* par-ch3.adb (P_Derived_Type_Def_Or_Private_Ext_Decl): Reorganize the
	code to improve the error message reported when the program has
	declarations of abstract interface types and it is not compiled with
	the -gnat05 switch.
	(P_Access_Definition): Reorganize the code to improve the error
	message reported when the new Ada 2005 syntax for anonymous
	access types is used and the program is not compiled with the
	-gnat05 switch.

From-SVN: r111080
2006-02-15 10:42:14 +01:00
Vincent Celier 8aa0b2c698 mlib-prj.adb (Index): New function
2006-02-13  Vincent Celier  <celier@adacore.com>

	* mlib-prj.adb (Index): New function
	(Build_Library): When building a shared library, add to the run path
	the directory of the shared version of libgcc.
	(Build_Library): Output shared decgnat library.
	(Process_Binder_File): Test for shared decgnat library.

From-SVN: r111079
2006-02-15 10:42:01 +01:00
Vincent Celier f2c573b112 make.adb (Collect_Arguments_And_Compile): For VMS...
2006-02-13  Vincent Celier  <celier@adacore.com>

	* make.adb (Collect_Arguments_And_Compile): For VMS, when compiling the
	main source, add switch -mdebug-main=_ada_ so that the executable can
	be debugged by the standard VMS debugger.
	(Gnatmake): Set No_Main_Subprogram to True when there is no main
	subprogram, to avoid issuing -mdebug-main=_ada_ for VMS uselessly.
	Exit the Multi_Main_Loop when Unique_Compile is True after compilation
	of the last source, as the binding and linking phases are never
	performed.
	Set all executable obsolete when rebuilding a library.

	* makeutl.adb (Linker_Options_Switches): Do not process empty linker
	options.

From-SVN: r111078
2006-02-15 10:41:49 +01:00
Ed Schonberg 25c87b0f9c lib-xref.adb (Get_Type_Reference): For a private type whose full view is an array type...
2006-02-13  Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* lib-xref.adb (Get_Type_Reference): For a private type whose full
	view is an array type, indicate the component type as well, for
	navigation purposes.
	(Generate_Reference): Don't consider array ref on LHS to be a case
	of violating pragma Unreferenced.
	Do not give Ada 2005 warning except on real reference.

From-SVN: r111077
2006-02-15 10:41:35 +01:00
Robert Dewar ae8926a0ed g-spipat.adb (Image, [...]): These two cases were generating incorrect output...
2006-02-13  Robert Dewar  <dewar@adacore.com>

	* g-spipat.adb (Image, case PC_Assign_Imm and case PC_Assign_OnM):
	These two cases were generating incorrect output, and if this unit
	was built with checks on, generated a discriminant mismatch constraint
	error.

From-SVN: r111076
2006-02-15 10:41:22 +01:00