1. 04 Aug, 2011 27 commits
    • [multiple changes] · 51c400f5
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* erroutc.adb: Minor reformatting.
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb: Comment update.
      
      2011-08-04  Tristan Gingold  <gingold@adacore.com>
      
      	* s-flocon.ads: New file.
      	* g-flocon.ads: Now a renaming of s-flocon.
      	* Makefile.rtl: Add s-flocon.o
      
      From-SVN: r177336
      Arnaud Charlet committed
    • [multiple changes] · 6a49f110
      2011-08-04  Javier Miranda  <miranda@adacore.com>
      
      	* exp_strm.adb (Build_Array_Input_Function): if the array type is
      	constrained, do not attempt to build a subtype of it.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* errout.ads Change comments: remove 'R'M as an example where quotes
      	are needed; add ALFA as another case where quotes are not needed
      	* erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
      	case where quotes are not needed.
      	* sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
      	sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
      	Remove all occurrences of 'A'L'F'A
      
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb: check legality of invariant pragma.
      
      From-SVN: r177335
      Arnaud Charlet committed
    • [multiple changes] · a4640a39
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* bindgen.adb: Add comments.
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
      	synthesized flag.
      	* sem_prag.adb (Analyze_Pragma): record the pragma Annotate
      	(Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
      	osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
      	sem_ch13.adb, s-pooloc.adb: Minor reformatting.
      
      From-SVN: r177334
      Arnaud Charlet committed
    • [multiple changes] · 39ade2f9
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* s-pooloc.ads, s-pooglo.ads: Minor reformatting
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, exp_ch4.adb: Minor reformatting.
      
      2011-08-04  Jerome Lambourg  <lambourg@adacore.com>
      
      	* back_end.ads (Gen_Or_Update_Object_File): Add more comments.
      
      From-SVN: r177333
      Arnaud Charlet committed
    • re PR ada/47880 (Free in System.Pool_Local raises Storage_Error) · a25f5ee6
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	PR ada/47880
      	* s-pooloc.adb (Deallocate): Fix the case of deallocating the only
      	allocated object.
      
      From-SVN: r177332
      Thomas Quinot committed
    • [multiple changes] · 7efc3f2d
      2011-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
      	type in all cases to compute list of primitive operations, because full
      	view may be an itype that is not attached to the list of declarations.
      
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
      	library has already been finalized.
      	(Gen_Adafinal_C): Likewise.
      	(Gen_Adainit_Ada): Generate an early return if the library has
      	already been elaborated.
      	(Gen_Adainit_C): Likewise.
      	(Gen_Output_File_Ada): Generate an elaboration flag.
      	(Gen_Output_File_C): Likewise.
      
      From-SVN: r177331
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of… · f65df609
      exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of Set_Finalize_Address_Ptr for CodePeer because...
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
      	Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
      	built in the first place.
      	(Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
      	for CodePeer because Finalize_Address was not built to begin with.
      	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
      
      From-SVN: r177330
      Hristian Kirtchev committed
    • [multiple changes] · a0fb8fe8
      2011-08-04  Pascal Obry  <obry@adacore.com>
      
      	* adaint.c (__gnat_tmp_name): Use current process id to create temp
      	filenames, this ensures unicity of filenames across processes.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
      	Raise_Controlled to Raise_From_Controlled_Operation. Update the
      	signature of Raise_From_Controlled_Operation by adding flag From_Abort.
      	Add False as the actual to From_Abort in the generated call to
      	Raise_From_Controlled_Operation.
      
      2011-08-04  Jerome Lambourg  <lambourg@adacore.com>
      
      	* osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
      	so that the ali file name can be retrieved from outside of this package.
      	* back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
      	doing nothing in the general case, but used to update the object file
      	timestamp if directly generated by the backend.
      	* gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
      	to a later time than the ali file one.
      
      From-SVN: r177329
      Arnaud Charlet committed
    • [multiple changes] · 9534ab17
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
      	entities whose body contains an Annotate pragma which forces formal
      	proof on this body.
      	* sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
      	sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
      	Mark_Non_ALFA_Subprogram to pass in a message and node.
      	* sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
      	(Forma_Proof, On) which sets the flag Formal_Proof_On in the
      	surrounding subprogram.
      	* sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
      	Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
      	as not in ALFA is annotated with Formal_Proof being On, then an error
      	is issued based on the additional parameters for message and node.
      	* snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
      	Finalize_Address when CodePeer is enabled.
      
      2011-08-04  Pascal Obry  <obry@adacore.com>
      
      	* adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
      	the latter returns a pointer to a static buffer which is deallocated
      	at the end of the routine.
      
      From-SVN: r177328
      Arnaud Charlet committed
    • [multiple changes] · 5c0e97dd
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
      	after index creation; mark unconstrained base array type generated as
      	being in/not in ALFA as well
      	(Make_Index): mark subtype created as in/not in ALFA
      	* sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
      	over a loop as in/not in ALFA, depending on its type and form of loop
      	iteration.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
      	directly to False on .NET and JVM.
      
      From-SVN: r177326
      Arnaud Charlet committed
    • sem_ch3.adb (Constrain_Enumeration, [...]): remove constraint that subtype must… · 7a93c64b
      sem_ch3.adb (Constrain_Enumeration, [...]): remove constraint that subtype must come from source code to be in ALFA...
      
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
      	constraint that subtype must come from source code to be in ALFA, so
      	that anonymous subtypes can be in ALFA too.
      
      From-SVN: r177325
      Yannick Moy committed
    • sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of reference for ALFA mode. · e9a1ed9b
      2011-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
      	reference for ALFA mode.
      	* lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
      	procedure public so as to use it from formal verification back-end.
      
      From-SVN: r177324
      Yannick Moy committed
    • [multiple changes] · 8e293fbd
      2011-08-04  Jerome Lambourg  <lambourg@adacore.com>
      
      	* g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
      	invalid checks of the Parameter, making Remove_Switch not working
      	correctly.
      
      2011-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* targparm.ads: Update header: no run-time exception is needed on this
      	file.
      
      2011-08-04  Vincent Celier  <celier@adacore.com>
      
      	* a-fihema.adb: Use System.IO instead of GNAT.IO
      
      2011-08-04  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
      	are forbidden in Compiler_Unit mode.
      
      From-SVN: r177323
      Arnaud Charlet committed
    • [multiple changes] · cfae2bed
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb: Minor reformatting.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
      	library-level finalizers.
      	(Gen_Finalize_Library_C): Update the import string for library-level
      	finalizers.
      	(Gen_Finalize_Library_Defs_C): Update the definition name of a
      	library-level finalizer.
      	* exp_ch7.adb: Remove with and use clauses for Stringt.
      	(Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
      	Spec_Decl. Add local variable Body_Id. The names of library-level
      	finalizers are now manually fully qualified and are no longer external.
      	A single name is now capable of servicing .NET, JVM and non-VM targets.
      	Pragma Export is no longer required to provide visibility for the name.
      	(Create_Finalizer_String): Removed.
      	(New_Finalizer_Name): New routine which mimics New_..._Name.
      
      From-SVN: r177322
      Arnaud Charlet committed
    • [multiple changes] · 01f0729a
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
      	elaboration counter to Standard_Short_Integer.
      	* sem_util.adb (Build_Elaboration_Entity): Likewise.
      	* bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
      	(Gen_Elab_Externals_C): Likewise.
      
      2011-08-04  Ed Falis  <falis@adacore.com>
      
      	* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
      	system-vxworks-ppc.ads, system-vxworks-m68k.ads,
      	system-vxworks-mips.ads, system-vxworks-x86.ads
      	(Always_Compatible_Rep): set to False for all VxWorks targets.
      
      From-SVN: r177321
      Arnaud Charlet committed
    • [multiple changes] · 2c1b72d7
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
      	makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
      	exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
      	exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
      	exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
      	sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
      	sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
      	Minor reformatting and code reorganization.
      
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* projects.texi: Added doc for aggregate projects.
      
      From-SVN: r177320
      Arnaud Charlet committed
    • [multiple changes] · 824e9320
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
      	Add support for overriding the Project_Path in aggregate projects.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* a-cofove.ads: Minor reformatting.
      
      2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
      	on the generated code.
      	(Build_Finalize_Statements): Update the comment on the generated code.
      	(Build_Initialize_Statements): Update the comment on the generated code.
      	(Build_Object_Declarations): Add local variable Result. The object
      	declarations are now built in sequence.
      	* rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
      	RE_Unit_Table.
      
      2011-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* checks.adb, alfa.adb, alfa.ads: Minor reformatting.
      
      2011-08-04  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* einfo.ads (Elaboration_Entity): Document new definition and use.
      	(Elaboration_Entity_Required): Adjust to above change.
      	* exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
      	* exp_ch12.adb: And with and use for Snames.
      	(Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
      	* exp_util.adb (Set_Elaboration_Flag): Likewise.
      	* sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
      	<Check_Unit_Name>: Deal with N_Expanded_Name.
      	<Attribute_Elaborated>: Extend to all unit names.
      	* sem_elab.adb: And with and use for Uintp.
      	(Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
      	* sem_util.ads (Build_Elaboration_Entity): Adjust comment.
      	* sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
      	* bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
      	from Gen_Adainit_Ada.
      	(Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
      	(Gen_Adafinal_Ada): Remove redundant test.  In the non-main program
      	case, do not call System.Standard_Library.Adafinal; instead call
      	finalize_library if needed.
      	(Gen_Adafinal_C): Likewise.
      	(Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
      	non-main program case.
      	(Gen_Adainit_C): Generate a couple of external declarations here.
      	In the main program case, set SSL.Finalize_Library_Objects.
      	(Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
      	(Gen_Elab_Calls_C): Likewise.
      	(Gen_Finalize_Library_Ada): Likewise.  Skip SAL interface units.
      	(Gen_Finalize_Library_C): Likewise.  Generate a full function.
      	(Gen_Main_C): Put back call to Ada_Final and don't finalize library
      	objects here.
      	(Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
      	if -a is specified.  Call Gen_Elab_Externals_Ada.  Move around call to
      	Gen_Adafinal_Ada.
      	(Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
      	if -a is specified.  Call Gen_Elab_Externals_C.  Remove useless couple
      	of external declarations.  Call Gen_Finalize_Library_C.
      
      From-SVN: r177318
      Arnaud Charlet committed
    • prj.adb, [...] (Complete_Mains, [...]): new subprogram. · 316d9d4f
      2011-08-04  Emmanuel Briot  <briot@adacore.com>
      
      	* prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
      	Compute_Compilation_Phases): new subprogram.
      	(Builder_Data, Builder_Project_Tree_Data): new subprogram and type
      	The number of mains as well as the various compilation phases that
      	need to be run are now project tree specific, since various
      	aggregated trees might have different requirements. In particular,
      	they do not all require bind or link phases.
      
      From-SVN: r177317
      Emmanuel Briot committed
    • re PR middle-end/49905 (Better sanity checking on sprintf src & dest to produce… · 8dd00781
      re PR middle-end/49905 (Better sanity checking on sprintf src & dest to produce warning for dodgy code ?)
      
      	PR middle-end/49905
      	* tree.h (init_attributes): New prototype.
      	* attribs.c (init_attributes): No longer static.
      
      	* decl.c (cxx_init_decl_processing): Add alloc_size (1) attribute
      	for operator new and operator new [].  Call init_attributes.
      
      	* g++.dg/ext/builtin-object-size3.C: New test.
      
      From-SVN: r177316
      Jakub Jelinek committed
    • 2011-08-04 Emmanuel Briot <briot@adacore.com> · 9434c32e
      	* prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
      	(Project_Tree_Appdata): New type.
      	It is now possible to associate application-specific data to a project
      	tree. In particular, this is used in the gprbuild builder to avoid a
      	number of global tables and htables, especially now that there can be
      	several project trees loaded at once because of aggregate projects.
      	(Debug_Name): new procedure.
      	* projects.texi: Clarify syntax of "**" for Source_Dirs
      
      From-SVN: r177315
      Emmanuel Briot committed
    • Constify maybe_suffix. · 6eb9142a
      From-SVN: r177314
      Ramana Radhakrishnan committed
    • Fix a bug in cfg fixup · 63a73071
      From-SVN: r177313
      David Li committed
    • Fix a bug that broke -freorder-functions · 90037898
      From-SVN: r177311
      David Li committed
    • re PR go/49889 (Calling a function whose name is obscured by a local variable… · 22508cae
      re PR go/49889 (Calling a function whose name is obscured by a local variable does not produce an error)
      
      	PR go/49889
      gccgo : Fixed bug 49889.
              Now the compiler emits a proper error when a function
              called in a tuple assignment statement can not be
              typed as a function.
      
      From-SVN: r177310
      Ian Lance Taylor committed
    • rs6000.c (rs6000_emit_epilogue): Simplify use_backchain_to_restore_sp initialisation. · ea6c2b0e
      	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Simplify
      	use_backchain_to_restore_sp initialisation.
      	(rs6000_legitimate_offset_address_p): Simplify offset test.
      
      From-SVN: r177309
      Alan Modra committed
    • filebuf_sputn_unbuf.cc: Include unistd.h for unlink. · c7c2e831
      2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/performance/27_io/filebuf_sputn_unbuf.cc: Include
      	unistd.h for unlink.
      	* testsuite/performance/27_io/ofstream_insert_int.cc: Same.
      	* testsuite/performance/27_io/ifstream_extract_int.cc: Same.
      	* testsuite/performance/27_io/ifstream_getline-2.cc: Same.
      	* testsuite/performance/27_io/fstream_seek_write.cc: Same.
      	* testsuite/performance/27_io/ifstream_extract_chars.cc: Same.
      	* testsuite/performance/27_io/ofstream_insert_float.cc: Same.
      	* testsuite/performance/27_io/ifstream_extract_float.cc: Same.
      	* testsuite/performance/27_io/filebuf_sputc.cc: Same.
      
      From-SVN: r177307
      Benjamin Kosnik committed
    • Daily bump. · 17ab6390
      From-SVN: r177305
      GCC Administrator committed
  2. 03 Aug, 2011 13 commits
    • spu: Use define_c_enum. · 4b39813a
      From-SVN: r177301
      Richard Henderson committed
    • re PR target/34888 (Stack patterns for AVR not optimal) · a6365e99
      PR target/34888
              * config/avr/avr.md: New splitter for REG_ARGS_SIZE 0.
      
      From-SVN: r177300
      Richard Henderson committed
    • tuple: Mark more constructors constexpr. · 2c4caf0a
      2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/std/tuple: Mark more constructors constexpr.
      	* testsuite/20_util/tuple/cons/constexpr.cc: Split into and extend as:
      	* testsuite/20_util/tuple/cons/constexpr-2.cc: ...this.
      	* testsuite/20_util/tuple/cons/constexpr-3.cc: ... and this.
      	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
      
      2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
      	    François Dumont  <francois.cppdevs@free.fr>
      
      	* testsuite/23_containers/array/at_neg.cc: Move...
      	* testsuite/23_containers/array/at.cc: ...here. Remove
      	-fno-exceptions, call const at member function.
      
      
      Co-Authored-By: François Dumont <francois.cppdevs@free.fr>
      
      From-SVN: r177299
      Benjamin Kosnik committed
    • Remove changelog entry accidentally committed in r175057 · 4ac2beb5
      From-SVN: r177298
      Jonathan Wakely committed
    • re PR tree-optimization/49948 (ICE with -ftree-parallelize-loops: "address… · cb3d2e33
      re PR tree-optimization/49948 (ICE with -ftree-parallelize-loops: "address taken, but ADDRESSABLE bit not set")
      
      	PR tree-optimization/49948
      	* gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
      
      	* gcc.dg/pr49948.c: New test.
      
      From-SVN: r177291
      Jakub Jelinek committed
    • m32c.c (class_sizes): Remove. · 35bdbc69
      	* config/m32c/m32c.c (class_sizes): Remove.
      	(reduce_class): Change arguments and return type to reg_class_t.
      	Change type cc var to HARD_REG_SET. Change type best var to
      	reg_class_t. Change type best_size var to unsigned int. Remove
      	initialization class_sizes var. Use reg_class_size array instead
      	of class_sizes. Use reg_class_contents array instead
      	of class_contents.
      
      From-SVN: r177290
      Anatoly Sokolov committed
    • prj.ads, [...] (Queue.Insert): now also inserts the "roots" for a main. · 41ba34db
      2011-08-03  Emmanuel Briot  <briot@adacore.com>
      
      	* prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
      	the "roots" for a main.
      	(Fill_From_Project): add support for aggregate projects. Main units
      	in aggregated projects are now automatically added in the list of
      	files to build (although this fails later on in gprbuild, because
      	these files are not using the root proejct tree, so this needs
      	further cleanup)
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      From-SVN: r177287
      Emmanuel Briot committed
    • [multiple changes] · fccd42a9
      2011-08-03  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
      	conditional expression in ALFA.
      	* sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
      	expressions as not in ALFA.
      
      2011-08-03  Robert Dewar  <dewar@adacore.com>
      
      	* a-cofove.adb: Minor reformatting.
      
      2011-08-03  Emmanuel Briot  <briot@adacore.com>
      
      	* make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
      	(Insert_Project_Sources, Insert_withed_Sources_For): moved from the
      	gprbuild sources.
      	These packages are more logically placed in the Queue package, since
      	they manipulate the queue. It is also likely that they can be adapted
      	for gnatmake, thus sharing more code.
      	(Finish_Program, Fail_Program): moved from the gprbuild sources, so
      	that we could move the above.
      
      2011-08-03  Emmanuel Briot  <briot@adacore.com>
      
      	* errutil.adb (Finalize): clean up the list of error messages on exit.
      	Calling this subprogram multiple times will no longer show duplicate
      	error messages on stderr.
      
      2011-08-03  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
      	Getopt_Switches when we have already define a command line
      	configuration.
      
      From-SVN: r177286
      Arnaud Charlet committed
    • sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not in ALFA. · 5e8c8e44
      2011-08-03  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
      	in ALFA. Instead, they are considered as assertions to prove.
      	* sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
      	nodes as not in ALFA. Instead, include conditional expressions in ALFA
      	if they have no ELSE part, or if they occur in pre- and postconditions,
      	where the Condition cannot have side-effects in ALFA
      	(Analyze_Membership_Op): do not mark such nodes as not in ALFA
      	(Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
      	Instead, include type conversion between scalar types in ALFA.
      	* sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
      	if-and-only-if its type is in ALFA.
      
      From-SVN: r177285
      Yannick Moy committed
    • [multiple changes] · 5ffe0bab
      2011-08-03  Thomas Quinot  <quinot@adacore.com>
      
      	* scos.adb, get_scos.adb, put_scos.adb
      	New code letter for decisions: G (entry guard)
      	* par_sco.adb
      	(Traverse_Subprogram_Body): Rename to...
      	(Traverse_Subprogram_Or_Task_Body): New subrpogram.
      	(Traverse_Protected_Body): New subprogram
      	(Traverse_Declarations_Or_Statements): Add traversal of task bodies,
      	protected bodies and entry bodies.
      
      2011-08-03  Yannick Moy  <moy@adacore.com>
      
      	* einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
      	entities with get/set subprograms, which is set on procedure entities
      	generated by the compiler for a postcondition.
      	* sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
      	* alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
      	entity for a declaration
      	(Get_Unique_Entity_For_Decl): new function returning an entity which
      	represents a declaration, so that matching spec and body have the same
      	entity.
      
      2011-08-03  Robert Dewar  <dewar@adacore.com>
      
      	* a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
      	a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
      
      2011-08-03  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
      	library-level because retriction No_Implicit_Dynamic_Code in the
      	front-end prevents its definition as a local subprogram
      	(Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
      	for reuse in other contexts
      	(Traverse_Declarations_Or_Statements,
      	Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
      	Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
      	procedures take a callback parameter to be called on all declarations
      	* lib-xref.ads
      	(Traverse_All_Compilation_Units): new generic function to traverse a
      	compilation unit and call a callback parameter on all declarations
      
      From-SVN: r177284
      Arnaud Charlet committed
    • [multiple changes] · f9ad6b62
      2011-08-03  Javier Miranda  <miranda@adacore.com>
      
      	* sem_prag.adb (Process_Interface_Name): Allow duplicated export names
      	in Java since they are always enclosed in a namespace that
      	differentiates them, and overloaded entities are supported by the VM.
      
      2011-08-03  Ed Schonberg  <schonberg@adacore.com>
      
      	* checks.adb (Determine_Range): If a computed bound of an operation is
      	outside the range of the base type of the expression, and overflow
      	checks are enabled, the result is unknown and cannot be used for any
      	subsequent constant folding.
      	* sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
      	unknown, so is the result of the comparison.
      
      2011-08-03  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
      	From_Abort. When finalization was triggered by an abort, propagate
      	Standard'Abort_Signal rather than Program_Error.
      	* a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
      	From_Abort.
      	* a-except.adb (Raise_From_Controlled_Operation): Add new formal
      	From_Abort. When finalization was triggered by an abort, propagate
      	Standard'Abort_Signal rather than Program_Error.
      	* a-except.ads:(Raise_From_Controlled_Operation): Add new formal
      	From_Abort.
      	* exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
      	Abort_Id. Update the calls to Build_Object_Declarations and
      	Build_Raise_Statement to include Abort_Id.
      	(Build_Adjust_Statements): New local variable Abort_Id. Update the
      	calls to Build_Object_Declarations and Build_Raise_Statement to include
      	Abort_Id.
      	(Build_Finalize_Statements): New local variable Abort_Id. Update the
      	calls to Build_Object_Declarations and Build_Raise_Statement to include
      	Abort_Id.
      	(Build_Components): Create an entity for Abort_Id when exceptions are
      	allowed on the target.
      	(Build_Finalizer): New local variable Abort_Id.
      	(Build_Initialize_Statements): New local variable Abort_Id. Update the
      	calls to Build_Object_Declarations and Build_Raise_Statement to include
      	Abort_Id.
      	(Build_Object_Declarations): Add new formal Abort_Id. Create the
      	declaration of flag Abort_Id to preserve the original abort status
      	before finalization code is executed.
      	(Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
      	runtime routine Raise_From_Controlled_Operation.
      	(Create_Finalizer): Update the call to Build_Raise_Statement to include
      	Abort_Id. Update the call to Build_Object_Declarations to include
      	Abort_Id. Update the layout of the finalizer body.
      	(Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
      	(Process_Transient_Objects): New local variable Abort_Id. Remove the
      	clunky code to create all flags and objects related to
      	exception propagation and replace it with a call to
      	Build_Object_Declarations. Update the call to Build_Raise_Statement to
      	include Abort_Id.
      	* exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
      	Add new formal Abort_Id and associated comment on its use.
      	(Build_Raise_Statement): Add new formal Abort_Id and associated comment
      	on its use.
      	* exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
      	Remove the clunky code to create all flags and objects related to
      	exception propagation and replace it with a call to
      	Build_Object_Declarations. Update the call to Build_Raise_Statement.
      
      2011-08-03  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-tassta.adb: Fix minor typos.
      
      2011-08-03  Robert Dewar  <dewar@adacore.com>
      
      	* rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
      	lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
      
      From-SVN: r177283
      Arnaud Charlet committed
    • [multiple changes] · 1cdfa9be
      2011-08-03  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
      	to packages. This ensures that the finalizer body will not end up
      	inside the freeze node.
      	(Process_Declarations): Add code to detect whether a freeze node has a
      	nested finalization collection.
      
      2011-08-03  Pascal Obry  <obry@adacore.com>
      
      	* g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
      	(Current_Session): Return a not null access to Session_Type.
      	(Default_Session): Likewise.
      
      From-SVN: r177282
      Arnaud Charlet committed
    • [multiple changes] · 243cae0a
      2011-08-03  Robert Dewar  <dewar@adacore.com>
      
      	* a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
      	exp_ch3.adb, exp_ch3.ads: Minor reformatting.
      
      2011-08-03  Pascal Obry  <obry@adacore.com>
      
      	* g-awk.ads: Minor comment fix.
      
      2011-08-03  Sergey Rybin  <rybin@adacore.com>
      
      	* tree_io.ads (ASIS_Version_Number): Update because of the changes in
      	the tree structure related to discriminant constraints.
      	Original_Discriminant cannot be used any more for computing the
      	defining name for the reference to a discriminant.
      
      2011-08-03  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
      	function is not visibly tagged, this is not a dispatching call and
      	therfore is not Tag_Indeterminate, even if the function is marked as
      	dispatching on result.
      
      From-SVN: r177281
      Arnaud Charlet committed