Commit Graph

110704 Commits

Author SHA1 Message Date
Arnaud Charlet
bd65a2d740 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* errout.adb, errout.ads (Check_Formal_Restriction): move procedure
	from here...
	* restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
	* sem_aggr.adb, sem_ch5.adb, sem_util.adb:
	Add with/use clauses to make Check_Formal_Restriction visible

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Generic_Actuals): handle properly actual
	in-parameters when type of the generic formal is private in the generic
	spec and non-private in the body.

2011-08-02  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
	a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
	a-cofove.adb, a-cofove.ads: New files implementing formal containers.
	* impunit.adb, Makefile.rtl: Take new files into account.

From-SVN: r177102
2011-08-02 11:17:46 +02:00
Arnaud Charlet
d4487611a9 [multiple changes]
2011-08-02  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
	inherit library kind.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
	sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.

From-SVN: r177101
2011-08-02 11:09:07 +02:00
Yannick Moy
bd434b3fba sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in formal mode
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
	formal mode
	* sem_util.adb (Matching_Static_Array_Bounds): proper detection of
	matching static array bounds, taking into account the special case of
	string literals
	* sem_ch3.adb: Typo in comment.

From-SVN: r177100
2011-08-02 11:07:35 +02:00
Yannick Moy
fe5d30682c errout.adb, errout.ads (Check_Formal_Restriction): new procedure which issues an error in formal mode if...
2011-08-02  Yannick Moy  <moy@adacore.com>

	* errout.adb, errout.ads (Check_Formal_Restriction): new procedure
	which issues an error in formal mode if its argument node is originally
	from source
	* sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
	has a discriminant specification so that it does not include the case
	of derived types
	(Derived_Type_Declaration): move here the test that a derived type has a
	discriminant specification
	* sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
	first element of a component association before accessing its choices
	(presence of component association is not enough)
	* exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
	declaration is a library item before accessing the next element in a
	list, as library items are not member of lists
	* sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
	Check_Formal_Restriction whenever possible.

From-SVN: r177099
2011-08-02 11:05:58 +02:00
Arnaud Charlet
b60a3f2674 [multiple changes]
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
	reference when needed.

2011-08-02  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Fix typo.

2011-08-02  Vincent Celier  <celier@adacore.com>

	* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
	archive file name. Do not use the full path name of archives for Open
	VMS.

From-SVN: r177097
2011-08-02 11:03:13 +02:00
Uros Bizjak
643e867f08 re PR target/47766 ([x32] -fstack-protector doesn't work)
PR target/47766
	* doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
	(stack_protect_test): The pattern compares ptr_mode value.

From-SVN: r177096
2011-08-02 11:01:37 +02:00
Robert Dewar
eaba57fb0a sem_ch12.adb, [...]: New calling sequence for Analyze_Aspect_Specifications
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb, sem_ch11.adb: New calling sequence for
	Analyze_Aspect_Specifications
	* sem_ch13.adb
	(Analyze_Aspect_Specifications): New handling for boolean aspects
	* sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
	* sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
	sequence for Analyze_Aspect_Specifications
	* sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
	* sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Remove handling of delayed boolean
	aspects, since these no longer exist.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (Aspect_Specifications_Present): Always return false on
	semicolon, do not try to see if there are aspects following it.
	* par-ch3.adb (P_Declarative_Items): Better message for unexpected
	aspect spec.

From-SVN: r177095
2011-08-02 10:58:37 +02:00
Arnaud Charlet
8830d1d2a2 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb, aspects.ads: Minor reformatting.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
	* sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
	extracted from...
	(Analyze_Aspect_Specifications): ...here.  Call above procedure.

From-SVN: r177094
2011-08-02 10:19:12 +02:00
Arnaud Charlet
7ff2d23439 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
	mode on subprogram declaration outside of package specification, unless
	it is followed by a pragma Import
	* sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
	Access_Type_Declaration): issue error in formal mode on access type
	(Analyze_Incomplete_Type_Decl): issue error in formal mode on
	incomplete type
	(Analyze_Object_Declaration): issue error in formal mode on object
	declaration which does not respect SPARK restrictions
	(Analyze_Subtype_Declaration): issue error in formal mode on subtype
	declaration which does not respect SPARK restrictions
	(Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
	error in formal mode on digits or delta constraint
	(Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
	decimal fixed point type
	(Derived_Type_Declaration): issue error in formal mode on derived type
	other than type extensions of tagged record types
	* sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
	with check on access definition
	* sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
	mode on protected definition.
	(Analyze_Task_Definition): issue error in formal mode on task definition

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.

From-SVN: r177093
2011-08-02 10:16:45 +02:00
Arnaud Charlet
806f6d3721 [multiple changes]
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Can_Override_Operator): New function.
	(Verify_Overriding_Indicator): Add missing code to check overriding
	indicator in operators. Fixes regression.
	(Check_Overriding_Indicator): Minor reformating after replacing the
	code that evaluates if the subprogram can override an operator by
	invocations to the above new function.
	* einfo.adb
	(Write_Field26_Name): Add missing code to ensure that, following
	the documentation in einfo.ads, this field is not shown as attribute
	"Static_Initialization" on non-dispatching functions.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

	* sem_res.adb (Resolve_Call): A call to
	Ada.Real_Time.Timing_Events.Set_Handler violates restriction
	No_Relative_Delay (AI-0211) only when it sets a relative timing event,
	i.e., when the second parameter is of type Time_Span.

2011-08-02  Vincent Celier  <celier@adacore.com>

	* make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
	with an archive instead of -L<library dir> -l<library name>.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
	mark the base types In_Use in addition to making the operations
	use_visible.

2011-08-02  Ed Falis  <falis@adacore.com>

	* init.c: add and setup __gnat_signal_mask for the exception signals
	* s-inmaop-vxworks.adb: new file.
	* s-intman-vxworks.adb: remove unnecessary initializations and
	simplify remaining
	* s-intman-vxworks.ads: remove unnecessary variable
	* s-taprop-vxworks.adb: simplify signal initialization

From-SVN: r177092
2011-08-02 10:13:21 +02:00
Robert Dewar
780d052e34 sem_ch8.adb: Minor code reorganization, comment updates.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb: Minor code reorganization, comment updates.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
	* sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
	here from Sem_Res.
	(Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
	(Matching_Static_Array_Bounds): Moved here from Sem_Res

From-SVN: r177091
2011-08-02 10:06:18 +02:00
Ed Schonberg
29efbb8cc6 atree.h, [...]: New subprograms to manipulate Elist5.
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
	* par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
	* sinfo.ads, sinfo.adb (Used_Operations): new attribute of
	use_type_clauses, to handle more efficiently use_type and use_all_type
	constructs.
	* sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
	Ada2012 Use_All_Type clause.
	(Use_Class_Wide_Operations): new procedure.

From-SVN: r177090
2011-08-02 10:03:11 +02:00
Arnaud Charlet
b0186f718a [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
	sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
	expression to expression function.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb: transform simple Ada2012 membership into equality only
	if types are compatible.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Matching_Static_Array_Bounds): new function which
	returns True if its argument array types have same dimension and same
	static bounds at each index.
	(Resolve_Actuals): issue an error in formal mode on actuals passed as
	OUT or IN OUT paramaters which are not view conversions in SPARK.
	(Resolve_Arithmetic_Op): issue an error in formal mode on
	multiplication or division with operands of fixed point types which are
	not qualified or explicitly converted.
	(Resolve_Comparison_Op): issue an error in formal mode on comparisons of
	Boolean or array type (except String) operands.
	(Resolve_Equality_Op): issue an error in formal mode on equality
	operators for array types other than String with non-matching static
	bounds.
	(Resolve_Logical_Op): issue an error in formal mode on logical operators
	for array types with non-matching static bounds. Factorize the code in
	Matching_Static_Array_Bounds.
	(Resolve_Qualified_Expression): issue an error in formal mode on
	qualified expressions for array types with non-matching static bounds.
	(Resolve_Type_Conversion): issue an error in formal mode on type
	conversion for array types with non-matching static bounds

From-SVN: r177089
2011-08-02 09:53:29 +02:00
Arnaud Charlet
767bb4e896 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch10.adb: Minor code reorganization (use Nkind_In).

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* par-ch9.adb: save location of entry for proper error message.

From-SVN: r177088
2011-08-02 09:48:59 +02:00
Javier Miranda
4ac2477e65 sem_type.ads, [...] (Is_Ancestor): Addition of a new formal (Use_Full_View) which permits this routine to climb...
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
	(Use_Full_View) which permits this routine to climb through the
	ancestors using the full-view of private parents.
	* sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
	Use_Full_View to true in calls to Is_Ancestor.
	* sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
	true in call to Is_Ancestor.
	* exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
	Use_Full_View to true in call to Is_Ancestor.
	* exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
	call to Is_Ancestor.
	* exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
	Use_Full_View to true in calls to Is_Ancestor.
	* exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
	Make_Select_Specific_Data_Table, Register_Primitive,
	Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
	to true in call to Is_Ancestor.
	* exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
	Use_Full_View to true in calls to Is_Ancestor.
	* exp_cg.adb
	(Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
	(Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.

From-SVN: r177087
2011-08-02 09:46:39 +02:00
Arnaud Charlet
9f90d12301 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor reformatting.
	* sem_prag.adb: Minor reformatting.

2011-08-02  Tristan Gingold  <gingold@adacore.com>

	* vms_data.ads: Add VMS qualifier for -gnateP.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
	* par-ch7.adb (P_Package): Proper placement of aspects for package
	decl/instantiation.
	* par-endh.adb (Check_End): Ad Is_Sloc parameter
	(End_Statements): Add Is_Sloc parameterr
	* par.adb (P_Aspect_Specification): New meaning of Decl = Empty
	(Check_End): Ad Is_Sloc parameter
	(End_Statements): Add Is_Sloc parameterr

2011-08-02  Vincent Celier  <celier@adacore.com>

	* ug_words: Add VMS qualifier equivalent to -gnateP:
	/SYMBOL_PREPROCESSING.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

	* gnat-style.texi: For hexadecimal numeric literals the typical
	grouping of digits is 4 to represent 2 bytes.
	A procedure spec which is split into several lines is indented two
	characters.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
	* sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
	(Resolve_Aggregate): issue errors in formal modes when aggregate is not
	properly qualified
	(Resolve_Array_Aggregate): issue errors in formal modes on non-static
	choice in array aggregate
	(Resolve_Extension_Aggregate): issue errors in formal modes on subtype
	mark as ancestor
	(Resolve_Record_Aggregate): issue errors in formal modes on mixed
	positional and named aggregate for record, or others in record
	aggregate, or multiple choice in record aggregate
	* sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
	array operands to logical operations AND, OR and XOR do not have the
	same static lower and higher bounds
	* sem_ch5.adb, sinfo.ads: Correct typos in comments

From-SVN: r177086
2011-08-02 09:42:46 +02:00
Alan Modra
390fa58886 rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE note for save_LR_around_toc_setup sequence.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
	note for save_LR_around_toc_setup sequence.

From-SVN: r177084
2011-08-02 14:42:37 +09:30
H.J. Lu
d4be16f6d2 Replace long with long long on __lzcnt64.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/lzcntintrin.h (__lzcnt64): Replace long with
	long long.

From-SVN: r177081
2011-08-01 17:31:07 -07:00
GCC Administrator
88b4b6834f Daily bump.
From-SVN: r177080
2011-08-02 00:18:50 +00:00
H.J. Lu
e7ae08e343 Add x32 libstdc++ baseline_symbols.txt.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.

From-SVN: r177076
2011-08-01 15:32:26 -07:00
Sebastian Pop
3c67fd9c30 Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
2011-08-01  Sebastian Pop  <sebastian.pop@amd.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
	* hwint.c: Include diagnostic-core.h.
	(abs_hwi): New.
	(gcd): Moved here...
	(pos_mul_hwi): New.
	(mul_hwi): New.
	(least_common_multiple): Moved here...
	* hwint.h (gcd): ... from here.
	(least_common_multiple): ... from here.
	(HOST_WIDE_INT_MIN): New.
	(HOST_WIDE_INT_MAX): New.
	(abs_hwi): Declared.
	(gcd): Declared.
	(pos_mul_hwi): Declared.
	(mul_hwi): Declared.
	(least_common_multiple): Declared.
	* omega.c (check_pos_mul): Removed.
	(check_mul): Removed.
	(omega_solve_geq): Use pos_mul_hwi instead of check_pos_mul and
	mul_hwi instead of check_mul.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r177075
2011-08-01 21:53:07 +00:00
Jason Merrill
4bbff96e36 re PR c++/49932 ([C++0x] ICE on instantiating decltype(expr)::type with template)
PR c++/49932
gcc/cp/
	* mangle.c (write_prefix): Handle decltype.
libiberty/
	* cp-demangle.c (d_prefix): Handle decltype.

From-SVN: r177074
2011-08-01 17:02:07 -04:00
Jason Merrill
3748a54ca3 re PR c++/49924 ([C++0X] [constexpr] can't initialize a non-static member array of a literal type as a constexpr)
PR c++/49924
	* semantics.c (cxx_eval_vec_init_1): Fix logic.

From-SVN: r177073
2011-08-01 17:01:59 -04:00
Richard Henderson
172c08a544 re PR target/49881 ([AVR] Inefficient stack manipulation around calls)
PR target/49881
        * config/avr/avr.h (PUSH_ROUNDING): New.
        * config/avr/avr.md (pushqi1): Rename from *pushqi.
        (*pushhi, *pushsi, *pushsf): Remove.
        (MPUSH): New mode iterator.
        (push<MPUSH>1): New expander.

From-SVN: r177071
2011-08-01 12:35:43 -07:00
Paolo Carlini
750867b7f4 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath (isinf): Remove workaround.

From-SVN: r177070
2011-08-01 19:26:39 +00:00
Anatoly Sokolov
0d5e496f46 mmix.h (PREFERRED_RELOAD_CLASS, [...]): Remove macro.
* config/mmix/mmix.h (PREFERRED_RELOAD_CLASS,
	PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
	* config/mmix/mmix-protos.h (mmix_preferred_reload_class,
	mmix_preferred_output_reload_class): Remove.
	* config/mmix/mmix.c (mmix_preferred_reload_class,
	mmix_preferred_output_reload_class): Make static. Change rclass
	argument and return type to reg_class_t.
	(TARGET_PREFERRED_RELOAD_CLASS,
	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.

From-SVN: r177069
2011-08-01 23:08:34 +04:00
Joern Rennecke
a44250f4dd mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER handling.
* mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER
        handling.

From-SVN: r177068
2011-08-01 19:30:29 +01:00
H.J. Lu
efd7630c8f Use ptr_mode for stack protector.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/47766
	* config/i386/i386.md (PTR): New.
	(stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
	(stack_protect_test): Likewise.
	(stack_protect_set_<mode>): Replace ":P" with ":PTR".
	(stack_tls_protect_set_<mode>): Likewise.
	(stack_tls_protect_test_<mode>): Likewise.

From-SVN: r177067
2011-08-01 11:21:07 -07:00
Jason Merrill
0701bb567b re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
PR c++/49813
	* semantics.c (potential_constant_expression_1): Allow any builtin.
	(morally_constexpr_builtin_function_p): Remove.

From-SVN: r177066
2011-08-01 14:14:29 -04:00
Uros Bizjak
03acddfe0c re PR target/49927 (ice in spill_failure, at reload1.c:2120)
PR target/49927
	* config/i386/i386.c (ix86_address_subreg_operand): New.
	(ix86_decompose_address): Use ix86_address_subreg_operand.
	(ix86_legitimate_address_p): Do not assert that subregs satisfy
	register_no_elim_operand in DImode.

testsuite/ChangeLog:

	PR target/49927
	* gcc.target/i386/pr49927.c: New test.

From-SVN: r177064
2011-08-01 19:13:30 +02:00
Ira Rosen
67f2d54f56 re PR tree-optimization/49926 (ice in process_use, at tree-vect-stmts.c:405)
PR tree-optimization/49926
        * tree-vect-loop.c (vect_is_slp_reduction): Check that a
        statement in a chain doesn't have uses both inside and
        outside the loop.

From-SVN: r177063
2011-08-01 16:58:20 +00:00
Robert Dewar
2933b16cf2 sem_util.ads, [...] (Last_Source_Statement): Replaces Last_Source_Node_In_Sequence.
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
	Replaces Last_Source_Node_In_Sequence.
	* err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
	* errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
	parens and blank in string (this was inconsistently implemented).
	* errout.ads
	(Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
	blank in string (this was inconsistently implemented).
	* gnat1drv.adb
	(Set_Global_Switches): Set formal mode switches appropriately
	* opt.ads, opt.adb: Formal mode is now global switches, more consistent
	* par-prag.adb
	(Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
	call Set_Error_Msg_Lang to set "spark" as language name.
	* par.adb: Remove unnecessary call to set formal language for errout
	* sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
	appropriately and call Set_Error_Msg_Lang to set "spark" as language
	name.
	* sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
	calls to it, moved after resolution so that types are known
	* sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
	result of concatenation is not of type String
	(Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
	concatenation is not properly restricted
	* gnat_rm.texi: Add doc on pragma Spark_95.
	* gcc-interface/Makefile.in: Remove obsolete target pairs for
	Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r177061
2011-08-01 18:16:24 +02:00
Arnaud Charlet
05dbd302cf [multiple changes]
2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
	condition that detects if the overridden operation must replace an
	existing entity.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
	code declarations inserted by Insert_Actions in each alternative of the
	N_Case_Expression node.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor code reorganization.
	* sem_util.adb: Minor reformatting.

From-SVN: r177059
2011-08-01 18:09:10 +02:00
Pascal Obry
af9e051fad prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
2011-08-01  Pascal Obry  <obry@adacore.com>

	* prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
	* gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.

From-SVN: r177058
2011-08-01 18:06:47 +02:00
Arnaud Charlet
1d801f212f [multiple changes]
2011-08-01  Yannick Moy  <moy@adacore.com>

	* par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
	literal or operator symbol which is prefixed
	* sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
	mode on access attributes.
	* sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
	that concatenation operands are properly restricted in formal mode
	(Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
	Analyze_Concatenation_Operand. Issue an error in formal mode if the
	result of the concatenation has a type different from String.
	(Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
	Analyze_Quantified_Expression, Analyze_Slice,
	Analyze_Null): issue an error in formal mode on unsupported constructs
	* sem_ch5.adb
	(Analyze_Block_Statement): only issue error on source block statement
	* sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
	function which returns the last node in a list of nodes for which
	Comes_From_Source returns True, if any
	* sem_ch6.adb (Check_Missing_Return): minor refactoring to use
	Last_Source_Node_In_Sequence
	* sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
	Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
	mode on unsupported constructs
	* sem_ch9.adb Do not return after issuing error in formal mode, as the
	rest of the actions may be needed later on since the error is marked as
	not serious.
	* sinfo.ads: Typos in comments.

2011-08-01  Pascal Obry  <obry@adacore.com>

	* projects.texi: Minor editing.

From-SVN: r177057
2011-08-01 18:05:30 +02:00
Yannick Moy
53beff2222 err_vars.ads (Error_Msg_Lang, [...]): new variables for insertion character ~~
2011-08-01  Yannick Moy  <moy@adacore.com>

	* err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
	insertion character ~~
	* errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
	(Set_Error_Msg_Lang): new procedure which fixes the language for use
	with insertion character ~~
	(Set_Msg_Text): treat insertion character ~~
	* par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
	sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
	Formal_Error_Msg_... procedures by equivalent Error_Msg_...
	procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
	errors related to the formal language restriction not serious
	(insertion character |).
	* par.adb (Par): set formal language for error messages if needed
	* sem_ch6.adb (Check_Missing_Return): take into account possible
	generated statements at the end of the function
	* snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
	enumeration value to define a new pragma SPARK_95
	* opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
	SPARK_Version): new type and variables to store the SPARK version
	(none by default).
	(SPARK_Mode): return True when SPARK_Version is set
	* par-prag.adb: Correct indentation
	(Prag): take Pragma_SPARK_95 into account
	* sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
	into account.

From-SVN: r177056
2011-08-01 18:02:10 +02:00
Robert Dewar
8d606a78a3 sem_ch3.adb, [...]: Minor reformatting
2011-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
	sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
	sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting

From-SVN: r177055
2011-08-01 17:59:50 +02:00
Pascal Obry
1982d5a854 prj-part.ads, [...] (Parse): Add Target_Name parameter.
2011-08-01  Pascal Obry  <obry@adacore.com>

	* prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
	Target_Name to Get_Path call.
	(Parse_Single_Project): Likewise.
	(Post_Parse_Context_Clause): Likewise.
	* prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
	Call Initialise_Project_Path with the proper Target_Name.
	(Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
	search path.
	(Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
	with the proper Target_Name.
	* prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
	Part.Parse routine.
	(Parse_Project_And_Apply_Config): Likewise.
	* prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
	This is fine as this part of the code is supporting only native
	compilation.
	* prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
	is fine as this part of the code is supporting only native compilation.

From-SVN: r177054
2011-08-01 17:57:17 +02:00
Arnaud Charlet
0d53d36b6e [multiple changes]
2011-08-01  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Enter_Name): issue error in formal mode on declaration
	of homonym, unless the homonym is one of the cases allowed in SPARK
	* par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
	package declaration occurring after a body.

2011-08-01  Robert Dewar  <dewar@adacore.com>

	* checks.adb, exp_ch4.adb: Minor reformatting.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* einfo.ads (Access_Disp_Table): Fix documentation.
	(Dispatch_Table_Wrappers): Fix documentation.

2011-08-01  Pascal Obry  <obry@adacore.com>

	* prj-env.adb, prj-env.ads: Minor reformatting.

From-SVN: r177053
2011-08-01 17:54:39 +02:00
Arnaud Charlet
8ed68165ed [multiple changes]
2011-08-01  Yannick Moy  <moy@adacore.com>

	* sem_util.ads, sem_util.adb, par.adb, par_util.adb
	(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
	procedures out of these packages.
	* errout.ads, errout.adb 
	(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
	procedures in of this package
	(Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
	* par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
	on misplaced later vs initial declarations, like in Ada 83
	* sem_attr.adb (Processing for Analyze_Attribute): issue error in
	formal mode on attribute of private type whose full type declaration
	is not visible
	* sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
	package declaration inside a package specification
	(Analyze_Full_Type_Declaration): issue error in formal mode on
	controlled type or discriminant type
	* sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
	user-defined operator means that it should come from the source
	(New_Overloaded_Entity): issue error in formal mode on overloaded
	entity.
	* sem_ch6.ads, sem_ch13.ads: typos in comments.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* atree.adb: Minor reformatting.
	* checks.adb: Minor reformatting.

From-SVN: r177052
2011-08-01 17:51:41 +02:00
Arnaud Charlet
4230bdb759 [multiple changes]
2011-08-01  Vincent Celier  <celier@adacore.com>

	* s-parame-vms-ia64.ads: Fix typo in comment
	Minor reformatting
	* s-parame-vms-restrict.ads: Removed, unused.

2011-08-01  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb
	(Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
	* sem_ch3.adb
	(Constrain_Index): Remove side effects in the evaluation of the bounds.
	* sem_ch3.ads, sem_ch3.adb
	(Is_Constant_Bound): New extended version of the subprogram that was
	previously located inside function Exp_Ch3.Is_Variable_Size_Array.
	Moved here since it is shared by routines of sem_ch3 and exp_ch3.
	* sem_aux.ads (Constant_Value): Fix typo in comment.
	* checks.adb (Generate_Index_Checks): New implementation which, for
	array objects with constant bounds, generates the runtime check
	referencing the bounds of the array type. For other cases this routine
	provides its previous behavior obtaining such values from the array
	object.
	* sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
	parent type.
	* atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
	we cannot have semantic interpretations of the new node.

From-SVN: r177051
2011-08-01 17:45:30 +02:00
Arnaud Charlet
2010d0783d [multiple changes]
2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
	expressions.

2011-08-01  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch8.adb: Minor code editing.
	* s-vxwext.adb: Remove trailing space.
	* freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
	consistency with other files.

2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* par-ch10.adb: reject parameterized expressions as compilation unit.
	* sem_ch4.adb: handle properly conditional expression with overloaded
	then_clause and no else_clause.

2011-08-01  Tristan Gingold  <gingold@adacore.com>

	* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
	like done by System.Aux_DEC.
	* env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.

From-SVN: r177050
2011-08-01 17:41:01 +02:00
Georg-Johann Lay
f2c308fa3f avr.h (mcu_type_s): Add errata_skip field.
* config/avr/avr.h (mcu_type_s): Add errata_skip field.
	* config/avr/avr-devices.c (avr_mcu_types): Use it.
	* config/avr/avr-mcus.def (AVR_MCU): Use it.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin
	define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__.
	* config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit):
	Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__
	to detect if XJMP must not be skipped.

From-SVN: r177049
2011-08-01 15:35:45 +00:00
Yannick Moy
daec8eebdb par-endh.adb (Check_End): issue a syntax error in SPARK mode for missing label at end of declaration...
2011-08-01  Yannick Moy  <moy@adacore.com>

	* par-endh.adb (Check_End): issue a syntax error in SPARK mode for
	missing label at end of declaration (subprogram or package)
	* par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
	of positional and named parameter association
	* par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
	Error_Msg_SP which adds a prefix to the error message giving the name
	of the formal language analyzed
	* sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
	access result type in subprogram, unconstrained array as result type,.
	(Analyze_Subprogram_Declaration): issue an error in formal mode for null
	procedure
	* sem_ch8.adb: Code clean up.

From-SVN: r177048
2011-08-01 17:34:50 +02:00
Arnaud Charlet
38171f43f1 [multiple changes]
2011-08-01  Javier Miranda  <miranda@adacore.com>

	* sem_ch7.adb (Uninstall_Declarations): Remove useless code.
	* einfo.ads (Access_Disp_Table): Fix documentation.
	(Dispatch_Table_Wrappers): Fix documentation.
	* einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
	Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
	to enforce the documentation of this attribute.
	(Set_Is_Interface): Cleanup the assertion.
	* exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
	the Underlying_Type entity before reading attribute Access_Disp_Table.
	* exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
	Locate the Underlying_Type before reading attribute Access_Disp_Table.
	* exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
	the Underlying_Type entity before reading attribute Access_Disp_Table.
	* exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
	Locate the Underlying_Type entity before reading attribute
	Access_Disp_Table.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* s-poosiz.ads: Additional overriding indicators.

2011-08-01  Yannick Moy  <moy@adacore.com>

	* sem_ch5.adb (Analyze_Exit_Statement): add return after error in
	formal mode.
	(Analyze_Iteration_Scheme): issue error in formal mode when loop
	parameter specification does not include a subtype mark.
	* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
	formal mode on abstract subprogram.
	(Analyze_Subprogram_Specification): issue error in formal mode on
	user-defined operator.
	(Process_Formals): issue error in formal mode on access parameter and
	default expression.
	* sem_ch9.adb (Analyze_Abort_Statement,
	Analyze_Accept_Statement, Analyze_Asynchronous_Select,
	Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
	Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
	Analyze_Requeue, Analyze_Selective_Accept,
	Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
	* sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
	issue error in formal mode on user-defined raise statement.

From-SVN: r177047
2011-08-01 17:17:35 +02:00
Arnaud Charlet
1f25038381 [multiple changes]
2011-08-01  Thomas Quinot  <quinot@adacore.com>

	* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
	declaration being hidden when overriding an implicit inherited
	subprogram.
	* par-ch10.adb (P_Compilation_Unit): In syntax check only mode
	(-gnats), do not complain about a source file that contains only a
	pragma No_Body.

2011-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
	variable if already set.

From-SVN: r177046
2011-08-01 17:13:25 +02:00
Arnaud Charlet
5dabb19c6d Update header.
From-SVN: r177045
2011-08-01 17:11:02 +02:00
Arnaud Charlet
f5e68b48a5 Update header.
From-SVN: r177044
2011-08-01 17:10:28 +02:00
Arnaud Charlet
c47c02ae6a Switch to GPLv3 run-time license.
From-SVN: r177043
2011-08-01 17:10:11 +02:00
Arnaud Charlet
cf02459a95 Update to GPLv3 run-time license.
From-SVN: r177042
2011-08-01 17:08:40 +02:00