1. 01 Aug, 2011 40 commits
    • err_vars.ads (Error_Msg_Lang, [...]): new variables for insertion character ~~ · 53beff22
      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
      Yannick Moy committed
    • sem_ch3.adb, [...]: Minor reformatting · 8d606a78
      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
      Robert Dewar committed
    • prj-part.ads, [...] (Parse): Add Target_Name parameter. · 1982d5a8
      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
      Pascal Obry committed
    • [multiple changes] · 0d53d36b
      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
      Arnaud Charlet committed
    • [multiple changes] · 8ed68165
      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
      Arnaud Charlet committed
    • [multiple changes] · 4230bdb7
      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
      Arnaud Charlet committed
    • [multiple changes] · 2010d078
      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
      Arnaud Charlet committed
    • avr.h (mcu_type_s): Add errata_skip field. · f2c308fa
      	
      	* 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
      Georg-Johann Lay committed
    • par-endh.adb (Check_End): issue a syntax error in SPARK mode for missing label… · daec8eeb
      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
      Yannick Moy committed
    • [multiple changes] · 38171f43
      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
      Arnaud Charlet committed
    • [multiple changes] · 1f250383
      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
      Arnaud Charlet committed
    • Update header. · 5dabb19c
      From-SVN: r177045
      Arnaud Charlet committed
    • Update header. · f5e68b48
      From-SVN: r177044
      Arnaud Charlet committed
    • Switch to GPLv3 run-time license. · c47c02ae
      From-SVN: r177043
      Arnaud Charlet committed
    • Update to GPLv3 run-time license. · cf02459a
      From-SVN: r177042
      Arnaud Charlet committed
    • linux-unwind.h (frob_update_context <__powerpc64__>): Restore for indirect call… · bd15e32c
      linux-unwind.h (frob_update_context <__powerpc64__>): Restore for indirect call bcrtl from correct stack slot...
      
      libgcc/
      	* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
      	Restore for indirect call bcrtl from correct stack slot, and only
      	if cfa+40 isn't valid.
      gcc/
      	* config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p): Delete.
      	* config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
      	(rs6000_emit_prologue): Don't prematurely return when
      	TARGET_SINGLE_PIC_BASE.  Don't emit eh_frame info in
      	save_toc_in_prologue case.
      	(rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
      	calls_alloca.
      
      From-SVN: r177041
      Alan Modra committed
    • [multiple changes] · 607d0635
      2011-08-01  Arnaud Charlet  <charlet@adacore.com>
      
      	* g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
      	g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
      	s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
      	g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
      	g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
      	g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
      	g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
      	g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
      	g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
      	g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
      	g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
      	s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
      	g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
      	s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
      	g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
      	g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
      	g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
      	g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
      	g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
      	g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
      	s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
      	s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
      	a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
      	s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
      	s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
      	g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
      	g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
      	g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
      	g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
      	g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
      	g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
      	s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
      	s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
      	g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
      	g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
      	s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
      	s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
      	g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
      	g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
      	g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
      	s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
      	g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
      	g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
      	g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
      	s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
      	g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
      	g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
      	g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
      	s-osinte-mingw.ads: Update to GPLv3 run-time license.
      	Use GNAT instead of GNARL.
      
      2011-08-01  Bob Duff  <duff@adacore.com>
      
      	* a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
      	a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
      	a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
      	reformatting.
      
      2011-08-01  Yannick Moy  <moy@adacore.com>
      
      	* debug.adb (d.D) reverve flag for the SPARK mode
      	(d.E) reverve flag for SPARK generation mode
      	(d.F) reverve flag for Why generation mode
      	* opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode, 
      	ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode):  New
      	functions which return True when the corresponding modes are set
      	(Formal_Language): return "spark" or "alfa" when in formal verification
      	mode.
      	* sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
      	Error_Msg to prefix the error message with a tag giving the formal
      	language
      	(Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
      	message with a tag giving the formal language
      	* sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
      	block statement
      	(Analyze_Case_Statement): issue error in formal mode on case statement
      	with a single "others" case alternative
      	(Analyze_Exit_Statement): issue errors in formal mode on exit
      	statements which do not respect SPARK restrictions
      	(Analyze_Goto_Statement): issue error in formal mode on goto statement
      	(Check_Unreachable_Code): always issue an error (not a warning) in
      	formal mode on unreachable code (concerns both code after an infinite
      	loop and after an unconditional jump, both not allowed in SPARK)
      	* sem_ch6.adb (Analyze_Return_Statement): add call to
      	Set_Return_Present for a procedure containing a return statement
      	(already done for functions in Analyze_Function_Return)
      	(Analyze_Function_Return): issue error in formal mode on extended
      	return or if return is not last statement in function
      	(Check_Missing_Return): issue error in formal mode if function does
      	not end with return or if procedure contains a return
      	* sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
      	function to detect if there is an inner scope of its parameter S which
      	is a loop.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch6.ads: Minor reformatting.
      
      From-SVN: r177040
      Arnaud Charlet committed
    • avr-devices.c: Delete SVN property svn:executable. · d80de9e1
      	
      	* config/avr/avr-devices.c: Delete SVN property svn:executable.
      	* config/avr/predicates.md: Ditto.
      	* config/avr/driver-avr.c: Ditto.
      	* config/avr/genopt.sh: Set SVN property svn:executable to *.
      
      From-SVN: r177039
      Georg-Johann Lay committed
    • [multiple changes] · d8b3ccb9
      2011-08-01  Javier Miranda  <miranda@adacore.com>
      
      	* sem_util.adb (Abstract_Interface_List): Complete condition when
      	processing private type declarations to avoid reading unavailable
      	attribute.
      	(Is_Synchronized_Tagged_Type): Complete condition when processing
      	private extension declaration nodes to avoid reading unavailable
      	attribute.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
      	i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
      	s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
      	s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
      	for VMS, instead parametrize the common implementation with
      	System.Parameters declarations.
      
      From-SVN: r177038
      Arnaud Charlet committed
    • [multiple changes] · 0bb9276c
      2011-08-01  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
      
      2011-08-01  Tristan Gingold  <gingold@adacore.com>
      
      	* seh_init.c: Fix SEH handler installation on win64.
      
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
      	double analysis of an anonymous access to subprogram, because it can
      	lead to improper sharing of profiles and a back-end crash.
      
      From-SVN: r177037
      Arnaud Charlet committed
    • Declare size only if BLOCK_REG_PADDING is defined. · ee222ce0
      2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* calls.c (emit_library_call_value_1): Declare size only if
      	BLOCK_REG_PADDING is defined.
      
      From-SVN: r177036
      H.J. Lu committed
    • [multiple changes] · 6a2e4f0b
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* make.adb, sem_ch4.adb: Minor reformatting.
      	* gcc-interface/Make-lang.in: Update dependencies.
      	* sem_util.adb, exp_ch5.adb: Minor reformatting.
      
      2011-08-01  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_rm.texi: Fix definition of Long_Integer.
      
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb: check limit size of static aggregate unconditionally,
      	to prevent storage exhaustion.
      	* exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
      	finalized is a function body, insert the cleanup code before the final
      	return statement, to prevent spurious warnings.
      	* s-pooglo.ads: add overriding indicator.
      
      From-SVN: r177035
      Arnaud Charlet committed
    • Add -mlzcnt. · 5fcafa60
      gcc/
      
      2011-08-01  Kirill Yukhin  <kirill.yukhin@intel.com>
      
      	PR target/49547
      	* config.gcc (i[34567]86-*-*): Replace abmintrin.h with
      	lzcntintrin.h.
      	(x86_64-*-*): Likewise.
      	* config/i386/i386.opt (mlzcnt): New.
      	* config/i386/abmintrin.h: File removed.
      	(__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
      	* config/i386/lzcntintrin.h: ... here. New file.
      	(__lzcnt): Rename to ...
      	(__lzcnt32): ... this.
      	* config/i386/bmiintrin.h (head): Update copyright year.
      	(__lzcnt_u16): Removed.
      	(__lzcnt_u32): Likewise.
      	(__lzcnt_u64): Likewise.
      	* config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
      	is defined, remove abmintrin.h.
      	* config/i386/cpuid.h (bit_LZCNT): New.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
      	LZCNT feature.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Define
      	__LZCNT__ if needed.
      	* config/i386/i386.c (ix86_target_string): New option -mlzcnt.
      	(ix86_option_override_internal): Handle LZCNT option.
      	(ix86_valid_target_attribute_inner_p): Likewise.
      	(struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update.
      	* config/i386/i386.h (TARGET_LZCNT): New.
      	(CLZ_DEFINED_VALUE_AT_ZERO): Update.
      	* config/i386/i386.md (clz<mode>2): Update insn constraint.
      	(clz<mode>2_lzcnt): Likewise.
      	* doc/invoke.texi: Mention -mlzcnt option.
      	* doc/extend.texi: Likewise.
      
      gcc/testsuite/
      
      2011-08-01  Kirill Yukhin  <kirill.yukhin@intel.com>
      
      	* gcc.target/i386/i386.exp (check_effective_target_lzcnt): New.
      	* gcc.target/i386/lzcnt-1.c: New test.
      	* gcc.target/i386/lzcnt-2.c: Likewise.
      	* gcc.target/i386/lzcnt-2a.c: Likewise.
      	* gcc.target/i386/lzcnt-3.c: Likewise.
      	* gcc.target/i386/lzcnt-4.c: Likewise.
      	* gcc.target/i386/lzcnt-4a.c: Likewise.
      	* gcc.target/i386/lzcnt-5.c: Likewise.
      	* gcc.target/i386/lzcnt-6.c: Likewise.
      	* gcc.target/i386/lzcnt-6a.c: Likewise.
      	* gcc.target/i386/lzcnt-check.h: Likewise.
      
      	* gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt.
      	* gcc.target/i386/sse-13.c: Likewise.
      	* gcc.target/i386/sse-14.c: Likewise.
      	* g++.dg/other/i386-2.C: Likewise.
      	* g++.dg/other/i386-3.C: Likewise.
      
      From-SVN: r177034
      Kirill Yukhin committed
    • sem_ch4.adb (Operator_Check): improve error message when both a with_clause and… · 4561baf7
      sem_ch4.adb (Operator_Check): improve error message when both a with_clause and a use_clause are needed to...
      
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Operator_Check): improve error message when both a
      	with_clause and a use_clause are needed to make operator usage legal.
      	* sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
      	determine whether a compilation unit is visible within an other,
      	either through a with_clause in the current unit, or a with_clause in
      	its library unit or one one of its parents.
      
      From-SVN: r177033
      Ed Schonberg committed
    • [multiple changes] · 383e179e
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
      	over an arbitrary expression of an array or container type.
      	* lib-xref.adb: clarify comment.
      
      2011-08-01  Bob Duff  <duff@adacore.com>
      
      	* einfo.ads: Minor reformatting.
      	* debug.adb: Minor comment improvement.
      
      2011-08-01  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
      	consider hidden subprograms as valid candidates.
      
      2011-08-01  Arnaud Charlet  <charlet@adacore.com>
      
      	* make.adb (Compile): Strip -mxxx switches in CodePeer mode.
      
      2011-08-01  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* gnat_ugn.texi: Fix typo.
      
      From-SVN: r177031
      Arnaud Charlet committed
    • [multiple changes] · 61c161b2
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
      	lib-xref.adb: Minor reformatting
      
      2011-08-01  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
      	when to generate a call to Move_Final_List.
      	(Has_Controlled_Parts): Remove this function.
      
      From-SVN: r177030
      Arnaud Charlet committed
    • [multiple changes] · 84df40f7
      2011-08-01  Geert Bosch  <bosch@adacore.com>
      
      	* par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
      	"," in choice list.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
      	explicit raise of a predefined exception as Comes_From_Source if the
      	original N_Raise_Statement comes from source.
      
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* sinfo.ads: Add comment.
      	* sem_ch6.adb: Minor reformatting.
      
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Refine check for bad component size
      	clause to avoid rejecting confirming clause when atomic/aliased present.
      
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
      	better determine whether an entity reference is a write.
      	* sem_util.adb (Is_LHS): refine predicate to handle assignment to a
      	subcomponent.
      	* lib-xref.adb (Output_References): Do no suppress a read reference at
      	the same location as an immediately preceeding modify-reference, to
      	handle properly in-out actuals.
      
      2011-08-01  Tristan Gingold  <gingold@adacore.com>
      
      	* env.c (__gnat_setenv) [VMS]: Refine previous change.
      
      2011-08-01  Quentin Ochem  <ochem@adacore.com>
      
      	* i-cstrin.adb (New_String): Changed implementation, now uses only the
      	heap to compute the result.
      
      From-SVN: r177029
      Arnaud Charlet committed
    • [multiple changes] · c7f0d2c0
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* atree.ads: Minor reformatting.
      
      2011-08-01  Emmanuel Briot  <briot@adacore.com>
      
      	* g-expect.adb (Get_Command_Output): Fix memory leak.
      
      2011-08-01  Geert Bosch  <bosch@adacore.com>
      
      	* cstand.adb (P_Float_Type): New procedure to print the definition of
      	predefined fpt types.
      	(P_Mixed_Name): New procedure to print a name using mixed case
      	(Print_Standard): Use P_Float_Type for printing floating point types
      	* einfo.adb (Machine_Emax_Value): Add preliminary support for quad
      	precision IEEE float.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting.
      
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
      	the completion of a generic function, insert the new body rather than
      	rewriting the original.
      
      2011-08-01  Yannick Moy  <moy@adacore.com>
      
      	* sinfo.ads, errout.ads: Typos in comments.
      
      From-SVN: r177028
      Arnaud Charlet committed
    • [multiple changes] · 1c54829e
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* par-endh.adb: Minor reformatting.
      
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Add aspects for library unit pragmas
      	(Pre_Post_Aspects): New subtype.
      	* par-ch12.adb (P_Generic): New syntax for aspects in packages
      	* par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
      	* par-ch7.adb (P_Package): Remove Decl parameter
      	(P_Package): Handle new syntax for aspects (before IS)
      	* par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
      	new aspect syntax
      	(P_Task_Definition): Remove Decl parameter, handle new aspect syntax
      	* par.adb (P_Aspect_Specifications): Add Semicolon parameter
      	(P_Package): Remove Decl parameter
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
      	aspects
      	* sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
      	specs
      	* sem_util.ads, sem_util.adb (Static_Boolean): New function
      	* sinfo.ads: Document new syntax for aspects in packages etc.
      	* sprint.adb: Handle new syntax of aspects before IS in package
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* atree.ads: Minor reformatting.
      	* sem_prag.adb: Minor reformatting.
      
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.adb (Insert_Actions): Fix error in handling Actions for
      	case expr alternative.
      
      2011-08-01  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb: Fix typo.
      
      From-SVN: r177027
      Arnaud Charlet committed
    • sem_prag.adb (Check_No_Link_Name): New procedure. · 9eea4346
      2011-08-01  Geert Bosch  <bosch@adacore.com>
      
      	* sem_prag.adb (Check_No_Link_Name): New procedure.
      	(Process_Import_Or_Interface): Use Check_No_Link_Name.
      	* cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
      	instead of Standard_Long_Long_Float_Size global. Preparation for
      	eventual removal of per type constants.
      	* exp_util.ads (Get_Stream_Size): New function returning the stream
      	size value of subtype E.
      	* exp_util.adb (Get_Stream_Size): Implement new function.
      	* exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
      	function.
      	* exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
      	* einfo.adb:
      	(Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
      
      From-SVN: r177026
      Geert Bosch committed
    • configure.ac (fixed-point): Add ARM support. · 655b30bf
      	gcc/
      	* configure.ac (fixed-point): Add ARM support.
      	* configure: Regenerate.
      	* config/arm/arm.c (arm_fixed_mode_set): New struct.
      	(arm_set_fixed_optab_libfunc): New.
      	(arm_set_fixed_conv_libfunc): New.
      	(arm_init_libfuncs): Initialise fixed-point helper libfuncs with
      	ARM-specific names.
      	(aapcs_libcall_value): Return sub-word-size fixed-point libcall
      	return values in SImode.
      	(arm_return_in_msb): Return fixed-point types in the msb.
      	(arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
      	upwards.
      	(arm_scalar_mode_supported_p): Support fixed-point modes.
      	(arm_vector_mode_supported_p): Support vector fixed-point modes.
      	* config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
      	(LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
      	(SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
      	(LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
      	* config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
      	New mode iterators.
      	(qaddsub_suf): New mode attribute.
      	* config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
      	vector modes.
      	* config/arm/predicates.md (sat_shift_operator): New predicate.
      	* config/arm/arm-fixed.md: New.
      	* config/arm/arm.md: Include arm-fixed.md.
      	* config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
      
      	libgcc/
      	* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
      	(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
      	* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.
      
      	gcc/testsuite/
      	* gcc.target/arm/fixed-point-exec.c: New test.
      
      From-SVN: r177025
      Julian Brown committed
    • cstand.adb: Fix comments. · 3d6c3bd7
      2011-08-01  Geert Bosch  <bosch@adacore.com>
      
      	* cstand.adb: Fix comments.
      	* sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
      	count of arguments.
      
      From-SVN: r177024
      Geert Bosch committed
    • [multiple changes] · e7d897b8
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb, sem_cat.adb: Minor reformatting.
      
      2011-08-01  Geert Bosch  <bosch@adacore.com>
      
      	* atree.ads: Fix comment.
      
      From-SVN: r177023
      Arnaud Charlet committed
    • calls.c (emit_library_call_value_1): Support padding for libcall arguments and return values. · 460b171d
      	gcc/
      	* calls.c (emit_library_call_value_1): Support padding for libcall
      	arguments and return values.
      	* config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
      	downwards in big-endian mode.
      
      From-SVN: r177022
      Julian Brown committed
    • [multiple changes] · c228a069
      2011-08-01  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
      	* par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
      	* par.adb: Add with for Namet.Sp.
      	* par-tchk.adb: Minor reformatting.
      
      2011-08-01  Vincent Celier  <celier@adacore.com>
      
      	* mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
      	(Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
      	of the init procedure of a SAL.
      	* mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
      	New procedure.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
      	reformatting.
      
      2011-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      
      	* adaint.c (__gnat_file_time_name_attr): Get rid of warning.
      
      2011-08-01  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
      	conformant with its spec (return True only for types that have
      	an overriding Initialize primitive operation that prevents them from
      	having preelaborable initialization).
      	* sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
      	initialization for controlled types in Ada 2005 or later mode.
      
      From-SVN: r177021
      Arnaud Charlet committed
    • re PR debug/49887 (.debug_macro breaks many Solaris/SPARC tests) · b6193c94
      	PR debug/49887
      	* config/sol2.c (solaris_code_end): Rename to solaris_file_end.
      	* config/sol2-protos.h: Likewise.
      	* config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call
      	solaris_code_end.
      	* config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine.
      	* config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call
      	solaris_file_end.
      	* config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove.
      
      From-SVN: r177020
      Rainer Orth committed
    • Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New. · 247eb06f
      	libgcc/
      	* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
      	(libgcc-std.ver.in): Use above.
      	* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
      	LIBGCC2_GNU_PREFIX is defined.  Use instead of LIBGCC2_GNU_PREFIX
      	throughout file.
      	* config/t-fixedpoint-gnu-prefix: New file.
      	* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
      	* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
      	instead of __PFX__.
      
      From-SVN: r177019
      Julian Brown committed
    • tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST. · 0747aae4
      	gcc/
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
      
      From-SVN: r177018
      Julian Brown committed
    • final.c (output_addr_const): Print fixed-point constants as decimal not hex. · 848fac28
      	gcc/
      	* final.c (output_addr_const): Print fixed-point constants as
      	decimal not hex.
      
      From-SVN: r177017
      Julian Brown committed
    • stor-layout.c (initialize_sizetypes): Properly sign-extend bitsiztype TYPE_MAX_VALUE. · e62a2b6e
      2011-08-01  Richard Guenther  <rguenther@suse.de>
      
      	* stor-layout.c (initialize_sizetypes): Properly sign-extend
      	bitsiztype TYPE_MAX_VALUE.
      
      From-SVN: r177016
      Richard Guenther committed