blob: cf22b664e9563044e67df246f7a364dea04075ed [file] [log] [blame]
2009-12-10 Eric Botcazou <>
* New file.
* gcc-interface/ (SPARC/Linux): Use it.
2009-12-04 Eric Botcazou <>
* gcc-interface/trans.c (add_decl_expr): At toplevel, mark the
TYPE_ADA_SIZE field of records and unions.
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Set the
source location of the node onto the comparison expression if it
is not cached.
2009-12-03 Eric Botcazou <>
* exp_util.adb (Make_CW_Equivalent_Type): Set the
Is_Class_Wide_Equivalent_Type flag here in lieu of...
* exp_ch3.adb (Expand_Freeze_Record_Type): Do not set
Has_Controlled_Component on class-wide equivalent types.
* freeze.adb (Freeze_Record_Type): Likewise.
* sem_ch3.adb (Record_Type_Definition): Likewise.
2009-12-01 Pascal Obry <>
* s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is
taken at a clock tick boundary.
2009-12-01 Thomas Quinot <>
* (GNAT.Secure_Hashes.H."=" on Context): Make abstract.
2009-12-01 Matthew Gingell <>
* adadecode.c: Allow compilation when building the run time in the gnat
(__gnat_decode): Strip the .nnnn suffix from names of nested functions.
* gcc-interface/ Ada adadecode to LIBGNAT_SRCS and
2009-12-01 Vincent Celier <>
* gnatcmd.adb (Check_Files): Quote the path names as they may include
2009-12-01 Ed Schonberg <>
* sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier
has already been declared, it may have been rewritten as a renaming
2009-12-01 Ed Schonberg <>
* Clarify use of Is_Private_Primitive.
* sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a
private primitive operation only if it is declared in the scope of the
private controlling type.
* exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private
protected operations as well.
2009-12-01 Arnaud Charlet <>
* gnat1drv.adb (Adjust_Global_Switches): Disable front-end
optimizations in CodePeer mode, to keep the tree as close to the source
code as possible, and also to avoid inconsistencies between trees when
using different optimization switches.
2009-12-01 Thomas Quinot <>
* Updated specification of source coverage obligation
2009-12-01 Thomas Quinot <>
*, g-sercom-mingw.adb, g-sercom-linux.adb,
a-ststio.adb, s-commun.adb,, g-socket.adb, (System.Communications.Last_Index): For the case where no
element has been transferred and Item'First =
Stream_Element_Offset'First, raise CONSTRAINT_ERROR.
2009-12-01 Ed Schonberg <>
* sem_ch10.adb (Install_Siblings): A private with_clause on some child
unit U in an ancestor of the current unit must be ignored if the
current unit has a regular with_clause on U.
2009-11-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
if _XOPEN_IOV_MAX is defined.
2009-11-30 Vasiliy Fofanov <>
* Add new VMS qualifiers,
REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order
2009-11-30 Thomas Quinot <>
* exp_ch9.adb,, Minor reformatting.
2009-11-30 Gary Dismukes <>
* sem_prag.adb: Fix spelling error.
2009-11-30 Ed Schonberg <>
* (Build_Private_Protected_Declaration): For a protected
operation that is only declared in a protected body, create a
corresponding subprogram declaration.
* exp_ch9.adb (Expand_N_Protected_Body): Create protected body of
operation in all cases, including for an operation that is only
declared in the body.
* sem_ch6.adb: Call Build_Private_Protected_Declaration
* exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation
declared in a protected body, create the declaration for the
corresponding protected version of the operation.
2009-11-30 Arnaud Charlet <>
* gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions
for Restrictions pragmas, to avoid tree inconsistencies between
compilations with different pragmas.
2009-11-30 Jerome Lambourg <>
* sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported
to CIL to have duplicated export name.
2009-11-30 Robert Dewar <>
* a-tiinio.adb: Remove extraneous pragma Warnings (Off).
2009-11-30 Thomas Quinot <>
* par_sco.adb: Minor reformatting
2009-11-30 Ed Falis <>
*[s,b],, s-stchop-vxworks.adb:
Comment update.
2009-11-30 Ed Schonberg <>
* par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's
for null statements that do not come from source.
* Clarify documentation of Comes_From_Source
2009-11-30 Vincent Celier <>
* prj-nmsc.adb (Add_Source): Use Display_Name for both projects when
displaying the paths in error message.
2009-11-30 Emmanuel Briot <>
* adaint.h, adaint.c (file_attributes): force the use of unsigned char.
On some platforms, "char" is signed, on others unsigned, so we
explicitly specify the one we expect
2009-11-30 Matthew Heaney <>
* a-coinve.adb (Insert): Move exception handler closer to point where
exception can occur.
Minor reformatting & comment additions.
2009-11-30 Arnaud Charlet <>
* freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must
pass bounds' for VM targets, not relevant.
2009-11-30 Robert Dewar <>
* sem_util.adb (Wrong_Type): Diagnose additional case of modular
missing parens.
* a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting
* exp_util.adb (Kill_Dead_Code): Suppress warning for some additional
* sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure
(Set_Dot_Warning_Flag): Ditto for -gnatw.e
(Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V
* usage.adb: Add lines for -gnatw.v/w.V
2009-11-30 Emmanuel Briot <>
* make.adb (Check_Standard_Library): use Full_Source_Name instead of
direct call to Find_File. The former provides caching of the results, so
might be more efficient
(Start_Compile_If_Necessary): Add comment on possible optimization,
not done for now.
2009-11-30 Thomas Quinot <>
* g-sechas.adb: Minor reformatting
2009-11-30 Matthew Heaney <>
* a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates
were removed.
* a-cdlili.adb (Vet): Remove always-true predicates.
2009-11-30 Thomas Quinot <>
* s-sechas.adb,, s-shshco.adb,, s-shsh64.adb,, s-sehamd.adb,, s-shsh32.adb,,
s-sehash.adb,, g-sechas.adb,, g-shshco.adb,,,, g-shsh64.adb,,
g-sehamd.adb,,,, Makefile.rtl,, g-shsh32.adb,,, g-sehash.adb, Rename System.Secure_Hashes to GNAT.Secure_Hashes.
2009-11-30 Robert Dewar <>
* Minor comment update.
2009-11-30 Thomas Quinot <>
* s-sechas.adb: Fix swapping error in previous checkin.
*,,,,, Add missing documentation.
2009-11-30 Robert Dewar <>
*,, s-sehamd.adb,,, Minor reformatting
2009-11-30 Emmanuel Briot <>
* adaint.h (file_attributes): Reduce size of the structure, so that it
is less costly to store in records.
* makeutl.adb:
(Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct
call to Find_File, since the former provides caching when appropriate,
which limits the number of system calls in some cases.
*, (Source_Data): do not store directly the timestamp,
but the file attributes since we also need access to the size of the
ALI file to parse it. This gives an opportunity for saving system calls
on Unix systems.
2009-11-30 Robert Dewar <>
* sem_prag.adb,, s-sechas.adb: Minor reformatting.
2009-11-30 Gary Dismukes <>
* sem_prag.adb (Process_Convention): Change formal E to Ent. In the
case where the pragma's entity argument is a renaming, return the
entity denoted by the renaming rather than the renamed entity. Loop
through the homonyms of the original argument entity, rather than the
homonyms of any renamed entity. Correct call to Generate_Entity to
pass the homonym.
2009-11-30 Vincent Celier <>
* impunit.adb: Add packages that were added to the GNAT library:
* s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index
2009-11-30 Robert Dewar <>
* exp_ch3.adb: Minor reformatting
*, Add comment.
2009-11-30 Arnaud Charlet <>
* gcc-interface/ Remove handling of libgccprefix, no longer
2009-11-30 Pascal Obry <>
* expect.c: Fix cast to avoid warnings in x86-64 Windows.
2009-11-30 Thomas Quinot <>
* gnat_rm.texi, s-sechas.adb,, s-shshco.adb,, g-md5.adb,,, s-shsh64.adb,, s-sehamd.adb,,, g-sha1.adb,, Makefile.rtl,,, s-shsh32.adb,, s-sehash.adb, Reimplementation of GNAT.MD5
and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies.
Also introduce new functions SHA-{224,256,384,512}
2009-11-30 Jerome Lambourg <>
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for
the Value_Type case.
2009-11-30 Thomas Quinot <>
* a-textio.adb: Minor reformatting
2009-11-30 Pascal Obry <>
* adaint.c: Fix bug in passing parameter.
* expect.c: Include io.h to get definition of _open_osfhandle
2009-11-30 Javier Miranda <>
* exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management
of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes.
(Expand_Call): Adjust decoration of SCIL node associated with relocated
function call.
2009-11-30 Emmanuel Briot <>
* prj-env.adb (Add_To_Source_Path): Preserve casing of directories
2009-11-30 Vincent Celier <>
* (No_Split_Units): New flag initialized to False
2009-11-30 Jerome Lambourg <>
* exp_ch7.adb (Needs_Finalization): Add comments.
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of
CIL Value types.
2009-11-30 Robert Dewar <>
* osint.adb, a-rttiev.adb: Minor reformatting.
2009-11-30 Robert Dewar <>
* gnat_rm.texi: Remove list of warning letters, and refer instead to
using gnatmake to get a brief list.
* debug.adb: Document -gnatd.i to disable pragma Warnings
* par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
* Add /NOWARNINGS_PRAGMS for -gnatd.i
2009-11-30 Geert Bosch <>
* a-ngelfu.adb (Sin): Correct spelling of sine in comment.
2009-11-30 Vincent Celier <>
* gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
is not needed and gnatls fails when called with -v -nostdinc.
2009-11-30 Emmanuel Briot <>
* osint.adb, (File_Time_Stamp): new subprogram.
2009-11-30 Ed Schonberg <>
* gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate
2009-11-30 Robert Dewar <>
* (Wide_Wide_Character_Found): New flag
* scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character
* scng.adb (Set_String): Set new flag Wide_Wide_Character_Found
(Set_String): Fix failure to reset Wide_Character_Found
* sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal
* (Has_Wide_Wide_Character): New flag in N_String_Literal
* a-ngelfu.adb: Minor reformatting & code reorganization.
* usage.adb: Fix typo in -gnatw.W line
2009-11-30 Robert Dewar <>
* osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor
* csinfo.adb: Terminate run if improper use of reserved flag
*, sinfo.adb (Is_Accessibility_Actual): Don't use reserved
Flag12, used Flag13 instead.
2009-11-30 Vincent Celier <>
* gnatcmd.adb (Check_Files): Recognize documented switches that have a
separate parameter.
2009-11-30 Robert Dewar <>
* Minor reformatting
* errout.adb: Minor reformatting
Minor code reorganization (use N_Subprogram_Specification to simplify)
* exp_ch7.adb: Add comment.
2009-11-30 Thomas Quinot <>
* put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit
that has no SCOs.
* Minor reformatting
2009-11-30 Ed Schonberg <>
* sem_prag.adb: Second unanalyzed parameter of Annotate is optional.
2009-11-30 Eric Botcazou <>
* init.c (__gnat_adjust_context_for_raise, Linux version): Add guard
for null PC saved in the context.
2009-11-30 Hristian Kirtchev <>
* a-calend.adb (Day_Of_Week): Rewritten. The routine determines the
number of days from the Ada Epoch to the input date while ensuring that
both dates are in the same time zone.
2009-11-30 Emmanuel Briot <>
* clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is
done in other project-aware tools like gnatmake and gprbuild.
2009-11-30 Jerome Lambourg <>
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL
* exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes.
* sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars
(Is_Delegate): New method used for CIL.
* (Is_Delegate): New method for CIL handling.
(Is_Value_Type): Improve documentation.
2009-11-30 Ed Schonberg <>
* errout.adb (Unwind_Internal_Type): Improve error reporting if the
type is an anonymous access to subprogram that is the type of a formal
in a subprogram spec.
2009-11-30 Vincent Celier <>
* prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if
attribute Interfaces is not declared, then Library_Interface should
define the interfaces.
2009-11-30 Ed Schonberg <>
* sem_prag.adb: New semantics for Annotate.
2009-11-30 Tristan Gingold <>
* gcc-interface/ Do not link with -static-libgcc on Darwin.
2009-11-30 Emmanuel Briot <>
* gnat_ugn.texi: Extend doc for -eL
2009-11-30 Vincent Celier <>
* osint.adb (Executable_Name (File_Name_Type)): Put the Name in the
Name_Buffer before testing for a dot in the Name.
2009-11-30 Vincent Celier <>
* prj-part.adb (Project_Path_Name_Of): Resolve links for final result
if -eL has been specified.
2009-11-30 Vincent Celier <>
* osint.adb (Executable_Name): Test the name instead of the name buffer
to check if there is a dot in the given name.
2009-11-30 Sergey Rybin <>
* gnat_ugn.texi: Update gnatcheck doc.
2009-11-30 Robert Dewar <>
* sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting
2009-11-30 Vasiliy Fofanov <>
* gnat_ugn.texi: Minor editing.
2009-11-30 Emmanuel Briot <>
* prj-nmsc.adb (Search_Directories): when -eL was not specified, assume
that no directory matches the naming scheme for sources.
2009-11-30 Emmanuel Briot <>
* prj.adb,, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in
2009-11-30 Vincent Celier <>
* osint.adb (Executable_Name): Correctly decide if the executable
suffix should be added when Only_If_No_Suffix is True.
2009-11-30 Robert Dewar <>
* frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb, Minor reformatting
2009-11-30 Vincent Celier <>
* gnatlink.adb (Process_Args): Call Executable_Name on argument of -o
with Only_If_No_Suffix set to True.
* osint.adb (Executable_Name): Do not add executable suffix if there is
already a suffix and Only_If_No_Suffix is True.
* (Executable_Name): New Boolean parameter Only_If_No_Suffix,
defaulted to False.
2009-11-30 Javier Miranda <>
* exp_atag.adb (Build_TSD): Change argument name because the actual is
now the address of a tag (instead of the tag). Update implementation
(Build_CW_Membership): New implementation. Converted into a procedure
because it has an additional out mode parameter. Its implementation has
been rewritten to improve the generated code but also to facilitate
referencing the relocated object node in the caller.
* (Build_CW_Membership): Update profile and documentation.
* (N_SCIL_Membership_Test) New_Node.
(SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes.
(Is_Syntactic_Field): Add entry of new node.
(SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
* sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to
handle N_SCIL_Membership_Test nodes.
(SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms.
* sem.adb (Analyze): Add null management for new node.
* sem_scil.adb (Find_SCIL_Node): Add null management for new node.
(Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes.
* exp_ch4.adb (Tagged_Membership): Change profile from function to
procedure. Add generation of SCIL node associated with class-wide
membership test.
(Expand_N_In): Complete decoration of SCIL nodes.
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to
Build_CW_Membership because its profile has been changed.
* exp_util.adb (Insert_Actions): Add null management for new node.
* sprint.adb (Sprint_Node_Actual): Handle new node.
* gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test
* gcc-interface/ Update dependencies.
2009-11-30 Ed Schonberg <>
* New flags Init_Or_Norm_Scalars_Config,
Initialize_Scalars_Config, to capture the presence of the corresponding
pragmas in a configuration file.
* opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches):
handle new flags so that they are restored for each compilation unit.
* frontend.adb: At the end of compilation, scan the context of the main
unit to recover occurrences of pragma Initialize_Scalars, to annotate
the ALI file accordingly.
2009-11-30 Vincent Celier <>
* Minor comment updates
* prj-tree.adb: Minor reformatting
2009-11-30 Ed Schonberg <>
* sem_ch3.adb (Derive_Subprogram): Indicate that an inherited
predefined control operation is hidden if the parent type is not
visibly controlled.
* sem_ch6.adb (Check_Overriding_Indicator): Do not report error if
overridden operation is not visible, as may be the case with predefined
control operations.
* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on
non-overriding control operation when type is not visibly controlled,
if the subprogram has an explicit overriding indicator.
*, sem_util.adb (Is_Visibly_Controlled): Moved here from
2009-11-30 Emmanuel Briot <>
* prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows
* Minor comment updates
2009-11-30 Robert Dewar <>
* gnat_rm.texi: Document pragma Short_Circuit
2009-11-30 Emmanuel Briot <>
* prj-conf.adb, prj-tree.adb, (Create_Attribute): Now set
the index either on the attribute or on its value, depending on the
kind of the attribute. Done to match recent changes in Prj.PP that were
not synchronized with this function.
2009-11-30 Arnaud Charlet <>
* gcc-interface/ Fix typo.
Update dependencies.
2009-11-30 Robert Dewar <>
* gnat_rm.texi: Add documentation for attribute Result.
2009-11-30 Arnaud Charlet <>
(Get_Page_Size): Update comment since Get_Page_Size is now required.
2009-11-30 Jerome Lambourg <>
* freeze.adb: Disable Warning on VM targets concerning C Imports, not
2009-11-30 Bob Duff <>
* sprint.adb (Source_Dump): Minor comment fix.
(Write_Itype): When writing a string literal subtype, use Expr_Value
instead of Intval to get the low bound.
2009-11-30 Vincent Celier <>
* gnatlink.adb (Process_Args): Do not call Executable_Name on arguments
of switch -o.
2009-11-30 Robert Dewar <>
* exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or
(Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or
* (Short_Circuit_And_Or): New flag
* par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or
* sem_prag.adb: Implement pragma Short_Circuit_And_Or
* Add entries for pragma Short_Circuit_And_Or
2009-11-30 Arnaud Charlet <>
* s-taprop-posix.adb: Fix casing.
* s-osinte-tru64.adb: Complete previous check-in.
2009-11-30 Robert Dewar <>
* gnat_rm.texi: Document pragma Compiler_Unit
* s-bitops.adb, s-restri.adb, g-htable.adb,,,, s-strhas.adb, s-parame.adb,, a-clrefi.adb,, Supply missing
Compiler_Unit pragmas.
* freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed
to C.
2009-11-30 Robert Dewar <>
* makeutl.adb,, prj-proc.adb, prj.adb, Minor
2009-11-30 Thomas Quinot <>
* osint.adb: Minor reformatting
2009-11-30 Vincent Celier <>
*, makeutl.adb (Base_Name_Index_For): New function to get
the base name of a main without the extension, with an eventual source
(Mains.Get_Index): New procedure to set the source index of a main
(Mains.Get_Index): New function to get the source index of a main
* prj-attr.adb: New attributes Config_Body_File_Name_Index,
Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
* prj-nmsc.adb (Process_Compiler): Takle into account new attributes
Config_Body_File_Name_Index, Config_Spec_File_Name_Index,
Multi_Unit_Object_Separator and Multi_Unit_Switches.
Allow only one character for Multi_Unit_Object_Separator.
* prj-proc.adb (Process_Declarative_Items): Take into account the
source indexes in indexes of associative array attribute declarations.
* prj.adb (Object_Name): New function to get the object file name for
units in multi-unit sources.
* (Language_Config): New components Multi_Unit_Switches,
Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index.
(Object_Name): New function to get the object file name for units in
multi-unit sources.
* New standard names Config_Body_File_Name_Index,
Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and
2009-11-30 Arnaud Charlet <>
* s-tassta.adb: Update comment.
2009-11-30 Robert Dewar <>
* a-ngelfu.adb: Minor code reorganization.
2009-11-30 Robert Dewar <>
*, prj.adb, Minor reformatting
* s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb,
s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb,
s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb,
s-taprop-posix.adb: Minor code reorganization (use conditional
2009-11-30 Bob Duff <>
* g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change.
2009-11-30 Bob Duff <>
* socket.c: Add more accessor functions for struct servent (need
setters as well as getters).
* (Servent): Declare interfaces to C setter functions for
struct servent.
* g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for
struct servent.
2009-11-30 Robert Dewar <>
* s-stchop-vxworks.adb: Add comment.
2009-11-30 Emmanuel Briot <>
* make.adb, prj.adb, (Compute_All_Imported_Projects): Now acts
on the whole tree, to better share code with gprbuild.
(Length): New subprogram, to share code in gprbuild.
(Project_Data): Remove fields that are only needed when compiling a
project in gprbuild (where we use local variables instead)
* osint.adb, Added minor comment on memory management
2009-11-30 Sergey Rybin <>
* gnat_ugn.texi: Update gnatcheck doc.
2009-11-30 Robert Dewar <>
make.adb, prj-makr.adb, Minor reformattting
* s-taprop-dummy.adb: Minor code reorganization (raise with msgs start
with lower case).
* i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb,
g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb,
s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb,
g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb,
g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code
reorganization (use conditional expressions).
2009-11-30 Vincent Celier <>
* prj-makr.adb (Source_Files): New hash table to keep track of source
file names.
(Finalize): Avoid putting several times the same source file name
in the source list file.
* prj-pp.adb (Print): Fix a bug in the placement of "at nn" for
associative array indexes.
2009-11-30 Robert Dewar <>
* Add missing pragma Compiler_Unit
2009-11-30 Thomas Quinot <>
*,, g-stseme.adb, Makefile.rtl, s-fileio.adb
(System.CRTL.Runtime): New unit, to contain parts of s-crtl that are
used in the Ada runtime but can't be used in the compiler because of
bootstrap issues.
* socket.c, s-oscons-tmplt.c,
(System.OS_Constants.SIZEOF_struct_servent): New constant.
Use s-oscons constant instead of external variable to get size of
struct hostent.
2009-11-30 Thomas Quinot <>
*, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change
return type to Interfaces.C.Strings.chars_ptr to eliminate need for
dubious unchecked conversion at call sites.
* s-errrep.adb,, Makefile.rtl (System.Error_Reporting):
Remove obsolete, unused runtime unit.
* gcc-interface/ Update dependencies.
* gcc-interface/ Remove VMS specialization of s-crtl, not
required anymore.
2009-11-30 Vincent Celier <>
* gnatlink.adb: Delete an eventual existing executable file, in case it
is a symbolic link, to avoid modifying the target of the symbolic link.
2009-11-30 Bob Duff <>
* socket.c: Add accessor functions for struct servent.
* (Servent): Declare interfaces to C accessor functions
for struct servent.
* g-socket.adb (To_Service_Entry): Use accessor functions for struct
2009-11-30 Robert Dewar <>
* g-arrspl.adb: Minor reformatting
* g-dyntab.adb: Add missing pragma Compiler_Unit
2009-11-30 Thomas Quinot <>
*, s-oscons-tmplt.c: Fix support for VMS
* make.adb,, exp_ch6.adb: Minor reformatting
2009-11-30 Robert Dewar <>
* bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb,, prj-ext.adb, sem_case.adb: Minor reformatting
* g-alleve.adb: Minor code reorganization (use conditional expressions)
2009-11-30 Matthew Heaney <>
* a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to
2009-11-30 Thomas Quinot <>
* a-tasatt.adb,, s-taprop-dummy.adb (System.CRTL.malloc32,
System.CRTL.realloc32): Remove VMS-specific routines.
(Ada.Task_Attributes.Reference): Remove unreachable code.
(System.Task_Primitives.Operations.Initialize, dummy version):
Use plain Program_Error rather than call to
2009-11-30 Thomas Quinot <>
* s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for
sharing s-crtl across all platforms.
2009-11-30 Thomas Quinot <>
* s-commun.adb, New internal support unit,
allowing code sharing between GNAT.Sockets and
*, g-sercom-mingw.adb, g-sercom-linux.adb,
g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication.
(GNAT.Serial_Communication.Read): Handle correctly the case where no
data was read, and Buffer'First = Stream_Element_Offset'First.
* Makefile.rtl: Add entry for s-commun
* g-socthi-vms.adb,, g-socthi-vxworks.adb,, g-stseme.adb,,
g-socthi.adb, (GNAT.Sockets.Thin.Socket_Error_Message):
Reimplement in terms of System.CRTL.strerror.
2009-11-26 Eric Botcazou <>
* gcc-interface/utils.c (copy_type): Unshare the language-specific data
and the contents of the language-specific slot if needed.
2009-11-26 Eric Botcazou <>
* gcc-interface/trans.c (gnat_to_gnu) <N_In>: Set the source location
of the operator on both branches of the test in the generic case.
2009-11-25 Eric Botcazou <>
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
(unchecked_conversion_nop): ...this. Handle actual parameters.
(gnat_to_gnu): Adjust for above renaming.
2009-11-25 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
Translate regular boolean types into BOOLEAN_TYPEs.
2009-11-24 Eric Botcazou <>
* sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype,
also set the flag on the Equivalent_Type.
* gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE
parameter with DEBUG_INFO_P. Rename FIELDLIST into FIELD_LIST.
(rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST.
(build_vms_descriptor32): Adjust call to finish_record_type.
(build_vms_descriptor): Likewise.
(build_unc_object_type): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
finish_record_type and components_to_record.
(make_packable_type): Adjust call to finish_record_type.
(maybe_pad_type): Likewise. Tweak condition.
(components_to_record): Likewise. Replace DO_NOT_FINALIZE parameter
with MAYBE_UNUSED. Adjust recursive call.
(create_variant_part_from): Adjust call to finish_record_type. Do not
call rest_of_record_type_compilation on the new record types.
* gcc-interface/trans.c (gigi): Adjust call to finish_record_type.
* gcc-interface/gigi.h (finish_record_type): Adjust prototype and
(rest_of_record_type_compilation): Adjust comment.
2009-11-24 Eric Botcazou <>
* exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
frozen for targets that do not require front-end layout.
(New_Class_Wide_Subtype): Always reset the freezing status to False.
* exp_ch8.adb: Do not 'with' Targparm.
(Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
subtype that has been built from the expression.
* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
class wide, freeze the implicit type that has been built from the
expression at the dereference point.
* freeze.adb (Freeze_Entity): Adjust comment.
* gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
Remove useless test.
* gcc-interface/trans.c (process_freeze_entity): Do not special-case
class-wide subtypes.
* s-osinte-aix.adb (clock_gettime): Fix comment.
* s-osinte-darwin.adb (clock_gettime): Likewise.
2009-11-23 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Pass the list
of attributes when building the corresponding variable of a constant.
* gcc-interface/utils.c (create_var_decl_1): Do not process attributes
for constants.
2009-11-23 Laurent GUERBY <>
Eric Botcazou <>
PR ada/42153
* (struct_timeval): Delete.
* (struct_timeval, To_Duration, To_Timeval): Delete.
* Likewise.
* Likewise.
* Likewise.
* Likewise.
* Likewise.
* Likewise.
* Likewise.
* Likewise.
* s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete.
* s-osinte-irix.adb: Likewise.
* s-osinte-solaris.adb: Likewise.
* s-osinte-rtems.adb: Likewise. Minor reformatting.
* s-osinte-aix.adb (To_Duration, To_Timeval): Delete.
(clock_gettime): Use cal.c's timeval_to_duration.
* s-osinte-darwin.adb: Likewise.
2009-11-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* adaint.h: Assume large file support on IRIX only if _LFAPI.
2009-11-21 Laurent GUERBY <>
Eric Botcazou <>
* (struct_timeval, To_Duration, To_Timeval,
gettimeofday): Delete.
* s-osinte-posix.adb (To_Duration, To_Timeval): Delete.
* s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday):
(Clock): Use cal.c's timeval_to_duration.
* s-taprop-linux.adb (Monotonic_Clock): Likewise.
2009-11-12 Eric Botcazou <>
Laurent GUERBY <>
* init.c (GNU/Linux Section): Enable for all architectures.
2009-11-10 Eric Botcazou <>
PR ada/20548
* (Stack_Check_Probes): Set to true.
* (Stack_Check_Probes): Likewise.
* (Stack_Check_Probes): Likewise.
* (Stack_Check_Probes): Likewise.
2009-11-10 Eric Botcazou <>
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (AAMP, Compiler_System_Version, OpenVMS,
Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode,
Long_Shifts_Inlined): Delete.
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (Stack_Check_Limits, Always_Compatible_Rep):
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support): Delete.
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (AAMP, Compiler_System_Version, OpenVMS,
Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined):
(Stack_Check_Limits, Always_Compatible_Rep): New.
* (OpenVMS): Delete.
(Stack_Check_Limits, Always_Compatible_Rep): New.
2009-11-08 Eric Botcazou <>
* gcc-interface/decl.c (make_packable_type): Fix oversight.
(gnat_to_gnu_field): Do not attempt to change the form of the type
if the field requires strict alignment. Always change the form of
the type if the specified size is smaller than its size.
2009-11-05 Eric Botcazou <>
* gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes.
2009-11-05 Eric Botcazou <>
* gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
New case.
2009-10-30 Eric Botcazou <>
* gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete.
(create_field_decl): Update description. In a packed record, round
the size up to a byte boundary only if the field's type has BLKmode.
* gcc-interface/gigi.h (create_field_decl): Update description.
2009-10-30 Emmanuel Briot <>
* make.adb (Start_Compile_If_Possible): Compute location of resulting
ALI file in this procedure instead of after the compilation itself,
since the current directory might have changed in between when using
* Addded missing alignment clause.
* adaint.c, adaint.h, osint.adb (__gnat_reset_attributes,
__gnat_size_of_file_attributes): Rename reset_attributes and
2009-10-30 Javier Miranda <>
* sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences
of statements when searching for SCIL nodes.
2009-10-30 Tristan Gingold <>
* gnatlink.adb, link.c: By default use shared libgcc on darwin.
2009-10-30 Emmanuel Briot <>
* make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is
already in the list.
This saves system calls when looking for ALI files
(Scan_Make_Args): The parameter to gnatmake's -D is now converted to an
absolute PATH (so that the above improvement properly occurs if both
-D<dir> and -aO<dir> are specified).
2009-10-30 Thomas Quinot <>
* a-direct.adb: Minor reformatting
2009-10-30 Emmanuel Briot <>
* make.adb, adaint.c, adaint.h, osint.adb,, bcheck.adb
(*_attr): new subprograms.
(File_Length, File_Time_Stamp, Is_Writable_File): new subprograms
(Read_Library_Info_From_Full, Full_Library_Info_Name,
Full_Source_Name): Now benefit from a previous cache of the file
attributes, to further save on system calls.
(Smart_Find_File): now also cache the file attributes. This makes the
package File_Stamp_Hash_Table useless, and it was removed.
(Compile_Sources): create subprograms for the various steps of the main
loop, for readibility and to avoid sharing variables between the
various steps.
2009-10-30 Emmanuel Briot <>
* make.adb, osint.adb, (Library_File_Stamp): Removed, since
(Read_Library_Info_From_Full): New subprogram.
2009-10-30 Robert Dewar <>
* a-tideio.adb: Minor reformatting
* a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up.
* a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb,
a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization
(use conditional expressions).
2009-10-30 Ed Schonberg <>
* gnat_ugn.texi: Additional info on gnatw.i and gnatw.I
* sem_case.adb: Improved error message.
2009-10-30 Emmanuel Briot <>
* a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb,,
osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now
defaults to False, and controlled by -eL.
* a-direct.adb: Add comments.
* osint.adb (File_Stamp): Avoid unneeded duplicate system call
2009-10-30 Robert Dewar <>
* sem_res.adb (Resolve_Type_Conversion): Avoid false positive when
converting non-static subtype to "identical" static subtype.
2009-10-30 Ed Schonberg <>
* usage.adb: Add -gnatw.i switch.
2009-10-30 Vincent Celier <>
* xsnamest.adb: Update comments with regards to the template files
2009-10-30 Bob Duff <>
* s-fileio.adb (Errno_Message): Suppress VMS-specific warning.
2009-10-30 Ed Schonberg <>
* sem_case.adb (Check_Choices): Add explanatory message when there are
missing alternatives when the required range of alternatives is given
by the base type of the case expression or discriminant in a variant
* New flag Warn_On_Overlap, to enable warnings on potentially
dangerous overlap between actuals in a call, activated by -gnatw.i
* sem_warn.adb (Set_Dot_Warning_Switch): set flag.
(Warn_On_Overlapping_Actuals): use new flag.
* gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals
2009-10-30 Robert Dewar <>
* exp_aggr.adb, exp_ch9.adb: Minor reformatting
2009-10-29 Eric Botcazou <>
* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
create integer types with precision 0.
2009-10-29 Eric Botcazou <>
PR ada/41870
* gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
parameters and rewrite comments. For a derived type, return the
setting of its parent type.
(gnat_to_gnu_entity): Do an alias set copy for derived types if they
are composite. Adjust calls to above function.
2009-10-29 Eric Botcazou <>
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Object_Size>: Do not
return the RM size for padded types.
2009-10-28 Robert Dewar <>
* sem_type.adb: Minor reformatting
2009-10-28 Arnaud Charlet <>
* exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
suffix for task type bodies.
2009-10-28 Ed Schonberg <>
* exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
finalization list if the designated type requires no control actions,
to prevent a useless semantic dependence on ada.tags.
2009-10-28 Bob Duff <>
* s-fileio.adb: Give more information in exception messages.
2009-10-28 Robert Dewar <>
* gnat_ugn.texi: Document new -gnatyt requirement for space after right
paren if next token starts with digit or letter.
* styleg.adb (Check_Right_Paren): New rule for space after if next
character is a letter or digit.
2009-10-28 Thomas Quinot <>
* (System.CRTL.strerror): New function.
2009-10-28 Ed Schonberg <>
* sem_type.adb: Add guard to recover some type errors.
2009-10-28 Vincent Celier <>
* prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
Add_If_Not_In_List to account to the fact that a directory may be
removed from the list. Only remove directory if Removed is True.
2009-10-28 Gary Dismukes <>
*, Put back function EOF_Char in private
part. Put back body of function EOF_Char.
* a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
to EOF_Char.
2009-10-28 Emmanuel Briot <>
* prj-tree.adb (Free): Fix memory leak.
2009-10-28 Thomas Quinot <>
* s-fileio.adb: Minor reformatting
2009-10-28 Arnaud Charlet <>
* gcc-interface/ Update dependencies.
2009-10-28 Robert Dewar <>
* exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb, Minor reformatting
2009-10-28 Tristan Gingold <>
* init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
2009-10-28 Thomas Quinot <>
* exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
the operand of the unary minus and ABS operators.
* sem_type.adb (Covers): A concurrent type and its corresponding record
type are compatible.
* exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
attribute reference for the current instance of a protected type while
analyzing an access discriminant constraint in a component definition.
Such a reference is handled in the corresponding record's init proc,
while initializing the constrained component.
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
corresponding record type, propagate components'
Has_Per_Object_Constraint flag.
* exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
For a concurrent type, set up concurrent aspects before initializing
components with a per object constrain, because they may be controlled,
and their initialization may call entries or protected subprograms of
the enclosing concurrent object.
2009-10-28 Emmanuel Briot <>
* prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
of code.
(Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
processing the directories specified explicitly in the project file.
2009-10-28 Robert Dewar <>
* a-ztexio.adb,,, a-witeio.adb,, a-textio.adb: Reorganize (moving specs from private part
to body).
(Initialize_Standard_Files): New procedure.
* a-tienau.adb: Minor change to make EOF directly visible
*, a-wrstfi.adb,, a-zrstfi.adb,, a-tirsfi.adb: New unit, initial version.
* gnat_rm.texi: Add documentation for
* Makefile.rtl: Add entries for
2009-10-28 Thomas Quinot <>
* Minor reformatting
* sem_ch3.adb: Minor reformatting
* sem_aggr.adb: Minor reformatting.
* sem_attr.adb: Minor reformatting
* tbuild.adb,, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
New subprogram.
Minor code reorganization/factoring.
2009-10-27 Eric Botcazou <>
* gcc-interface/decl.c (purpose_member_field): New static function.
(annotate_rep): Use it instead of purpose_member.
2009-10-27 Eric Botcazou <>
* raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
_Unwind_GetIP if HAVE_GETIPINFO is defined.
(db_action_for): Likewise.
2009-10-27 Robert Dewar <>
* s-fileio.adb,, sem_util.adb, sem_warn.adb, Minor reformatting
2009-10-27 Robert Dewar <>
* sem_warn.adb, sem_util.adb, Minor reformatting. Add
2009-10-27 Robert Dewar <>
*, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
2009-10-27 Ed Schonberg <>
*, sem_util.adb (Denotes_Same_Object,
Denotes_Same_Prefix): New functions to detect overlap between actuals
that are not by-copy in a call, when one of them is in-out.
*, sem_warn.adb (Warn_On_Overlapping_Actuals): New
procedure, called on a subprogram call to warn when an in-out actual
that is not by-copy overlaps with another actual, thus leadind to
potentially dangerous aliasing in the body of the called subprogram.
Currently the warning is under control of the -gnatX switch.
* sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
2009-10-27 Thomas Quinot <>
* sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
visible entities when the formal package doesn't have a box.
* checks.adb: Minor reformatting.
2009-10-27 Vincent Celier <>
* prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
set Project to Empty_Node.
2009-10-27 Robert Dewar <>
* gnatbind.adb: Minor reformatting
2009-10-27 Arnaud Charlet <>
* exp_aggr.adb: Fix comment.
2009-10-27 Emmanuel Briot <>
* prj-err.adb (Error_Msg): take into account continuation lines when
computing whether we have a warning.
2009-10-27 Vasiliy Fofanov <>
* make.adb, s-os_lib.adb, (Create_Temp_Output_File): New
routine that is designed to create temp file descriptor specifically
for redirecting an output stream.
2009-10-24 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
processing the parent type, build the COMPONENT_REF for a discriminant
with the proper type.
2009-10-24 Eric Botcazou <>
* init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo.
Pass GNATLIBCFLAGS_FOR_C to recursive invocations.
2009-10-21 Eric Botcazou <>
* gcc-interfaces/decl.c (build_subst_list): Convert the expression of
the constraint to the type of the discriminant.
2009-10-21 Eric Botcazou <>
* gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new
TYPE_DECL when a type is padded if there is already one and reset
TYPE_STUB_DECL in this case.
2009-10-21 Eric Botcazou <>
* gcc-interfaces/utils.c (create_subprog_decl): Do not redefine
2009-10-17 Eric Botcazou <>
* gcc-interface/utils.c (convert): When converting to a padded type
with an inner type of self-referential size, pad the expression before
doing the unchecked conversion.
2009-10-17 Eric Botcazou <>
* gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Make
sure the element type is consistent.
2009-10-17 Eric Botcazou <>
* gcc-interface/trans.c (addressable_p): Handle bitwise operations.
2009-10-16 Eric Botcazou <>
* gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with...
(TYPE_THIN_POINTER_P): Rename into...
(TYPE_FAT_OR_THIN_POINTER_P): Rename into...
(TYPE_IS_PADDING_P): Change definition, move old one to...
(TYPE_PADDING_P): ...this.
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
(get_unpadded_type): Likewise.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_param): Likewise.
(relate_alias_sets): Likewise.
(make_packable_type): Likewise.
(maybe_pad_type): Likewise.
(gnat_to_gnu_field): Likewise.
(is_variable_size): Likewise.
(annotate_object): Likewise.
(validate_size): Likewise.
(set_rm_size): Likewise.
(make_type_from_size): Likewise.
(rm_size): Likewise.
* gcc-interface/misc.c (gnat_print_type): Likewise.
(gnat_get_alias_set): Likewise.
* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
(Attribute_to_gnu): Likewise.
(call_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
(add_decl_expr): Likewise.
(convert_with_check): Likewise.
(addressable_p): Likewise.
(maybe_implicit_deref): Likewise.
(protect_multiple_eval): Likewise.
(gnat_stabilize_reference_1): Likewise.
* gcc-interface/utils.c (gnat_pushdecl): Likewise.
(finish_record_type): Likewise.
(rest_of_record_type_compilation): Likewise.
(create_type_decl): Likewise.
(gnat_types_compatible_p): Likewise.
(build_template): Likewise.
(convert_vms_descriptor64): Likewise.
(convert_vms_descriptor32): Likewise.
(build_unc_object_type_from_ptr): Likewise.
(update_pointer_to): Likewise.
(convert_to_fat_pointer): Likewise.
(convert_to_fat_pointer): Likewise.
(convert): Likewise.
(remove_conversions): Likewise.
(maybe_unconstrained_array): Likewise.
(unchecked_convert): Likewise.
(handle_vector_type_attribute): Likewise.
* gcc-interface/utils2.c (build_binary_op): Likewise.
(build_unary_op): Likewise.
(build_allocator): Likewise.
2009-10-16 Eric Botcazou <>
* Adjust type names in comments.
* gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter,
add new IS_COMPONENT_TYPE parameter. Adjust. Remove dead code.
(gnat_to_gnu_entity): Adjust for above change.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_field): Likewise.
* gcc-interface/trans.c (call_to_gnu): Likewise. Do not unnecessarily
call max_size.
* gcc-interface/utils.c (finish_record_type): Remove obsolete code.
* gcc-interface/gigi.h (maybe_pad_type): Adjust prototype.
2009-10-16 Joel Sherrill <>
* Add mutex type to pthread_mutexattr_t
* s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown.
2009-10-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* env.c [__alpha__ && __osf__] (AES_SOURCE): Define.
2009-10-10 Samuel Tardieu <>
* sem_eval.adb: Give a more precise error message.
2009-10-06 Samuel Tardieu <>
PR ada/41383
* a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.
2009-10-06 Samuel Tardieu <>
PR ada/38333
* sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
subprogram to be completed with a "pragma Import".
2009-10-02 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
Generate an XVZ variable alongside the XVS type if the size is
not constant.
(maybe_pad_type): Minor tweak.
2009-10-02 Eric Botcazou <>
* gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
doesn't come from source.
2009-10-02 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
unit size for the component size of an array with aliased components.
(maybe_pad_type): Do not warn for MAX_EXPR.
2009-09-29 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Factor out
common code processing the component type into...
<E_Array_Subtype>: Likewise.
(gnat_to_gnu_component_type): ...this new static function.
(maybe_pad_type): Minor cleanup.
2009-09-29 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Rewrite
the handling of constrained discriminated record subtypes.
(components_to_record): Declare the type of the variants and of the
qualified union.
(build_subst_list): Move around.
(compute_field_positions): Rename into...
(build_position_list): ...this. Return a TREE_VEC.
(annotate_rep): Adjust for above renaming.
(build_variant_list): New static function.
(create_field_decl_from): Likewise.
(get_rep_part): Likewise.
(get_variant_part): Likewise.
(create_variant_part_from): Likewise.
(copy_and_substitute_in_size): Likewise.
2009-09-28 Olivier Hainque <>
PR ada/41100
* gcc-interface/targtyps.c (get_target_default_allocator_alignment):
Account for observable alignments out of default allocators.
2009-09-28 Richard Henderson <>
* gcc-interface/utils.c (gnat_install_builtins): Update call to
2009-09-26 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Filter out
negative size for the array dimensions like in the constrained case.
<E_Array_Subtype>: Do not create an artificially non-constant high
bound if the low bound is non-constant. Minor tweaks.
* gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter
and turn ALIASED into a boolean parameter. Adjust calls to self.
<N_Attribute_Reference>: Return 1 for more attributes.
<N_Object_Renaming_Declaration>: Return 1 for non-constant objects.
<N_Assignment_Statement>: Return 1 for the LHS.
(Identifier_to_gnu): Adjust calls to lvalue_required_p.
(call_to_gnu): Be prepared for wrapped boolean rvalues.
2009-09-25 Olivier Hainquqe <>
Eric Botcazou <>
* gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language
specific node. Representative array type for VECTOR_TYPE entities.
* gcc-interface/utils.c (handle_vector_type_attribute): New handler.
Turn an ARRAY_TYPE entity into a VECTOR_TYPE.
(gnat_types_compatible_p): Handle VECTOR_TYPEs.
(convert): Likewise. Arrange to produce VECTOR_CST out of constant
array aggregates for VECTOR_TYPE entities.
(unchecked_convert): Likewise.
(maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP
converted to the associated TYPE_REPRESENTATIVE_ARRAY.
(handle_pure_attribute, handle_sentinel_attribute,
handle_noreturn_attribute, handle_malloc_attribute,
handle_vector_size_attribute): Replace uses of qE format by qs.
Remove GCC_DIAG_STYLE definition.
* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Convert
vector input to representative array type on entry.
<N_Op_Eq, etc>: Likewise.
* gcc-interface/gigi.h (maybe_vector_array): Declare.
(VECTOR_TYPE_P): New predicate.
* gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE.
2009-09-24 Eric Botcazou <>
* gcc-interface/ada.h: Fix outdated comment.
* gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in
lieu of mark_visited.
* gcc-interface/gigi.h (mark_visited): Change type of parameter.
(MARK_VISITED): New macro.
(gnat_truthvalue_conversion): Delete.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu
of mark_visited.
(annotate_rep): Fix formatting and tidy.
(compute_field_positions): Get rid of useless variable.
* gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT
node only once. Use IN operator for the Nkind in more cases.
Remove calls to gnat_truthvalue_conversion.
(mark_visited): Change type of parameter and adjust.
(mark_visited_r): Dereference TP only once.
(add_decl_expr): Use MARK_VISITED in lieu of mark_visited.
* gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete.
(build_binary_op): Remove calls to gnat_truthvalue_conversion.
(build_unary_op): Likewise.
2009-09-24 Dave Korn <>
* gcc-interface/ (LIBGNAT_TARGET_PAIRS): Simplify test for
a-except% in target pairs list; don't (implicitly) compare whitespace.
2009-09-24 Jakub Jelinek <>
* gcc-interface/utils.c (gnat_pushdecl): Don't set
nested functions.
2009-09-21 Joel Sherrill <>
*[bs]: Get_Page_Size cannot return 0.
Bind to getpagesize() in RTEMS 4.10 and newer.
2009-09-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* env.c [__alpha__ && __osf__] (_BSD): Define.
* init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg
to const char *.
2009-09-18 Pascal Obry <>
* mingw32.h: Activate Unicode support for x86-64 Windows platform.
2009-09-18 Vadim Godunko <>
* s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX.
2009-09-18 Javier Miranda <>
* exp_aggr.adb (Backend_Processing_Possible): Disable backend
processing for array aggregates in the VM backend if the array has
aliased components.
2009-09-18 Ed Schonberg <>
* sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of
the prefix indicates a previous semantic error, and this is the first
error in the program.
2009-09-18 Bob Duff <>
* gnat_ugn.texi: Minor editing.
2009-09-18 Vincent Celier <>
*, prj.adb (Project_Data): New component
2009-09-18 Pascal Obry <>
* mingw32.h: Include standard _mingw.h file.
Define _WIN32_WINNT only if not already defined.
2009-09-18 Thomas Quinot <>
* g-socket.adb (Is_Open): New function indicating whether a
Selector_Type object is open.
2009-09-18 Vincent Celier <>
* osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file
is deleted before creating it.
2009-09-18 Robert Dewar <>
* bindgen.adb: Minor reformatting
2009-09-18 Arnaud Charlet <>
* s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no
signal handler is installed.
* s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent
tasks if Abort_Task_Interrupt cannot be used.
2009-09-18 Vincent Celier <>
* Minor comment update
2009-09-17 Bob Duff <>
* Document the fact that Close_Selector has no effect on
a closed selector.
* g-socket.adb: Raise an exception when a Selector that should be open
is closed.
(Check_Selector): Declare RSig as a constant rather than a renames,
less confusing.
2009-09-17 Robert Dewar <>
* exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb,,
prj-ext.adb,, prj-pars.adb, prj-part.adb, prj-proc.adb, Minor reformatting
2009-09-17 Emmanuel Briot <>
* prj-conf.adb, prj-env.adb, (Create_Temp_File): Moved to
(Do_Autoconf): If the object directory does not exists, create auto.cgpr
in a temporary directory instead
2009-09-17 Bob Duff <>
* a-dynpri.adb (Set_Priority): Don't do anything if the task is already
(Get_Priority): Correct message for "terminated" case -- it said "null".
2009-09-17 Robert Dewar <>
* exp_ch6.adb: Minor reformatting
2009-09-17 Emmanuel Briot <>
* gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb,,
switch-m.adb,, clean.adb,
(Project_Node_Tree_Data.Project_Path): New field.
* prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message
2009-09-17 Emmanuel Briot <>
* prj-ext.adb,, makeutl.adb (Is_External_Assignment):
Remove duplicate code.
(Prj.Ext): Fix memory leak
(Check): Now allow the syntax "-Xfoo=" to set an empty value to the
variable. This was previously allowed in the code in
Is_External_Assignment, and some tests rely on it
2009-09-17 Bob Duff <>
* gnat_rm.texi, s-oscons-tmplt.c: Minor typo
2009-09-17 Emmanuel Briot <>
* gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb,,
makeutl.adb,, clean.adb, prj-pars.adb,,
prj-conf.adb,, prj-tree.adb,,, (Add, Value_Of, Reset): new parameter Tree.
Scenario variables are now specific to each project tree loaded in
Code clean ups.
2009-09-17 Javier Miranda <>
* exp_disp.adb (Make_DT): Remove wrong line of code that was
undocumented and probably added by mistake.
2009-09-16 Eric Botcazou <>
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Strip
conversions between original and packable version of types from
the expression.
2009-09-16 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter.
If a padding type was made for the field, declare it.
(components_to_record): Add DEBUG_INFO_P parameter. Adjust call
to gnat_to_gnu_field and call to self.
(gnat_to_gnu_entity) <E_Array_Type>: Do not redeclare padding types.
<E_Array_Subtype>: Likewise.
Adjust calls to gnat_to_gnu_field and components_to_record.
2009-09-16 Robert Dewar <>
* prj-nmsc.adb: Minor reformatting
2009-09-16 Ed Schonberg <>
* exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the
expression is a by-reference type (tagged or inherently limited)
introduce an access type to capture references to the values of each
branch of the conditional.
2009-09-16 Emmanuel Briot <>
* prj-proc.adb, prj-part.adb, prj-tree.adb,
(Project_Name_And_Node.Display_Name): new field
The display name of a project (as written in the .gpr file) is now
computed when the project file itself is parsed, not when it is
2009-09-16 Thomas Quinot <>
* freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to
intrinsics untouched (to be expanded later on by gigi) if an external
name has been specified.
(Freeze_Entity): Do not generate a default external name for
imported subprograms with convention Intrinsic (so that the above code
can identify the case where an external name has been explicitly
* s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously
replaced by something else due to an existing #define clause.
2009-09-16 Ed Schonberg <>
*, sinfo.adb (Is_Accessibility_Actual): New flag on
Parameter_Association node, created for the extra actual generated for
an access parameter of a function that dispatches on result, to prevent
double generation of such actuals when the call is rewritten is a
dispatching call.
* exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed.
* exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals
that carry this flag when rewriting the original call as a dispatching
call, after propagating the controlling tag.
2009-09-16 Vincent Celier <>
* prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put
in the source data.
(Check_File): New parameter Source_Dir_Rank, to check if a duplicate
source is allowed.
(Find_Source_Dirs): New parameter Rank to be recorded with the source
(Search_Directories): Call Check_File with the rank of the directory
* prj.adb (Project_Empty): Add new component Source_Dir_Ranks
(Free): Free also Number_Lists
(Reset): Init also Number_Lists
* (Number_List_Table): New dynamic table for lists of numbers
(Source_Data): New component Source_Dir_Rank. Remove component
Known_Order_Of_Source_Dirs, no longer needed.
(Project_Data): New component Source_Dir_Ranks
(Project_Tree_Data): New components Number_Lists
2009-09-16 Vincent Celier <>
* gprep.adb (Yes_No): New global constant
Unix_Line_Terminators: New global Boolean variable
(Process_One_File): Create the out file with a "Text_Translation=" form
that depends on the use of option -T.
(Scan_Command_Line): Add option -T
(Usage): Add line for option -T
2009-09-16 Ed Schonberg <>
*, exp_disp.adb (Is_Predefined_Internal_Operation): New
predicate that describes a proper subset of
Is_Predefined_Dispatching_Operation and excludes stream operations,
which can be overridden by the user.
* sem_ch6.adb (Create_Extra_Formals): use
Is_Predefined_Internal_Operation, so that stream operations get extra
* exp_ch6.adb (Prevent double generation of extra actuals in calls to
'Input, which may be expanded twice, first as a function call and then
as a dispatching call.
2009-09-16 Thomas Quinot <>
* s-oscons-tmplt.c (Target_OS, Target_Name): New constants.
* g-expect.adb (Set_Up_Child_Communications): Use
System.OS_Constants.Target_OS to determine whether running on Windows.
2009-09-14 Richard Henderson <>
* gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR.
2009-09-14 Eric Botcazou <>
* (Packed Array Encoding): Document the new encoding for
the unconstrained case.
* gcc-interfaces/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Implement
the encoding. Do not give a name to the pointer type to the XUT type.
* gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE
for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared
on nodes with DECL_ORIGINAL_TYPE set.
(update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer
for fat pointer types. Make sure DECL_ARTIFICIAL is cleared.
2009-09-14 Richard Henderson <>
* gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
* gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use
* gcc-interface/utils.c (gnat_install_builtins): Update call
to build_common_builtin_nodes.
2009-09-13 Richard Guenther <>
Rafael Avila de Espindola <>
* gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables
eh_personality_libfunc and lang_eh_runtime_type.
(gnat_eh_personality_decl): New static variable.
(gnat_eh_personality): New static function.
Include gt-ada-misc.h.
* gcc-interface/ (misc.o): Add gt-ada-misc.h dependency.
* gcc-interface/ (gtfiles): Add misc.c.
2009-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR ada/18302
* gcc-interface/ (check-acats): Export rootme, EXPECT.
2009-09-08 Eric Botcazou <>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Tidy
flow of control.
Avoid useless work when processing the Treat_As_Volatile flag.
2009-09-08 Eric Botcazou <>
* gcc-interface/targtyps.c: Reorder include directives.
2009-09-07 Laurent GUERBY <>
* gcc-interface/targtyps.c: Add missing include for tm_p.h.
* gcc-interface/ Update dependencies.
2009-09-07 Laurent GUERBY <>
* make.adb: Add missing documentation for multilib handling.
2009-09-03 Diego Novillo <>
* gcc-interface/misc.c (lang_hooks): Remove const qualifier.
2009-09-02 Richard Henderson <>
* tb-gcc.c (__gnat_backtrace): Mark all arguments unused.
2009-09-02 Olivier Hainque <>
* init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si
and uc arguments.
2009-09-02 Olivier Hainque <>
* gcc-interface/decl.c (cannot_be_superflat_p): Handle
Signed_Integer_Type_Definition Scalar_Ranges.
2009-09-02 Eric Botcazou <>
* gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Gimplify the
SAVE_EXPR built for misaligned arguments. Remove redundant stuff.
(addressable_p): Return true for more rvalues.
2009-09-01 Jakub Jelinek <>
* gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast
2009-09-01 Richard Guenther <>
* gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove.
2009-08-25 Eric Botcazou <>
* gcc-interface/trans.c (call_to_gnu): Tidy.
(gnat_to_gnu) <N_Slice>: Set TYPE_ARRAY_MAX_SIZE if the slice has
non-constant size but the array itself has constant size.
* gcc-interface/utils.c (convert_vms_descriptor64): Fix type
consistency error.
(convert_vms_descriptor32): Likewise.
2009-08-22 Aurelien Jarno <>
* gcc-interface/ Add Ada support for
GNU/kFreeBSD x86_64.
* New file based on
2009-08-20 Eric Botcazou <>
* gcc-interface/utils.c (convert): In the padded case, do the final
conversion as an unchecked conversion if the underlying types are
array types with variable size.
2009-08-20 Eric Botcazou <>
* gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression
as visited.
* gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the
* gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific
(gnat_gimplify_expr) <DECL_EXPR>: New case.
2009-08-17 Aurelien Jarno <>
* (SA_ONSTACK): New constant.
(stack_t): New record type.
(sigaltstack): New imported function.
(Alternate_Stack): New imported variable.
(Alternate_Stack_Size): New constant.
2009-08-17 Vasiliy Fofanov <>
* a-calend-vms.adb: Fix typo.
2009-08-17 Tristan Gingold <>
* s-taprop-posix.adb: Round up the stack size to avoid failure on
2009-08-17 Gary Dismukes <>
* sem_cat.adb (Validate_Static_Object_Name): Update comment.
2009-08-17 Vincent Celier <>
* make.adb (Arguments_Collected): Unneeded, removed
(Change_To_Object_Directory): Use Project directly. Add pragma Assert to
ensure caller does not pass in No_Project.
(Compile): Add new parameter Project. Let procedure
Collect_Arguments_And_Compile provide the proper value.
* switch-c.adb: Add documentation for -gnatea and -gnatez
2009-08-17 Ben Brosgol <>
* gnat_ugn.texi: Changed name of package in SAL example, to avoid
clash with Ada 2005 reserved word (interface).
2009-08-17 Robert Dewar <>
* a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb,
a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb,
a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization
(use conditional expressions).
2009-08-17 Robert Dewar <>
* make.adb: Add ??? comment
* tbuild.adb: Minor reformatting
2009-08-17 Thomas Quinot <>
* exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to
Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary.
Use Tbuild.Make_Temporary to create entity for the temporary.
2009-08-17 Arnaud Charlet <>
* make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change
and ignore -mieee switch to avoid spawning an extra gcc in this case.
2009-08-17 Thomas Quinot <>
* tbuild.adb: Minor reformatting
2009-08-17 Ed Schonberg <>
* exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already
exist, as is the case for synchronized types, use the type of the
discriminal in the parameter specification, to prevent a spurious
subtype mismatch in gigi.
2009-08-17 Robert Dewar <>
* prj-env.adb: Minor reformatting
* make.adb: Minor reformatting
Comment updates
2009-08-17 Javier Miranda <>
* exp_ch7.adb (Wrap_Transient_Expression): Update comments.
2009-08-17 Emmanuel Briot <>
* prj-part.adb, prj.adb,, prj-nmsc.adb, prj-conf.adb
(Processing_Flags.Require_Obj_Dirs): new field, which controls whether
object directories must be present. In the case of gprclean at least,
these are optional (if they do not exist there is nothing to clean)
2009-08-17 Robert Dewar <>
* prj-env.adb: Minor reformatting
* sem_ch3.adb: Minor reformatting
2009-08-17 Hristian Kirtchev <>
* sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of
the time zone since VxWorks chose positive values to represent west
time zones and negative for east zones.
2009-08-17 Ed Schonberg <>
* sem_ch3.adb (Access_Definition): Do not create an Itype reference for
an anonymous access type whose designated type is generic.
2009-08-17 Arnaud Charlet <>
* comperr.adb (Compiler_Abort): Do not generate a bug box when in
codepeer mode, friendlier.
2009-08-10 Laurent GUERBY <>
* make.adb: Handle multilib
2009-08-10 Vincent Celier <>
* prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
the temporary file name in the error message when the temporary file
cannot be created.
2009-08-10 Yannick Moy <>
* gnat_ugn.texi: Fix typo
2009-08-10 Robert Dewar <>
* exp_ch7.adb: Add ??? comment for last change
2009-08-10 Vincent Celier <>
* prj-env.adb (Add_To_Buffer): New procedure
(Create_Config_Pragmas_File): Write to temporary file in one shot
(Create_Mapping_File): Ditto
(Set_Ada_Paths): Ditto
2009-08-10 Vincent Celier <>
PR ada/17566
* xref_lib.adb (Print_Xref): Make sure that there is at least one space
between a declaration name and its type.
2009-08-07 Javier Miranda <>
* exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of
SCIL node.
2009-08-07 Robert Dewar <>
* sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo.
2009-08-07 Vincent Celier <>
* gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is
specified on the command line and there are switches in the Compiler
package of the project file, use these compilation switches to invoke
the tool.
2009-08-07 Ben Brosgol <>
* gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter.
2009-08-07 Ed Schonberg <>
* sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit
even if not in main unit, to simplify debugging.
2009-08-07 Arnaud Charlet <>
* gcc-interface/ Fix handling of GCC_FOR_TARGET.
* gcc-interface/ Update dependencies.
2009-08-07 Robert Dewar <>
* Minor reformatting
* (Check_Generic_Child_Unit): Add missing documentation.
* frontend.adb, sem_warn.adb, Fix spelling of
* sem_ch13.adb: Remove ??? comment.
2009-08-07 Vincent Celier <>
* mlib-prj.adb (Build_Library): Include binder generate object file
for SAL when library name is only one character.
2009-08-07 Thomas Quinot <>
* targparm.adb: Minor reformatting
* sem.adb: Minor reformatting
* exp_ch4.adb (Expand_N_Conditional_Expression): Add comment.
2009-08-07 Emmanuel Briot <>
* prj-conf.adb: Remove duplicate directory separator in the output when
an object directory does not exist.
2009-08-07 Robert Dewar <>
* exp_util.adb: Minor reformatting
2009-08-07 Vincent Celier <>
* mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong
length used).
2009-08-07 Ed Schonberg <>
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode,
detect non-static private components that will violate restriction
2009-08-07 Ben Brosgol <>
* gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter.
2009-08-02 Eric Botcazou <>
* gcc-interface/gigi.h (end_subprog_body): Tweak comment.
* gcc-interface/utils.c (end_subprog_body): Likewise.
* gcc-interface/trans.c (gigi): Likewise.
(gnat_to_gnu): Likewise.
2009-07-30 Ben Brosgol <>
* gnat_ugn.texi: Correct minor texi glitch.
2009-07-30 Ed Schonberg <>
* exp_util.adb (Expand_Subtype_From_Expr): If the type of the
expression has an underlying representation that is an unchecked union,
there is no subtype to build.
2009-07-30 Robert Dewar <>
* a-teioed.adb, exp_disp.adb,,,
s-tasini.adb, sem_ch13.adb, sem_ch3.adb,, sem_ch6.adb,
sem_ch7.adb, adaint.c: Minor reformatting
2009-07-29 Javier Miranda <>
*, sem_ch3.adb (Add_Internal_Interface_Entities): Routine
moved from the expander to the semantic analyzer to allow the
generation of these internal entities when compiling with no code
generation. Required by ASIS.
* sem.adb (Analyze): Add processing for N_Freeze_Entity nodes.
*, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram.
* exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3
(Expand_Freeze_Record_Type): Remove call to
Add_Internal_Interface_Entities because this routine is now called at
early stage --when the freezing node is analyzed.
2009-07-29 Robert Dewar <>
*, exp_atag.adb, s-tasini.adb,,
exp_disp.adb, g-socket.adb: Minor reformatting
2009-07-29 Ed Schonberg <>
* sem_ch7.adb (New_Private_Type): Create class-wide type after other
attributes have been established, so that they are all inherited by the
class-wide type.
* sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle
properly named subtypes of class-wide types.
2009-07-29 Ed Schonberg <>
* sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding
indicators on user-defined operators.
2009-07-29 Vadim Godunko <>
* g-socket.adb (Receive_Vector): Add comment.
2009-07-29 Javier Miranda <>
* frontend.adb (Frontend): Code cleanup.
*, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address):
Rewriten as a procedure because it a new out-mode parameters to
keep up-to-date the controlling tag node in the caller.
(Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a
new out-mode parameter to keep up-to-date the controlling tag node in
the caller.
* exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb,
exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new
package Sem_SCIL.
*, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine
available in new package Sem_SCIL.
(Next_Non_SCIL_Node): Ditto.
* exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new
package Sem_SCIL.
(Expand_Dispatching_Call): Update call to modified Exp_Atags routines
plus complete decoration of SCIL dispatching node.
(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
* (Adjust_SCIL_Node): Removed. Routine available in new
package Sem_SCIL.
(Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL.
* exp_ch3.adb (Build_Init_Procedure): Fix comment.
*, sem_scil.adb: New files.
* gcc-interface/ (GNAT_ADA_OBJS): Addition of sem_scil.o.
Update dependencies.
2009-07-28 Robert Dewar <>
* adaint.h,, prj.adb, sem_util.adb,,
makeutl.adb: Minor reformatting & code reorganization
* sem_ch3.adb: Minor reformatting.
Fix spelling error (constraint for constrain) in error msg.
2009-07-28 Emmanuel Briot <>
* make.adb, makeutl.adb, (Project_Tree): Duplicates the
global variable that also exists in, and that some routines
in that package use already.
(Check): Moved part of the code to makeutl.adb for better sharing with
2009-07-28 Arnaud Charlet <>
* gcc-interface/ Update dependencies.
2009-07-28 Emmanuel Briot <>
* prj.adb, (Compute_All_Imported_Projects): Make sure the
importing project does not end up in the list, in the case of extending
* make.adb, makeutl.adb, (File_Not_A_Source_Of): Moved to, for better sharing with gprbuild.
2009-07-28 Arnaud Charlet <>
* gnat_ugn.texi: Fix typo.
2009-07-28 Ed Schonberg <>
* sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a
derivation that renames some discriminants and constrain others.
* exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the
prefix is a derived untagged type, convert to the root type to conform
to the signature of the protected operations.
2009-07-28 Robert Dewar <>
* Update comments.
* exp_attr.adb: Minor reformatting
2009-07-28 Ed Schonberg <>
* sem_aggr.adb (Get_Value): A named association in a record aggregate
should be treated as a modification of the named component, not as a
2009-07-28 Quentin Ochem <>
*, prj-tree.adb (Free): Minor editing.
*, prj.adb (Image): Ditto.
2009-07-28 Arnaud Charlet <>
* frontend.adb: Minor reformatting.
(Frontend): Only call Check_SCIL_Nodes if assertions are enabled,
for efficiency.
2009-07-28 Bob Duff <>
* exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of
'Address to get a pointer to the protected body wrapper.
2009-07-28 Javier Miranda <>
* gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL
nodes if we are not generating code.
* frontend.adb (Check_SCIL_Node): New subprogram. Used to check
attribute SCIL_Related_Node of SCIL dispatching nodes.
(Check_SCIL_Nodes): New instantiation of Traverse_Proc.
* (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Entity): Update documentation.
(SCIL_Related_Node): Update documentation.
(SCIL_Controlling_Tag): New attribute.
(SCIL_Target_Prim): Update documentation.
(N_Null_Statement): Remove attributes associated with SCIL nodes.
(N_SCIL_Dispatch_Table_Object_Init): New node.
(N_SCIL_Dispatch_Table_Tag_Init): New node.
(N_SCIL_Dispatching_Call): New node.
(N_SCIL_Tag_Init): New node.
* sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed
(SCIL_Nkind,Set_SCIL_Nkind): Removed.
(SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram.
(SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes.
(SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes
(SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to
N_SCIL_Dispatching_Call nodes.
* sem.adb (Analyze): No need to analyze SCIL nodes.
*, sem_aux.adb (First_Non_SCIL_Node): New subprogram
(Next_Non_SCIL_Node): New subprogram
* sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL
dispatching nodes.
* sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL
dispatching node.
* sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL
dispatching node.
* exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing
null statement nodes.
(Build_Init_Procedure): Generate new SCIL node.
* exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching
* exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because
they are currently implemented as special N_Null_Statement nodes.
* exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a
procedure call then check if some SCIL node references it and needs
* (SCIL_Node_Kind): Removed.
(Adjust_SCIL_Node): New subprogram.
(Find_SCIL_Node): New subprogram.
(Get_SCIL_Node_Kind): Removed.
(New_SCIL_Node): Removed.
* exp_disp.adb (Adjust_SCIL_Node): New subprogram
(Expand_Dispatching_Call): Generate new SCIL dispatching node including
decoration of its new controlling_tag attribute.
(Get_SCIL_Node_Kind): Removed.
(Find_SCIL_Node): New subprogram.
(Make_Secondary_DT): Generate new SCIL nodes.
(Make_Tags): Generate new SCIL nodes.
(New_SCIL_Node): Removed.
* exp_util.adb (Insert_Actions): Handle SCIL nodes.
(Remove_Side_Effects): Check if relocated nodes require readjustment
of some SCIL dispatching node.
* gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes.
2009-07-28 Robert Dewar <>
* prj-nmsc.adb, g-expect.adb, Minor reformatting
2009-07-28 Sergey Rybin <>
* gnat_ugn.texi: Add section about gnatcheck rule exemption.
2009-07-28 Vadim Godunko <>
* s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is
not defined by limits.h.
* g-socket.adb (Receive_Vector): Use minimum length from user's vector
length and maximum supported length of data vector.
2009-07-28 Gary Dismukes <>
* usage.adb: Inhibit printing gcc-specific switches for AAMP target.
* make.adb: Call Get_Target_Parameters before calling Usage so that
VM_Target and AAMP_On_Target will be set.
2009-07-28 Olivier Hainque <>
* Remove, pointless and just confusing at this stage.
* gnat_rm.texi: Remove documentation.
* Minor reorg along the way.
* gcc-interface/ Remove processing for g-ssinty.
* Minor comment updates.
2009-07-28 Sergey Rybin <>
* gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update
for the new format of the report file.
2009-07-28 Sergey Rybin <>
* gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc.
2009-07-28 Pascal Obry <>
* g-expect.adb: Record standard handles only on Windows.
2009-07-27 Emmanuel Briot <>
*, prj-nmsc.adb (Override_Kind): add debug trace
Add comments.
2009-07-27 Sergey Rybin <>
* gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the
rule definition the paragraph that explains that generic functions and
functions from generic packages are not checked.
2009-07-27 Gary Dismukes <>
* sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null
procedure when determining whether to set the Overridden_Operation
field of a subprogram overriding an inherited subprogram.
2009-07-27 Robert Dewar <>
* a-except.adb, Minor reformatting
2009-07-27 Robert Dewar <>
* sem_util.adb, (Kill_Current_Values): Reset Is_Known_Valid
2009-07-27 Javier Miranda <>
* exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and
add some documentation explaining why the SCIL nodes must be generated
at that point.
2009-07-27 Olivier Hainque <>
* a-except.adb: Bind to __builtin_longjmp directly.
* Provide direct binding to __builtin_longjmp
for sjlj variants.
* a-exexpr.adb: Use it.
* a-except-xi.adb: Likewise.
* raise.c (_gnat_builtin_longjmp): Remove and update comments.
* raise.h (_gnat_builtin_longjmp): Remove declaration.
2009-07-27 Ed Schonberg <>
* sem_eval.adb (Compile_Time_Compare): More precise handling of
Known_Valid flag, to prevent spurious range deductions when scalar
variables may be uninitialized. New predicate Is_Known_Valid_Operand.
2009-07-27 Robert Dewar <>
* gnatfind.adb,, sem.adb, xr_tabls.adb: Minor reformatting
and code clean up.
2009-07-27 Ed Schonberg <>
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in
Ravenscar mode. Error has already been posted on specification.
* sem.adb: Further code clean ups.
2009-07-27 Robert Dewar <>
* Minor reformatting
2009-07-27 Arnaud Charlet <>
* xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for
alternate ali extension.
* xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into
account Osint.ALI_Suffix.
* (ALI_Suffix): Make visible.
* gnatfind.adb (Gnatfind): Add support for --ext= switch.
* gnat_ugn.texi: Document new gnatfind --ext= switch.
2009-07-27 Ed Schonberg <>
* sem.adb (Walk_Library_Items): If main unit is an instance body, do
its spec first.
2009-07-27 Javier Miranda <>
* exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after
the dispatching call has is expanded.
2009-07-27 Ed Schonberg <>
* exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the
Is_Known_Valid flag on the temporary created for the value whose
validity is being checked.
* sem.adb (Do_Unit_And_Dependents): Further code reorganization to
handle properly main units that are package specifications.
2009-07-27 Geert Bosch <>
* (Checks_May_Be_Suppressed): Fix typo in comment
* Fix typo in comment
* (Is_LHS): Adjust comment to match body
2009-07-27 Sergey Rybin <>
* gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update
rule definition.
2009-07-27 Olivier Hainque <>
*, Update comments.
2009-07-27 Sergey Rybin <>
* gnat_ugn.texi: Update gnatcheck doc.
2009-07-27 Arnaud Charlet <>
* Allocate/document 'o' char for use by references to
spark 'own' variables.
2009-07-27 Gary Dismukes <>
* sem_ch6.adb (Analyze_Function_Return): Set Referenced on return
objects, since these are implicitly referenced by the return statement.
* sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test
Is_Return_Object in this procedure, as return objects will never make
it here since they're now marked as Referenced.
2009-07-27 Robert Dewar <>
* exp_ch2.adb, sem_util.adb, Minor reformnatting
2009-07-27 Robert Dewar <>
* exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call
* sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting
2009-07-27 Geert Bosch <>
* checks.adb (Find_Check): Minor streamlining of logic.
* gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order.
* debug.adb: Document -gnatdX debug flag
* exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to
list information about reads from scalar entities.
Also slightly simplify condition for Expand_Current_Value.
*, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New
2009-07-26 Dave Korn <>
PR bootstrap/40578
* adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these
to these.
(__gnat_stat): Adjust reference to STAT in prototype.
* adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length,
__gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd,
__gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists,
__gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file,
__gnat_is_writable_file, __gnat_is_executable_file,
__gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable,
__gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link,
__gnat_copy_attribs): Adjust all references to the above.
* cstreams.c (__gnat_is_regular_file_fd): Likewise.
2009-07-23 Ed Schonberg <>
* sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not
done at the same time, guard against listing a body more than once.
2009-07-23 Robert Dewar <>
* exp_ch6.adb: Minor reformatting
2009-07-23 Ed Schonberg <>
* sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a
static expression is known valid.
* sem_eval.adb (Compile_Time_Compare): Handle properly non-static
operands of a subtype with a single value.
2009-07-23 Ed Schonberg <>
* sem.adb (Do_Units_And_Dependents): Process bodies only for units that
are in the context of the main unit body.
2009-07-23 Sergey Rybin <>
* gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix
misprint in rule description.
2009-07-23 Gary Dismukes <>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace
test that the object declaration is within an extended return statement
with direct test of whether the declared object associated with the
build-in-place call is a return object, since the enclosing function
might not even be a build-in-place function.
2009-07-23 Robert Dewar <>
* freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting
Minor code reorganization
2009-07-23 Arnaud Charlet <>
* sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records
for static analysis, only packed arrays are causing troubles.
2009-07-23 Gary Dismukes <>
* sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the
ancestor part is a call to a limited function with an unconstrained
result subtype unless the aggregate has a null extension type.
* sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving
the parent type declaration to avoid blowups on subtype cases.
2009-07-23 Robert Dewar <>
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing
* sem_util.adb (Wrong_Type): Special message for cases like A and B = 0
* s-regexp.adb: Minor reformatting
* Minor reformatting.
2009-07-23 Arnaud Charlet <>
* freeze.adb (Set_Small_Size): Remove extra space for consistency with
other similar messages.
* sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error
messages/implicit packing in CodePeer mode.
(Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode.
* errout.adb (Special_Msg_Delete): Suppress 'size too small' message in
CodePeer mode.
2009-07-23 Pascal Obry <>
* prj-nmsc.adb: Fix spec/body naming extension on case insensitive
2009-07-23 Robert Dewar <>
*,, s-regexp.adb, Update comment.
Minor reformatting.
2009-07-23 Yannick Moy <>
* s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the
(Raise_Exception_If_No_More_Chars): Remove extra blank in exception
(Raise_Exception): Ditto.
2009-07-23 Olivier Hainque <>
* Simplify comment.
2009-07-23 Olivier Hainque <>
* New unit. GNAT.SSE.Internal_Types. Factorize
low level internal type definitions for distinct higher level
binding development activities (user type definitions and
* gnat_rm.texi: Document it.
* Use it.
* gcc-interface/ (x86 32/64 linux, cygwin32 sections): Add
* gcc-interface/utils.c (gnat_internal_attribute_table): Add entry
for the "may_alias" attribute.
2009-07-23 Thomas Quinot <>
* Minor typo fix
* gcc-interface/decl.c (validate_alignment): For the case of an
implicit array base type, look for alignment clause on first subtype.
2009-07-23 Robert Dewar <>
* gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap
with tagged parent if tagged parent is fully repped.
2009-07-23 Ed Schonberg <>
* sem.adb (Walk_Library_Units): Handle properly the case where a unit
in the context depends on the spec of the main unit, by delaying
processing of the main unit body until all other units have been
2009-07-23 Arnaud Charlet <>
* a-convec.adb: Add comments about suspicious/subtle code.
2009-07-23 Ed Schonberg <>
* Document use of Alias in private overriding
2009-07-23 Thomas Quinot <>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of
an array type, propagate alignment from first subtype to implicit base
type so that other subtypes (such as the itypes for aggregates of the
type) also receive the expected alignment.
* Minor documentation clarification/rewording.
* Minor comments update.
* Minor reformatting
2009-07-23 Gary Dismukes <>
* exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object
of a class-wide interface type that is a return object of a
build-in-place function, bypass the interface-related expansions into
renamings with displacement conversions, etc.
* exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion
for the case where a renaming occurs in a build-in-place context, to
assert that the bypassing of the build-in-place treatment only occurs
in the case of a renaming that is an expansion of a return expression
that is itself a build-in-place function call.
2009-07-23 Ed Schonberg <>
* sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a
valid candidate interpretation in a prefixed view if it is hidden, but
overrides an inherited operation declared in the visible part.
2009-07-23 Robert Dewar <>
* exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
division operands to 64-bit at all in any circumstances.
2009-07-23 Robert Dewar <>
* exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when
checking ranges for mod/rem to see if conditional jump will be
(Analyze_N_Op_Rem): Don't try to check actual lower bounds for
generating special -1 test for rem, generate it whenever both
operands can be negative (match circuit in Sem_Res).
(Analyze_N_Op_Rem): Don't go to base type, no longer needed and
destroys memory of positive range.
* sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when
checking ranges for mod/rem to see if conditional jump will be generated
2009-07-23 Ed Schonberg <>
* exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a
scalar components has non-static bounds, the equivalent aggregate
cannot be built, even if the expression is static, because range checks
will be generated.
2009-07-23 Robert Dewar <>
* exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer
division operands to 64-bit inside a conversion if 64-bit division not
2009-07-23 Sergey Rybin <>
* gnat_ugn.texi: Update doc on Misnamed_Identifiers rule.
2009-07-23 Javier Miranda <>
*, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms
(Entity/Set_Entity): not available in N_Null_Statement nodes
(Is_Scil_Node): renamed as Is_SCIL_Node
(Scil_Nkind): renamed as SCIL_Nkind
(Scil_Related_Node): renamed as SCIL_Related_Node
(Scil_Target_Prim): renamed as SCIL_Target_Prim
(Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node
(Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node
(Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim
Update documentation
* (Scil_Node_Kind): Renamed as SCIL_Node_Kind
(Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
(New_Scil_Node): Renamed as New_SCIL_Node
* exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node.
(Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind
(New_Scil_Node): Renamed as New_SCIL_Node
* exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node.
2009-07-23 Robert Dewar <>
* sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma
* No_Return is an Ada 2005 pragma, not a GNAT pragma
* einfo.adb: Minor reformatting
2009-07-23 Robert Dewar <>
* checks.adb (Apply_Arithmetic_Overflow_Check): Add comments
cross-referencing the new related code in
* exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows
* exp_disp.adb,, Minor reformatting.
Add comment.
2009-07-23 Javier Miranda <>
* (Is_Scil_Node, Scil_Nkind, Scil_Related_Node,
Scil_Target_Prim, N_Has_Entity): Add missing documentation.
* (Scil_Node_Kind): Ditto.
* exp_disp.adb (Make_DT, Make_Tags): Ditto.
* exp_ch3.adb (Build_Init_Procedure): Ditto.
2009-07-23 Javier Miranda <>
* einfo.adb (Component_Type): Add missing assertion.
* sem_res.adb (Resolve_Call): Ensure proper kind of entity before
reading attribute Component_Size.
* exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity
before reading attributes Component_Size and Component_Type.
* exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity
before reading attribute Component_Type.
2009-07-23 Olivier Hainque <>
* gnat_rm.texi: Document the GNAT.SSE units.
2009-07-23 Ed Schonberg <>
* sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for
not null return if it appears on a subunit.
2009-07-23 Robert Dewar <>
* exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity
check right away so it does not get skipped for early returns, e.g.
array assignments.
(Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to
left-side unless we really know the value is valid.
* errout.adb, exp_ch3.adb,,, exp_disp.adb: Minor
reformatting. Minor code reorganization. Add comments.
2009-07-23 Robert Dewar <>
* get_scos.adb (Skip_EOL): Fix error of mishandling end of line after
complex condition.
2009-07-23 Gary Dismukes <>
* sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
with test of coverage, to allow specific type objects in extended
returns of class-wide functions. Remove now-unnecessary special-case
tests that allowed this in certain cases of expanded extended returns.
2009-07-23 Javier Miranda <>
*,sinfo.adb (Entity/Set_Entity): Attribute available in
N_Null_Statements (for SCIL nodes).
(Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
(Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
(Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
(Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
* exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
associated with dispatching call.
(Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
(Make_DT, Make_Tags): Add generation of SCIL nodes associated with
initialization of dispatch tables and initialization of tags.
(New_Scil_Node): New function that creates a new SCIL node.
(Build_Init_Procedure): Add generation of SCIL node associated with the
initialization of tags done in the IP subprogram.
2009-07-23 Ed Schonberg <>
* errout.adb (Error_Msg_NEL): If the entity in the initial message has
Warnings_Off, do not emit continuation messages.
* sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
2009-07-23 Emmanuel Briot <>
* ali.adb: Minor comment update
2009-07-23 Vasiliy Fofanov <>
* (HANDLE): Define to be the same size as address type.
Fix copyright.
2009-07-23 Olivier Hainque <>
* New file. Root of the SSE facilities trees, with
general description and common declarations.
* New file. Expose user level SSE vector types.
* impunit.adb (Non_Imp_File_Names_95): Register new units.
* gcc-interface/ (x86 32/64 linux, win32): Add
2009-07-23 Ben Brosgol <>
* gnat_ugn.texi: Wordsmithing.
2009-07-23 Arnaud Charlet <>
*, prj-conf.adb: Switch to GPLv3.
2009-07-22 Eric Botcazou <>
* exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if
they are already of the base type of the index.
2009-07-22 Brett Porter <>
* sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__.
2009-07-22 Robert Dewar <>
* Add entry for SCO_OUTPUT (-gnateS)
* gnat_ugn.texi: Add documentation for -gnateS switch
* ug_words: Add entry for -gnateS /SCO_OUTPUT
* gcc-interface/ Update dependencies.
* get_scos.adb,, gnat1drv.adb, par_sco.adb,, put_scos.adb,, scos.adb, Initial
complete information for SCO input/output.
2009-07-22 Sergey Rybin <>
* gnat_ugn.texi: Update doc for some gnatcheck rules.
2009-07-22 Robert Dewar <>
* par_sco.adb, (pscos): New debug routine to output
contents of SCO tables.
* put_scos.adb,, get_scos.adb,,
scos.adb, New files.
* gcc-interface/ Update dependencies.
*,,, Minor comment
fixes and reformatting.
2009-07-22 Robert Dewar <>
* Minor reformatting
2009-07-22 Gary Dismukes <>
* sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that
include the entity kind for following cases of unreferenced entities:
E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind.
2009-07-22 Ed Falis <>
* s-vxwext-kernel.adb, Replace use of taskStop
with taskSuspend.
2009-07-22 Arnaud Charlet <>
* adadecode.c: Make this file compilable outside of GCC.
2009-07-22 Thomas Quinot <>
* g-socket.adb, (Check_Selector): Make sure that
(partially) default-initialized socket sets are handled properly by
clearing their Set component.
2009-07-22 Bob Duff <>
* gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches.
2009-07-22 Robert Dewar <>
* gnat_ugn.texi: Minor reformatting
2009-07-22 Ed Schonberg <>
* errout.adb (Error_Msg): A style message within an instantiation
should not be labelled as an error.
2009-07-22 Ed Schonberg <>
* freeze.adb (Freeze_Entity): Do not generate extra formal for function
in initialization expression if function does not have convention Ada.
2009-07-22 Sergey Rybin <>
* gnat_ugn.texi, Add qualifier for new gnatpp option
'--separate-label' to control label layout.
2009-07-22 Robert Dewar <>
*, sem_eval.adb: Minor reformatting
2009-07-22 Bob Duff <>
* exp_dist.adb, Update comments.
2009-07-22 Brett Porter <>
* init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
* sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2009-07-22 Gary Dismukes <>
* exp_ch5.adb, sem_util.adb, sem_attr.adb,, exp_ch2.adb,, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
Minor reformatting.
* sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
used poor terminology.
2009-07-22 Robert Dewar <>
* freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
* sem_eval.adb, exp_tss.adb: Minor comment update.
* stylesw.adb: Code clean up.
2009-07-22 Ed Schonberg <>
* freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the
component size is an exact number of bytes, an array type can have a
size clause that forces packing even though the array type itself is
not bit-packed.
2009-07-22 Thomas Quinot <>
* sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration,
if there is a previous entity with the same name in the scope, ignore
it if it is the renaming declaration for a generic package introduced
in instances.
2009-07-22 Nicolas Roche <>
* seh_init.c: use RtlAddFunctionTable to register our SEH exception
handler on x86_64 windows.
2009-07-22 Arnaud Charlet <>
* sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create
false positives in CodePeer, so ignore this pragma in this mode.
2009-07-22 Thomas Quinot <>
* sem_util.adb, sem_ch10.adb: Minor reformatting
* g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required
special handling for the case of no data received and Item'First =
(Last_Index): New subprogram factoring the above special handling
over the various locations where it is required.
2009-07-22 Arnaud Charlet <>
* gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment
checks in CodePeer_Mode.
* gcc-interface/ Update dependencies.
2009-07-22 Ed Schonberg <>
* sem_aggr.adb: Improve error message.
* sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis
of an address representation clause.
* freeze.adb (Freeze_Static_Object): An local imported object is legal
if it has an address clause.
2009-07-22 Thomas Quinot <>
* sem_elab.adb (Insert_Elab_Check): When relocating an overloaded
expression to insert an elab check using a conditional expression, be
sure to carry the original list of interpretations to the new location.
2009-07-22 Gary Dismukes <>
* gnat1drv.adb: Fix spelling error.
2009-07-22 Javier Miranda <>
*, sem_type.adb (In_Generic_Actual): Leave this subprogram
at the library level and fix a hidden bug in its implementation: its
functionality for renaming objects was broken because
N_Object_Renaming_Declarations nodes are not a subclass of
N_Declaration nodes (as documented in
* sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this
check nodes that are actuals of generic instantiations.
2009-07-22 Ed Schonberg <>
*, sinfo.adb (Pending_Context): New flag to indicate that the
context of a compilation unit is being analyzed. Used to detect
circularities created by with_clauses that are not detected by the
loading machinery.
* sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before
analyzing the context of the current compilation unit, to detect
possible circularities created by with_clauses.
2009-07-22 Thomas Quinot <>
* sem_type.adb (Get_First_Interp): Fix wrong loop exit condition.
2009-07-22 Robert Dewar <>
* sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB
*, styleg.adb, (Check_Boolean_Operator): New
* usage.adb,, stylesw.adb: Add handling of -gnatyB switch
* gnat_ugn.texi: Add documentation of -gnatyB
* Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS)
2009-07-22 Robert Dewar <>
* s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
obey short-circuit style rule.
2009-07-20 Bob Duff <>
* sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then"
instead of "and", because otherwise Parent_Last_Bit is read
uninitialized in the case where it's not a tagged type, or the tagged
parent does not have a complete rep clause.
2009-07-20 Robert Dewar <>
* Minor documentation change.
* Minor reformatting
2009-07-20 Javier Miranda <>
* (Apply_Access_Checks): New subprogram that takes care of
generating the tag checks associated with dispatching calls.
* exp_disp.adb (Apply_Access_Checks): New subprogram.
(New_Value): This routine was previously local to expand dispatching
calls but it is now used also by Apply_Access_Checks.
(Expand_Dispatching_Calls): Cleanup code because the functionality of
tag checks is now provided by Apply_Access_Checks.
* exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in
case of dispatching calls.
2009-07-20 Arnaud Charlet <>
* gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in
2009-07-20 Gary Dismukes <>
* exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling
for VMS, only rewrite the first component of the associated exception's
aggregate init (as 'V'), and eliminate the bogus rewrites of the second
and third components that were being replaced with 'M' and 'S'.
2009-07-20 Arnaud Charlet <>
* gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode.
Also do not generate error when parsing a spec in CodePeer mode.
2009-07-20 Javier Miranda <>
* checks.adb (Apply_Access_Check): Avoid checks on availability of
runtime function Offset_To_Top_Ptr when compiling with no tagged
types expansion.
* exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of
adding code to the init proc when compiling for VM backends.
2009-07-20 Vincent Celier <>
*, switch-m.adb (Normalize_Compiler_Switches): Take into
account switches -gnatw.?
2009-07-20 Thomas Quinot <>
* sem_dist.adb, exp_dist.adb: Minor reformatting
* New file.
* gcc-interface/ Use fragment.
2009-07-20 Javier Miranda <>
*, sem_util.adb (Check_Dynamically_Tagged_Expression): New
* sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of
dynamically tagged expression.
* sem_ch3.adb (Analyze_Object_Declaration): Call new routine that
factorizes code.
* sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto.
* sem_ch8.adb (Analyze_Object_Renaming): Ditto.
2009-07-20 Arnaud Charlet <>
* gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when
CodePeer_Mode is set, to benefit from full front-end expansion
(e.g. generics).
2009-07-20 Ed Schonberg <>
* sem_res.adb: Add guard.
* exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type
for possible attribute definition of External_Tag, in case clause
appears in the private part of a package.
2009-07-20 Jerome Guitton <>
* gcc-interface/ cleanup powerpc linux target pairs.
2009-07-20 Vadim Godunko <>
* a-coorma.adb: Minor reformatting.
2009-07-20 Ed Schonberg <>
* sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
access return types.
* sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
provide an itype reference to gigi to force elaboration of the subtype
at the proper point.
2009-07-20 Tristan Gingold <>
* g-expect.adb: Avoid closeing already closed handle.
2009-07-20 Robert Dewar <>
* sprint.adb (Write_Subprogram_Name): New procedure to output
subprogram name with possible preceding $ (replaces
2009-07-20 Robert Dewar <>
* Minor reformatting
*, einfo.adb (Parent_Subtype): Now allowed on record subtype,
applies to base type.
(Parent_Subtype): Now allowed on record subtype, applies to base type
* exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment
for case of fully repped tagged type.
(Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid
tag save/restore for fully repped tagged type case.
*, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function
* fe.h (Is_Fully_Repped_Tagged_Type): New function
* sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for
overlap of tagged type components with parent type if parent type is
fully repped.
*, sinfo.adb (Componentwise_Assignment): New flag
* sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of
(Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check
(Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check
* gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only
logical operators (AND/OR/XOR), not comparison operators.
* Minor reformatting
2009-07-20 Ed Schonberg <>
* sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related
intrinsics, check that argument is a string literal, rather than
checking for staticness.
2009-07-20 Robert Dewar <>
* sem_ch13.adb: Minor reformatting
* Minor reformatting
Component_Bit_Offset is no longer considered obsolescent
2009-07-20 Nicolas Roche <>
* a-calend.adb: Redefine time_t as signed integer with same size as
Address type.
* Redefine OS_Time as signed integer with same size as
Address type
* adaint.h: On Windows 64bits declare OS_Time as long long instead of
2009-07-20 Javier Miranda <>
* exp_tss.adb (Init_Proc): Add missing support for non-default C++
constructors that have anonymous access type formals.
* sem_res.adb (Resolve_Actuals): Disable checks associated with Ada
class-wide arguments in case of imported C++ subprograms.
* exp_ch3.adb (Build_Initialization_Call): Add assertion.
2009-07-20 Sergey Rybin <>
* Update qualifiers.
2009-07-20 Robert Dewar <>
*, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor
2009-07-17 Richard Guenther <>
PR c/40401
* gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples
state. Remove unused parameter.
(gnat_gimplify_function): Do not gimplify here.
Fold into its only caller and remove.
(gnat_builtin_function): Adjust for end_subprog_body signature change.
(gnat_write_global_declarations): Also finalize the CU.
* gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here.
* gcc-interface/trans.c (gigi): Revert to pre-tuples state.
(Subprogram_Body_to_gnu): Adjust for end_subprog_body signature
* gcc-interface/gigi.h (end_subprog_body): Remove unused parameter.
2009-07-15 Arnaud Charlet <>
* gcc-interface/ Update dependencies
* gcc-interface/ Add target pairs for PPC/Xenomai
2009-07-15 Robert Dewar <>
* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
N_Label. Remove SCO table entry for entry point (not used).
* Remove SCO entry point type (not used)
* switch.adb: Minor code clean up.
2009-07-15 Eric Botcazou <>
* (Base Record Types): Document enhanced encoding.
2009-07-15 Thomas Quinot <>
* gnatls.adb: Minor reformatting
* gnatcmd.adb: Minor code reorganization
2009-07-15 Ed Schonberg <>
* exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to
determine whether a component of a private type has a composite type.
2009-07-15 Robert Dewar <>
* sem_ch10.adb: Minor reformatting throughout
Minor code reorganization (put nested subprograms in alpha order)
2009-07-15 Ed Schonberg <>
* exp_ch6.adb (Expand_Call): Prevent double attachment of the result
when compiling a call to a protected function that returns a controlled
2009-07-15 Hristian Kirtchev <>
* sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into
one. Add task locking and unlocking around the critical region which
mentions localtime_r and global variable timezone for various targets.
Comment reformatting.
2009-07-15 Robert Dewar <>
* gnat_rm.texi: Document
* (Map_Array): New table of alternative names
(Get_Kind_Of_Unit): Return possible suggested alternative name
* (Get_Kind_Of_Unit): Return possible suggested
alternative name.
* sem_ch10.adb (Analalyze_With_Clause): Add name of possible
alternative unit if an implementation unit is with'ed.
2009-07-15 Robert Dewar <>
* gnat_ugn.texi: Minor updates.
* Minor comment updates for Ada 2005 fully implemented
2009-07-15 Ed Schonberg <>
* sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant
conditions of a derived boolean type.
Minor reformatting
2009-07-15 Robert Dewar <>
* gnat1drv.adb: Initialize SCO tables
* par-load.adb: Call SCO_Record for main unit spec
* par.adb: Make call to SCO_Record for main unit
* par_sco.adb (Unit_Table): Change format to facilitate sort
(Process_Decisions): New procedure with list argument
(Traverse_Generic_Package_Declaration): New procedure
(Initialize): New procedure, replaces Init
(SCO_Output): Sort unit table before output
(SCO_Record): Avoid duplications
(SCO_Record): Handle remaining cases of units
(Traverse_Declarations_Or_Statements): Handle generics
* (Initialize): New peocedure (replaces Init)
* sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for
2009-07-15 Arnaud Charlet <>
* debug.adb: Add -gnatd.J switch for now to support scil generation in
parallel. Add missing doc for -gnatd.I and -gnatd.O
2009-07-15 Robert Dewar <>
* lib-load.adb: Minor reformatting
* lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO.
2009-07-15 Robert Dewar <>
* par.adb: Minor reformatting
Add ??? comment for possible bad comment
* par-ch10.adb: Minor reformatting
2009-07-15 Ed Schonberg <>
* sem_warn.adb (Warn_On_Constant_Condition): if the constant condition
is a literal of a derived boolean type, it appears as an unchecked
conversion. Retrieve actual value from expression of conversion.
2009-07-15 Robert Dewar <>
* sem_ch3.adb: Minor reformatting
*, lib-xref.adb,,, par_sco.adb,, lib-writ.adb: Minor reformatting.
Fix problem with SCO format in ALI files
2009-07-15 Robert Dewar <>
* exp_ch7.adb, exp_util.adb, tbuild.adb,, exp_ch4.adb,
exp_aggr.adb: Minor code reorganization (better calling sequence for
2009-07-15 Thomas Quinot <>
* Minor comment edits
2009-07-15 Tristan Gingold <>
* gcc-interface/ Special rule for seh_init.o no longer
2009-07-15 Robert Dewar <>
* lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO
* Document addition of SCO lines to ALI file
*, par_sco.adb: New files.
* (Generate_SCO): New switch
* par.adb (Par): Call SCO_Record to record SCO information
* sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition
* switch-c.adb: Recognize -gnateS to generate SCO information
* usage.adb: Add line for -gnateS
* gcc-interface/ Add dependency on par_sco.o for gnat1
2009-07-15 Robert Dewar <>
*, make.adb,, par.adb, sem_warn.adb: Minor
2009-07-15 Thomas Quinot <>
* g-socthi-mingw.adb: Minor comment addition
* (WSAStartup): First argument is a WORD not an int.
2009-07-15 Robert Dewar <>
*, Minor reformatting
2009-07-15 Robert Dewar <>
* switch-c.adb, sem_ch10.adb, sem_warn.adb, Implement
new switch -gnatw.g.
(Set_GNAT_Mode_Warnings): New procedure.
* lib-xref.adb: Minor reformatting
2009-07-15 Robert Dewar <>
* exp_aggr.adb,, tbuild.adb: Minor reformatting
Minor code reorganization
2009-07-14 Taras Glek <>
Rafael Espindola <>
* gcc-interface/ (ada.install-plugin): New target for
installing plugin headers.
2009-07-13 Ed Schonberg <>
* exp_ch7.adb, exp_util.adb, tbuild.adb,, exp_ch4.adb,
exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
and link it to the expression whose value it captures.
2009-07-13 Robert Dewar <>
* output.adb: Minor comment addition for last change
* Minor reformatting
2009-07-13 Vasiliy Fofanov <>
* adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
spawn failed like on all other targets.
2009-07-13 Ed Schonberg <>
* exp_ch7.adb: Indicate origin of temporary for transient expression.
2009-07-13 Thomas Quinot <>
* s-oscons-tmplt.c: Add comment.
2009-07-13 Robert Dewar <>
* sinfo.adb,, sem_util.adb, atree.adb, Minor
reformatting. Minor code reorganization (add 9 argument version of
* impunit.adb: Remove s-os_lib from list of system extensions.
* Minor reformatting
* output.adb: Add warnings off/on around System.OS_Lib.
2009-07-13 Bob Duff <>
* exp_dist.adb: Minor comment updates.
2009-07-13 Gary Dismukes <>
* sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
several references to CodePeer.
2009-07-13 Bob Duff <>
* exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
Build_TypeCode_Function_All): Do not recurse if the type is the base
2009-07-13 Robert Dewar <>
* exp_ch4.adb: Minor comment change
2009-07-13 Ed Schonberg <>
* sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
type of iteration, to prevent spurious warnings.
2009-07-13 Nicolas Roche <>
* s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
2009-07-13 Arnaud Charlet <>
* switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
gnat1drv.adb,, sem_ch13.adb (Inspector_Mode): Renamed to
(CodePeer_Mode): New -gnatC switch.
(Adjust_Global_Switches): Adjust settings for Generate_SCIL and
2009-07-13 Eric Botcazou <>
* checks.adb (Selected_Range_Checks): Do not consider that a non-static
integer bound forces the check if it is compared to its subtype range.
2009-07-13 Robert Dewar <>
*, prj-dect.adb,, prj-err.adb, prj-nmsc.adb, Minor reformatting
2009-07-13 Thomas Quinot <>
* exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
set the type of the From_Any call to the base type.
2009-07-13 Doug Rupp <>
* symbols-processing-vms-ia64.adb (Process): Add variables and
constants to retrieve and check for symbol visibility.
2009-07-13 Javier Miranda <>
* exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
the identical type we remove the conversion completely because
it is useless.
2009-07-13 Emmanuel Briot <>
* prj-err.adb (Error_Msg): One more case where a message should be
considered as a warning.
* gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
2009-07-13 Thomas Quinot <>
* exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
calling stubs in the (library level) scope of the RCI locator, where it
is attached, not in the caller's scope.
2009-07-13 Javier Miranda <>
* sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
interface object declarations we delay the generation of the equivalent
record type declarations until its expansion because there are cases in
which they are not required.
* sem_util.adb (Implements_Interface): Add missing support for subtypes.
* sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
addition of assertion.
* exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
interface types require no equivalent constrained type declarations
because the expanded code only references the tag component associated
with the interface.
(Find_Interface_Tag): Improve management of interfaces that are
ancestors of tagged types.
* exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
class-wide object declarations to add missing support to statically
displace the pointer to the object to reference the tag component
associated with the interface.
* exp_disp.adb (Make_Tags) Avoid generation of internally generated
auxiliary types associated with user-defined dispatching calls if the
type has no user-defined primitives.
2009-07-13 Vasiliy Fofanov <>
* mingw32.h: Make it explicit that we need XP or later.
* initialize.c: Remove useless extern symbol declaration.
* adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
code reuse in expect.c.
* adaint.c: Changes throughout the Windows section to redesign storage
of the child process list and the process identification.
* expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
for interfacing, fix errors.
(__gnat_expect_portable_execvp): use function in adaint.c
2009-07-13 Emmanuel Briot <>
* prj-proc.adb, prj-part.adb,, prj-strt.adb,, prj.adb,, prj-makr.adb,,
prj-dect.adb,, prj-nmsc.adb, prj-pars.adb, errutil.adb,, prj-conf.adb, gnatname.adb, prj-err.adb,
(Prj.Nmsc.Report_Error): Removed, no longer needed.
Always use Prj.Err.Report_Message.
2009-07-13 Robert Dewar <>
* prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
& comment edits.
2009-07-13 Robert Dewar <>
*, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
prj-proc.adb, prj-tree.adb, Minor reformatting
2009-07-13 Emmanuel Briot <>
* prj.adb,, prj-env.adb, prj-conf.adb, prj-tree.adb,
mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
Ada_Prj_Include_File_Set): Removed, since not needed
Code clean up.
2009-07-13 Ed Schonberg <>
* sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
* sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
* exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
2009-07-13 Robert Dewar <>
* clean.adb: Minor reformattting
2009-07-13 Emmanuel Briot <>
* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
gnat_ugn.texi, prj.adb,, clean.adb, prj-nmsc.adb, prj-util.adb,
prj-conf.adb, gnatname.adb, prj-env.adb,, prj-tree.adb, (Prj.Tree.Create*): New subprograms to create new packages
and attributes in a project tree.
(Add_Default_GNAT_Naming_Scheme): Provide real implementation.
Remove last remaining mode-specific code (ada_only or
multi_language). This was duplicating code
(Get_Mode, Set_Mode): removed, no longer used.
(Initialize_Project_Path): all tools will now take into account both
Remove some global variables and subprograms no longer used
Make temporary files tree-specific, to avoid interferences between
trees loaded in memory at the same time.
(Prj.Delete_Temporary_File): new subprogram
(Object_Paths, Source_Paths): fields no longer stored in the project
tree, since they are only needed locally in Set_Ada_Paths.
(Set_Mapping_File_Initial_State_To_Empty): removed, since had no
effect in practice.
(Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
by local variables in the appropriate subprograms
(Has_Foreign_Sources): removed.
* gcc-interface/ prj-pp.o is now needed to build gnatmake
2009-07-13 Arnaud Charlet <>
* gnat1drv.adb (Adjust_Global_Switches): No longer set
Back_Annotate_Rep_Info in inspector mode.
(Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
* Update comment.
2009-07-13 Robert Dewar <>
* lib.adb, prj-nmsc.adb, prj-proc.adb,, prj.adb, Minor reformatting and code reorganization.
* par-ch3.adb (Check_Restricted_Expression): New procedure
2009-07-13 Ed Schonberg <>
* exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
attribute into a call of the corresponding suprogram, create extra
formals for the subprogram, because it may be a renaming whose
analysis does not create extra formals.
2009-07-13 Emmanuel Briot <>
* gnatcmd.adb, prj-proc.adb,, make.adb, prj-part.adb,
prj.adb,, clean.adb, prj-nmsc.adb,, prj-pars.adb,, prj-conf.adb,, prj-env.adb, prj-tree.adb, Minor reformatting.
(Processing_Flags): new record to encapsulate the set of common
parameters to several subprograms in the project manager.
(Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
Remove the need for the Current_Dir parameter in subprograms.
(Look_For_Sources): minor refactoring, now that we no longer need to
share subprograms between the two Ada_Only and Multi_Language modes
(Processing_Flags): New field Error_On_Unknown_Language.
Merge tests for library project between gnatmake and gprbuild.
2009-07-13 Arnaud Charlet <>
* lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
Minor reformatting.
2009-07-13 Emmanuel Briot <>
* prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
than units.
2009-07-13 Thomas Quinot <>
* sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
Write,Input,Output} from private view to full view.
* sem_type.adb, Minor reformatting
2009-07-13 Nicolas Setton <>
* Add documentation note on the utility of
DW_AT_GNAT_encoding for IDEs.
2009-07-13 Robert Dewar <>
* g-socthi-vxworks.adb: Minor reformatting
* gnatcmd.adb: Minor reformatting
2009-07-13 Thomas Quinot <>
*, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
removed, not used anymore.
New subprogram, implements copy of an Any value into a limited object.
Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
of parameters of a limited type, use the above new subprogram.
2009-07-13 Emmanuel Briot <>
* prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
(Copy_ALI_Files): Avoid calls to read when pointing outside of the
allocated space.
(Error_Report): Remove global variable, replaced by parameters.
2009-07-13 Thomas Quinot <>
* g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
standard sendto(2) interface for connected sockets (passing a null
destination address). Use send(2) instead for that case.
2009-07-13 Pascal Obry <>
* adaint.c: Fix __gnat_stat() with Win32 UNC paths.
2009-07-13 Emmanuel Briot <>
* prj-proc.adb,,, prj-nmsc.adb,,
prj-pars.adb, prj-conf.adb, Remove all remaining global
variables and tables in prj-nmsc.adb.
(Tree_Processing_Data): Renames Processing_Data, some new fields added
(Project_Processing_Data): New record
Simplify/unify check for missing sources.
2009-07-13 Emmanuel Briot <>
* gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
prj.adb,, clean.adb, prj-nmsc.adb,, prj-pars.adb,, prj-conf.adb,, prj-tree.adb, (Immediate_Directory_Of): Removed.
(Prj.Pars): Now parse the project simulating a default config file.
(Add_Default_GNAT_Naming_Scheme): New subprogram
(Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
Remove gnatmake-specific parsing of source files.
(Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
the error itself to provide more precise diagnostics.
(Process_Exceptions_Unit_Based): Avoid duplicate error message when
a unit belongs to several projects.
(Copy_Interface_Sources): Search the full path of files to copy in the
list of sources of the application rather than in the list of units.
(Parse_Project_And_Apply_Config): Do not reset the name of the main
project file.
(Check_File): Use htables to find out whether a source is duplicated.
(Add_Source): check whether the source or unit were already seen earlier
* gcc-interface/ Update gnatmake dependencies.
2009-07-13 Robert Dewar <>
* par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
expression if extensions permitted.
* par-ch4.adb (P_Membership_Test): New procedure (implement membership
set tests).
(P_Relation): Use P_Membership_Test
* par.adb (P_Membership_Test): New procedure (implement membership set
*, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
* sprint.adb (Sprint_Node): Handle set form for membership tests.
2009-07-13 Thomas Quinot <>
* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
Do not attempt to generate stubs for predefined primitives of
synchronized interfaces.
(Add_Stub_Type): Factor some code from the PCS-specific variants of
2009-07-13 Ed Schonberg <>
* sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
Controlling_Result flag from the operation they override.
2009-07-13 Arnaud Charlet <>
* gcc-interface/ Update dependencies
2009-07-13 Robert Dewar <>
* gnat_ugn.texi: The gnatf switch no longer is needed to get full
details on unsupported constructs.
* rtsfind.adb: Remove references to All_Errors_Mode, give errors
* s-trafor-default.adb: Correct some warnings
* s-valwch.adb, a-calend.adb, freeze.adb,, s-vmexta.adb,
sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
Minor reformatting.
* par-ch4.adb (Conditional_Expression): Capture proper location for
conditional expression, should point to IF.
* s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
reorganization (use conditional expressions).
2009-07-13 Ed Schonberg <>
* exp_util.adb (Remove_Side_Effects): If the expression is a call to a
build-in-place function that returns an inherently limited type (not
just a task type) create proper object declaration so that extra
build-in-place actuals are properly added to the call.
2009-07-13 Robert Dewar <>
* freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
* gnat_ugn.texi: Add documentation for -gnatw.m/.M
* (Warn_On_Suspicious_Modulus_Value): New flag
* sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
* ug_words: Add entries for -gnatw.m/-gnatw.M.
* usage.adb: Add lines for -gnatw.m/.M switches.
* Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
2009-07-13 Javier Miranda <>
* sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
reading the Is_Interface attribute of the dispatching type.
2009-07-13 Robert Dewar <>
* a-convec.adb: Minor code reorganization (use conditional expressions)
2009-07-13 Robert Dewar <>
* freeze.adb (Check_Suspicious_Modulus): New procedure.
2009-07-13 Robert Dewar <>
* Minor code fix (2**4 instead of 16 as modulus to avoid
* par-ch4.adb: Minor reformatting
2009-07-13 Ed Schonberg <>
* freeze.adb,, exp_aggr.adb: Rename Expand_Atomic_Aggregate
=> Is_Atomic_Aggregate
2009-07-13 Emmanuel Briot <>
* prj-nmsc.adb: Avoid traversing the list of source files if
we have already processed all locally removed files.
2009-07-13 Jose Ruiz <>
* gnat_ugn.texi: Fix typo.
2009-07-13 Robert Dewar <>
* freeze.adb: Minor reformatting
Minor code reorganization (use Nkind_In)
* exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
2009-07-11 Eric Botcazou <>
* checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
local variable and do not test it in Compile_Time_Bad_Alignment.
Do not issue size or alignment warnings for the X'Address form.
* (Find_Overlaid_Object): Delete.
(Find_Overlaid_Entity): New procedure.
* sem_util.adb (Find_Overlaid_Object): Rename to...
(Find_Overlaid_Entity): ...this and turn into a procedure. Report
whether the address is offseted within the overlaid entity.
(Has_Compatible_Alignment): Track the offset globally instead of
passing it to Check_Offset. For an indexed component, compute the
full offset when possible. If the resulting offset is zero, only
check the prefix.
(Check_Offset): Delete.
* sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
(Address_Aliased_Entity): Delete.
(Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
Find_Overlaid_Entity to find the overlaid entity and the offset.
Adjust throughout for above change.
(Validate_Address_Clauses): Always use attributes of entities, not of
their type. Tweak message for warning. Call Has_Compatible_Alignment
if the address is offseted to warn about incompatible alignments.
* gcc-interface/gigi.h (annotate_object): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
entity. Call annotate_object instead of annotating manually objects.
(annotate_object): New function.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
at the end.
2009-07-11 Eric Botcazou <>
* gcc-interface/ada-tree.h: Minor reorganization.
* gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
(gnat_print_type): Likewise.
2009-07-11 Thomas Quinot <>
* sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
Lvalue -> lvalue
* exp_ch6.adb: Minor reformatting
2009-07-11 Ed Schonberg <>
* freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
account possible type qualification to determine whether aggregate
needs a target temporary to respect atomic type or object.
* exp_aggr.adb (Expand_Record_Aggregate): Use new version of
2009-07-11 Emmanuel Briot <>
* prj.adb,, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
(Excluded_Sources_Htable): No longer a global table.
Change error message to indicate which files are illegal in the list
of excluded files, as opposed to only the location in the project
(Find_Source): New subprogram.
2009-07-10 Thomas Quinot <>
* exp_ch7.adb: Update comments.
2009-07-10 Arnaud Charlet <>
* exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
clause if -gnatI is set instead of crashing.
2009-07-10 Ed Schonberg <>
* sem_ch11.adb (Same_Expression): Null is always equal to itself.
Additional work to remove redundant successive raise statements, in
this case access checks.
2009-07-10 Vincent Celier <>
* make.adb (Compile): Always create a deep copy of the mapping file
argument (-gnatem=...) as it may be deallocate/reallocate by
2009-07-10 Javier Miranda <>
* einfo.adb (Directly_Designated_Type): Add assertion.
* sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
access types before using attribute Directly_Designated_Type.
2009-07-10 Emmanuel Briot <>
* Minor typo fix
2009-07-10 Ed Schonberg <>
* sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
special treatment.
* exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
subprogram is a function call, resolve properly, to ensure that extra
actuals are added as needed.
2009-07-10 Thomas Quinot <>
* sem_aggr.adb: Minor comments editing
* exp_tss.adb, exp_ch3.adb: Minor reformatting
2009-07-10 Robert Dewar <>
* exp_util.adb: Minor code reorganization (use N_Short_Circuit)
* exp_ch4.adb: Add ??? comment for conditional expressions on limited
* checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
case of conditional expressions that may not be elaborated.
* sem_util.adb (Safe_To_Capture_Value): Properly handle case of
conditional expression where we may not execute then then or else
2009-07-10 Arnaud Charlet <>
* (bool): New type.
2009-07-10 Robert Dewar <>
* (N_Short_Circuit): New definition
* sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
treepr.adb: Minor code reorganization (use N_Short_Circuit)
2009-07-10 Javier Miranda <>
* exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
non-tagged record types.
* sem_prag.adb
(Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
with non-tagged types. Required to import C++ classes that have no
virtual primitives.
(Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
returning non-tagged types. For backward compatibility, if the
constructor returns a class wide type we internally change the
returned type to the corresponding non class-wide type.
* sem_aggr.adb
(Valid_Ancestor_Type): CPP_Constructors code cleanup.
(Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
(Resolve_Aggr_Expr): CPP_Constructors code cleanup.
(Resolve_Record_Aggregate): CPP_Constructors code cleanup.
* sem_ch3.adb
(Analyze_Object_Declaration): CPP_Constructors code cleanup.
* sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
* sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
* sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
* exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
* exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
* gnat_rm.texi
(pragma CPP_Class): Document that it can be used now with non-tagged
record types.
(pragma CPP_Constructor): Document that it can be used now with
functions returning specific types. For backward compatibility
we also support functions returning class-wide types.
* gnat_ugn.texi
(Interfacing with C++ constructors): Update the examples to incorporate
the new syntax in which the functions used to import C++ constructors
return specific types.
(Interfacing with C++ at the Class Level): Update the examples to
incorporate the new syntax in which the functions used to import
C++ constructors return specific types.
2009-07-10 Thomas Quinot <>
* exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
Make_Disp_Timed_Select_Body): For the case of a type that is neither an
interface nor a concurrent type, the primitive body is empty. Generate
a null statement so that it remains well formed.
2009-07-10 Ed Schonberg <>
* exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
replace references to them in defaulted component expressions with
references to the values of the discriminants of the target object.
2009-07-10 Ed Schonberg <>
* sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
pragma, to capture global references if the context is generic.
* exp_ch2.adb (Expand_Discriminant): If a task type discriminant
appears within the initialization procedure for the corresponding
record, replace it with the proper discriminal.
2009-07-10 Vincent Celier <>
* make.adb: Do not include object directories or library ALI
directories of library projects in the object path.
2009-07-10 Javier Miranda <>
* exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
Typ argument to ensure proper management of access types.
2009-07-10 Ed Schonberg <>
* exp_ch7.adb (Build_Final_List): If the list is being built for a
Taft-Amendment type, place the finalization list in the package body,
to ensure that the tree for the spec is identical whenever it is
2009-07-10 Javier Miranda <>
* sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
inheriting attributes from a private Parent_Base.
2009-07-10 Ed Schonberg <>
* sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
statements with the same condition.
2009-07-10 Robert Dewar <>
* exp_ch4.adb (Raise_Accessibility_Error): New procedure
2009-07-09 Tom Tromey <>
* raise-gcc.c: Include dwarf2h (unconditionally).
2009-07-09 Ed Schonberg <>
* sem_ch10.adb (Install_Context): If the unit is a package body,
install the private with_clauses of the corresponding package
2009-07-09 Robert Dewar <>
* checks.adb: Minor reformatting
2009-07-09 Vasiliy Fofanov <>
* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
into ug_words.
2009-07-09 Thomas Quinot <>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
Do not warn for a constant overlaying any constant object
2009-07-09 Ed Schonberg <>
* sem_ch10.adb (Install_Context): If the unit is a package body,
install the private with_clauses of the corresponding package
2009-07-09 Robert Dewar <>
* checks.adb: Minor reformatting
2009-07-09 Vasiliy Fofanov <>
* ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
into ug_words.
2009-07-09 Thomas Quinot <>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
Do not warn for a constant overlaying any constant object
2009-07-09 Arnaud Charlet <>
* gcc-interface/ Update dependencies
2009-07-09 Thomas Quinot <>
* g-socket.adb (Check_Selector): Do not create local copies of the
socket sets on the stack.
2009-07-09 Vasiliy Fofanov <>
* gnat_ugn.texi: Add missing VMS translations.
2009-07-09 Ed Schonberg <>
* sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
condition, to prevent generation of visible code during expansion,
when Check is not enabled.
2009-07-09 Gary Dismukes <>
* checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
the check gets registered for any available local handler
* sem_util.adb: Add with and use of Exp_Ch11.