OSDN Git Service

pf3gnuchains/gcc-fork.git
13 years ago * Makefile.in: Remove handling of gnatbl.
charlet [Tue, 8 Apr 2008 06:58:58 +0000 (06:58 +0000)]
* Makefile.in: Remove handling of gnatbl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134067 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Jerome Lambourg <lambourg@adacore.com>
charlet [Tue, 8 Apr 2008 06:58:12 +0000 (06:58 +0000)]
2008-04-08  Jerome Lambourg  <lambourg@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
then use __gnat_set_exit_status to report the returned status code.

* comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
messages on .NET, since some constructs of the language are not
properly supported.

* gnatlink.adb (Gnatlink): In case the command line is too long for the
.NET linker, gnatlink now concatenate all .il files and pass this to
ilasm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134066 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Emmanuel Briot <briot@adacore.com>
charlet [Tue, 8 Apr 2008 06:58:02 +0000 (06:58 +0000)]
2008-04-08  Emmanuel Briot  <briot@adacore.com>

* g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
statement.
(Get_Configuration): New subprogram.

* prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
These optional parameters help preserve the casing of the project's name
when pretty-printing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134065 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 8 Apr 2008 06:57:48 +0000 (06:57 +0000)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* binde.adb (Gather_All_Links, Gather_Dependencies): units that are
mentioned in limited_with_clauses to do create semantic dependencies
even though they appear in the ali file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134064 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:57:39 +0000 (06:57 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>
    Bob Duff  <duff@adacore.com>

* impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp

* s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly

* g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly

* g-trasym.ads: Minor comment improvements

* s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly

* a-sequio.ads, a-direio.ads: improve message for tagged type

* a-strunb.ads: Minor reformatting

* a-tifiio.adb: Minor reformatting

* atree.adb (Fix_Parents): Use clearer names for formals
Cleanup and simplify code
Use named notation in calls

* exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
confusing calls

* uintp.adb: Used named notation for some confusing calls

* bindusg.adb: Minor change in one line of output

* cstand.adb: Minor reformatting of src representation of Standard

* a-assert.ads: Add comment.

* g-decstr.adb: Fix bad indentation

* expander.ads, expander.adb: Code clean up.

* sem_dist.ads, sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting

* i-cstrin.adb: Fix casing error in formal parameter name in call

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134063 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
charlet [Tue, 8 Apr 2008 06:57:27 +0000 (06:57 +0000)]
2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

* ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134062 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 8 Apr 2008 06:57:18 +0000 (06:57 +0000)]
2008-04-08  Thomas Quinot  <quinot@adacore.com>

* gen-soccon.c: Bump year in copyright notices.

* g-soccon-vxworks.ads: Add new constant IP_PKTINFO

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134061 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:57:10 +0000 (06:57 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
AAMP_On_Target is set.

* vms_data.ads: Add NOxxx to style check switch list
Add entry COMPONENTS for -gnatVe
Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
(/SUBDIRS=).
(GCC_Switches): Add /ALL_BACK_END_WARNINGS.
Add qualifiers for gnatmetric coupling options
Add note that -gnata enables all checks
Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
New warning flag -gnatw.e

* usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
Add entry for -gnatyN (forgotten before)
Line for new warning switch -gnatw.p
New warning flag -gnatw.e

* gnat_ugn.texi: Add documentation fpr project file switch -aP
Document -gnaty - + y
Replace occurences of "package specification" with "package spec"
Define preprocessing symbols in documentation of gnatprep
Clarify reason for distinguishing overflow checking
Add documentation for project-aware tool switches -eL and --subdirs=
Complete list of configuration pragmas
Specify that, even when gnatmake switch -x is used, mains on the command
line need to be sources of project files.
Editing of gnatcheck/gnatmetric doc.
Add documentation for -gnatw.p/-gnatw.P
Add missing documentation for -fno-inline-functions.
Add documentation for -gnatw.e

* gnat_rm.texi: Add documentation for No_Default_Initialization
Replace occurences of "package specification" with "package spec"
Document use of * in Warnings Off string
Update documentation of alignment/component clauses.
Add documentation for Invalid_Value
Document new consistency rule for Optimize_Alignment
Add documentation for Precondition and Postcondition pragmas
Add documentation for Check and Check_Policy pragmas
Document new Enum_Val attribute
Remove requirement for static string in pragma Assert
Add documentation on GNAT.Time_Stamp

* ug_words: add entry for -gnatVe
Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
Add entry for -gnatw.e

* debug.adb: Add missing documentation for d.a flag
Document new -gnatd.a switch.
Add documentation for new gnatmake debug switch -df

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134060 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:56:58 +0000 (06:56 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>

* a-direct.adb (Start_Search): Check for Name_Error before checking for
Use_Error, as specified in the RM. Check if directory is open and raise
Use_Error if it is not.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134059 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Tristan Gingold <gingold@adacore.com>
charlet [Tue, 8 Apr 2008 06:56:49 +0000 (06:56 +0000)]
2008-04-08  Tristan Gingold  <gingold@adacore.com>

* vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
Improve error message generation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134058 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Bob Duff <duff@adacore.com>
charlet [Tue, 8 Apr 2008 06:56:36 +0000 (06:56 +0000)]
2008-04-08  Bob Duff  <duff@adacore.com>

* types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134057 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Sergey Rybin <rybin@adacore.com>
charlet [Tue, 8 Apr 2008 06:56:27 +0000 (06:56 +0000)]
2008-04-08  Sergey Rybin  <rybin@adacore.com>

* tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
to the set of the GNAT components needed by ASIS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134056 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:56:20 +0000 (06:56 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* stylesw.adb: Implement -gnaty + - y options
(Set_GNAT_Style_Check_Options): Includ I in style check string

* stylesw.ads: Add comments for new style switch options

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134055 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:56:09 +0000 (06:56 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* styleg.adb (Check_Comment): Allow special char after -- in
non-end-of-line case

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134054 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:55:57 +0000 (06:55 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* stringt.adb (Write_String_Table_Entry): Handle wide characters
properly

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134053 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 8 Apr 2008 06:55:45 +0000 (06:55 +0000)]
2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

* s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
subprogram.
Add new subtype S_WWC, unchecked conversion routines From_WWC and
To_WWC.
(I_WWC, O_WWC): New routines for input and output of
Wide_Wide_Character.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134052 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 8 Apr 2008 06:55:36 +0000 (06:55 +0000)]
2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

* s-stoele.ads, s-soflin.ads: Move the location of
Dummy_Communication_Block from System.Storage_Elements to
System.Soft_Links.

* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
emulate Communication_Block in certain scenarios.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134051 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:55:17 +0000 (06:55 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
negative scale
(Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
Properly handle case where Aft > Scale and input number is less than
one.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134050 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 8 Apr 2008 06:55:06 +0000 (06:55 +0000)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
the ancestor part of an extension aggregate for a limited type.
(Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
enumeration index bounds.
(Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
when array is too short.
(Check_Expr_OK_In_Limited_Aggregate): Move function
Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
change name).
(Resolve_Array_Aggregate.Resolve_Aggr_Expr):
Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
component associations.
(Check_Non_Limited_Type): Moved to outer level and renamed.
(Resolve_Record_Aggregate): In an extension aggregate, an association
with a box initialization can only designate a component of the
extension, not a component inherited from the given ancestor

* sem_case.adb: Use new Is_Standard_Character_Type predicate

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134049 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Javier Miranda <miranda@adacore.com>
charlet [Tue, 8 Apr 2008 06:54:53 +0000 (06:54 +0000)]
2008-04-08  Javier Miranda  <miranda@adacore.com>

* sem.adb (Analyze): Consider case in which we analyze an empty node
that was generated by a call to a runtime function that is not
available under the configurable runtime.

* sem.ads (Inside_Freezing_Actions): New flag.
(Save_Check_Policy_List): New field in scope stack entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134048 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:54:43 +0000 (06:54 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* scng.adb (Scan_Identifier): Handle case of identifier starting with
wide character using UTF-8 encoding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134047 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:54:31 +0000 (06:54 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>

* prj-util.adb (Executable_Of): New String parameter Language. When
Ada_Main is False and Language is not empty, attempt to remove the body
suffix or the spec suffix of the language to get the base of the
executable file name.
(Put): New Boolean parameter Lower_Case, defauilted to False. When
Lower_Case is True, put the value in lower case in the name list.
(Executable_Of): If there is no executable suffix in the configuration,
then do not modify Executable_Extension_On_Target.

* prj-util.ads (Executable_Of): New String parameter Language,
defaulted to the empty string.
(Put): New Boolean parameter Lower_Case, defauilted to False

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134046 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 8 Apr 2008 06:54:13 +0000 (06:54 +0000)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
in a type declaration, if this is not an interface declaration or
private type extension.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134045 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:54:03 +0000 (06:54 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* par-ch11.adb (P_Exception_Handler): Check indentation level for
handler

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134044 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Jose Ruiz <ruiz@adacore.com>
charlet [Tue, 8 Apr 2008 06:53:51 +0000 (06:53 +0000)]
2008-04-08  Jose Ruiz  <ruiz@adacore.com>

* osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
documentation.
Update comments.
(Read_Default_Search_Dirs): Do not consider spaces as path separators
because spaces may be part of legal paths.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134043 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 8 Apr 2008 06:53:42 +0000 (06:53 +0000)]
2008-04-08  Thomas Quinot  <quinot@adacore.com>

* nlists.adb (Is_Non_Empty_List): Remove redundant test. First
(No_List) is defined to return Empty.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134042 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:53:22 +0000 (06:53 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>

* mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
case to decide if ALI object file is included in library.
(Build_Library): Never attempt to build a library if the project is
externally built.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134041 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Make-lang.in: Disable warnings during first stage of bootstrap
charlet [Tue, 8 Apr 2008 06:53:10 +0000 (06:53 +0000)]
* Make-lang.in: Disable warnings during first stage of bootstrap
Get rid of gnatbl.
Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134040 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:52:51 +0000 (06:52 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* make.adb: (Gnatmake_Called): Remove, no longer necessary
(Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
(Insert_Project_Sources): Take into account index in multi-unit source
files.
After building a library project, delete all temporary files.
(Initialize): Reset current output after parsing project file.
(Collect_Arguments_And_Compile): Never insert in the queue the sources
of library projects that are externally built.
Put file name in error and inform messages if -df is used
(Display): If invoked with -d7, do not display path names, but only
file names.

* makeutl.ads (Path_Or_File_Name): New function
(Path_Or_File_Name): New function

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134039 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 8 Apr 2008 06:52:41 +0000 (06:52 +0000)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* lib-xref.adb (Is_On_LHS): Remove dead code
(Output_Overriden_Op): If the overridden operation is itself inherited,
list the ancestor operation, which is the one whose body or absstract
specification is actually being overridden.

* sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
operation is primitive for the type.
(Declare_Inherited_Private_Subprograms): If the new operation overrides
an inherited private subprogram, set properly the Overridden_Operation
attribute, for better cross-reference information.
(Analyze_Package_Specification): Do late analysis of spec PPCs
(Install_Private_Declaration, Uninstall_Declarations): Save/restore
properly the full view and underlying full views of a private type in a
child unit, whose full view is derived from a private type in a parent
unit, and whose own full view becomes visible in the child body.

* sem_disp.adb (Check_Dispatching_Operation): When a body declares a
primitive operation after the type has been frozen, add an explicit
reference to the type and the operation, because other primitive
references have been emitted already.
(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
dispatching call on VM targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134038 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:52:20 +0000 (06:52 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
the declaration for some different entity.
(Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
list is precent (following the parent subtype indication), display
appropriate "and" keyword.

* itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
Remove unnecessary calls to Init_Size_Align and Init_Esize.
Add notes on use of Parent field of an Itype

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134037 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 8 Apr 2008 06:52:09 +0000 (06:52 +0000)]
2008-04-08  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
add a pointer to generic sockets literature
do not mention that the given example is "typical" usage.
Remove obsolete comment about multicast not being supported on Windows.
(Connect_Socket): Make Server mode IN rather than IN OUT
since this formal is never modified.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134036 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:51:54 +0000 (06:51 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* gnatbind.adb (Restriction_Could_Be_Set): New procedure
(List_Applicable_Restrictions): Do not list existing restrictions

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134035 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:51:42 +0000 (06:51 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>

* gnat1drv.adb: Send all messages indicating an error to standard error

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134034 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:51:27 +0000 (06:51 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Entity): Improve warnings on access types in pure
units.
(Size_Known): Generic formal scalar types have known at compile
time size, so remove check.
Fix casing error in formal parameter name in call
(Freeze_Subprogram): If the subprogram is a user-defined operator,
recheck its overriding indication.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134033 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 8 Apr 2008 06:51:16 +0000 (06:51 +0000)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
an Input function for an access type, do not perform default
initialization on the local variable that receives the value, to
prevent spurious warnings when the type is null-excluding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134032 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 8 Apr 2008 06:51:05 +0000 (06:51 +0000)]
2008-04-08  Thomas Quinot  <quinot@adacore.com>

* exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
in call
(Add_RACW_Features): When processing an RACW in another unit than the
main unit, set Body_Decls to No_List to indicate that the bodies of
the type's TSS must not be generated.
(GARLIC_Support.Add_RACW_Read_Attribute,
GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
Body_Decls is No_List.
(PolyORB_Support.Add_RACW_Read_Attribute,
PolyORB_Support.Add_RACW_Write_Attribute,
PolyORB_Support.Add_RACW_From_Any,
PolyORB_Support.Add_RACW_To_Any,
PolyORB_Support.Add_RACW_TypeCode): Same.
(Transmit_As_Unconstrained): New function.
(Build_Ordered_Parameters_List): Use the above to order parameters.
(GARLIC_Support.Build_General_Calling_Stubs):
Use the above to determine which parameters to unmarshall using 'Input
at the point where their temporary is declared (as opposed to later on
with a 'Read call).
(PolyORB_Support.Build_General_Calling_Stubs):
Use the above to determine which parameters to unmarshall using From_Any
at the point where their temporary is declared (as opposed to later on
with an assignment).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134031 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 8 Apr 2008 06:50:51 +0000 (06:50 +0000)]
2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
Build_Unprotected_Subprogram_Body): Generate debug info for
declarations related to the handling of private data in task and
protected types.
(Debug_Private_Data_Declarations): New subprogram.
(Install_Private_Data_Declarations): Remove all debug info flagging.
This is now done by Debug_Private_Data_Declarations at the correct
stage of expansion.
(Build_Simple_Entry_Call): If the task name is a function call, expand
the prefix into an object declaration, and make the surrounding block a
task master.
(Build_Master_Entity): An internal block is a master if it wraps a call.
Code reformatting, update comments. Code clean up.
(Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
(Replicate_Entry_Formals): If the formal is an access parameter or
anonymous access to subprogram, copy the original tree to create new
entities for the formals of the subprogram.
(Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
for tasks to store the value passed using pragma Relative_Deadline.
(Make_Task_Create_Call): Add the Relative_Deadline argument to the
run-time call to create a task.
(Build_Wrapper_Spec): If the controlling argument of the interface
operation is an access parameter with a non-null indicator, use the
non-null indicator on the wrapper.

* sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
present, which it may not be in the case where the type entity is an
incomplete view brought in by a limited with.
(Analyze_Task_Type): Only retrieve the full view when present, which it
may not be in the case where the type entity is an incomplete view
brought in by a limited with.
(Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
private components of a protected type, to prevent the generation of
freeze nodes for which there is no proper scope of elaboration.

* exp_util.ads, exp_util.adb (Remove_Side_Effects): If the expression is
a function call that returns a task, expand into a declaration to invoke
the build_in_place machinery.
(Find_Protection_Object): New routine.
(Remove_Side_Effects): Also make a copy of the value
for attributes whose result is of an elementary type.
(Silly_Boolean_Array_Not_Test): New procedure
(Silly_Boolean_Array_Xor_Test): New procedure
(Is_Volatile_Reference): New function
(Remove_Side_Effects): Use Is_Volatile_Reference
(Possible_Bit_Aligned_Component): Handle slice case properly

* exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
case test to Exp_Util
(Expand_Packed_Xor): Move silly true/true case test to Exp_Util

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134030 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Gary Dismukes <dismukes@adacore.com>
charlet [Tue, 8 Apr 2008 06:50:34 +0000 (06:50 +0000)]
2008-04-08  Gary Dismukes  <dismukes@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb (Find_Final_List): Change the test for generating a
selected component from an access type's Associated_Final_Chain to
check for the presence of that field, rather than assuming it exists
for all named access types.
(Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
procedure to call at the end of the generated cleanup procedure.
(Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
and an At_End_Proc already exists in the handled sequence of statements
for which cleanup actions are being expanded, the original cleanup
action must be preserved.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134029 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:50:21 +0000 (06:50 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* s-rident.ads: Add No_Default_Initialization restriction

* exp_tss.adb:
(Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
(Set_TSS): Handle No_Default_Initialization case

* exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
No_Default_Initialization
(Expand_N_Subprogram_Body): Remove redundant initialization of out
parameters when Normalize_Scalars is active.
(Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
Fix casing error in formal parameter name in call
(Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
(Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
dispatching call on VM targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134028 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 8 Apr 2008 06:50:04 +0000 (06:50 +0000)]
2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* exp_ch2.adb: Minor reformatting.
(Expand_Entry_Index_Parameter): Set the type of the identifier.
(Expand_Entry_Reference): Add call to Expand_Protected_Component.
(Expand_Protected_Component): New routine.
(Expand_Protected_Private): Removed.
Add Sure parameter to Note_Possible_Modification calls

* sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
generated subprogram declaration must inherit the overriding indicator
from the instantiation node.
(Validate_Access_Type_Instance): If the designated type of the actual is
a limited view, use the available view in all cases, not only if the
type is an incomplete type.
(Instantiate_Object):  Actual is illegal if the formal is null-excluding
and the actual subtype does not exclude null.
(Process_Default): Handle properly abstract formal subprograms.
(Check_Formal_Package_Instance): Handle properly defaulted formal
subprograms in a partially parameterized formal package.
Add Sure parameter to Note_Possible_Modification calls
(Validate_Derived_Type_Instance): if the formal is non-limited, the
actual cannot be limited.
(Collect_Previous_Instances): Generate instance bodies for subprograms
as well.

* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
try to set RM_Size.
Add Sure parameter to Note_Possible_Modification calls
(Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
(Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
constant overlaid by variable and issue warning.
Use new Is_Standard_Character_Type predicate
(Analyze_Record_Representation_Clause): Check that the specified
Last_Bit is not less than First_Bit - 1.
(Analyze_Attribute_Definition_Clause, case Address): Check for
self-referential address clause

* sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
detection mechanism when the lhs is a prival.
(Analyze_Assignment): Call Check_Unprotected_Access to detect
assignment of a pointer to protected data, to an object declared
outside of the protected object.
(Analyze_Loop_Statement): Check for unreachable code after loop
Add Sure parameter to Note_Possible_Modication calls
Protect analysis from previous syntax error such as a scope mismatch
or a missing begin.
(Analyze_Assignment_Statement): The assignment is illegal if the
left-hand is an interface.

* sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check violation of
restriction No_Implicit_Conditionals
Add Sure parameter to Note_Possible_Modication calls
Use new Is_Standard_Character_Type predicate
(Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
call as operator. Fixes problems (e.g. validity checking) which
come from the result looking as though it does not come from source).
(Resolve_Call): Check case of name in named parameter if style checks
are enabled.
(Resolve_Call): Exclude calls to Current_Task as entry formal defaults
from the checking that such calls should not occur from an entry body.
(Resolve_Call): If the return type of an Inline_Always function
requires the secondary stack, create a transient scope for the call
if the body of the function is not available for inlining.
(Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
that are actuals for in-out formals.
(Try_Object_Operation): If prefix is a tagged protected object,retrieve
primitive operations from base type.
(Analyze_Selected_Component): If the context is a call to a protected
operation the parent may be an indexed component prior to expansion.
(Resolve_Actuals): If an actual is of a protected subtype, use its
base type to determine whether a conversion to the corresponding record
is needed.
(Resolve_Short_Circuit): Handle pragma Check

* sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
Use new Is_Standard_Character_Type predicate
(Eval_Relational_Op): Catch more cases of string comparison

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134027 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Gary Dismukes <dismukes@adacore.com>
charlet [Tue, 8 Apr 2008 06:49:47 +0000 (06:49 +0000)]
2008-04-08  Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Robert Dewar  <dewar@adacore.com>

* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
Has_Stream_Attribute_ Definition when checking for available stream
attributes on parameters of a limited type in Ada 2005. Necessary for
proper recognition of visible stream attribute clauses.
(Has_Stream_Attribute_Definition): If the type is derived from a
private type, then use the derived type's underlying type for checking
whether it has stream attributes.
(Validate_Object_Declaration): The check for a user-defined Initialize
procedure applies also to types with controlled components or a
controlled ancestor.
Reject an object declaration in a preelaborated unit if the type is a
controlled type with an overriding Initialize procedure.
(Validate_Remote_Access_To_Class_Wide_Type): Return without further
checking when the parent of a dereference is a selected component and
the name has not been analyzed.

* sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
prefixes that are invalid explicit dereferences of remote
access-to-class-wide values, first checking whether the selected
component is a prefixed form of call to a tagged operation.
(Analyze_Call): Remove code that issues an error for limited function
calls in illegal contexts, as we now support all of the contexts that
were forbidden here.
Allow a function call that returns a task.and appears as the
prefix of a selected component.
(Analyze_Reference): Give error message if we try to make a 'Reference
for an object that is atomic/aliased without its type having the
corresponding attribute.
(Analyze_Call): Remove condition checking for attributes to allow
calls to functions with inherently limited results as prefixes of
attributes. Remove related comment about Class attributes.
(Analyze_Selected_Component): If the prefix is a remote type, check
whether this is a prefixed call before reporting an error.
(Complete_Object_Operation): If the controlling formal is an access to
variable reject an actual that is a constant or an access to one.
(Try_Object_Operation): If prefix is a tagged protected object,retrieve
primitive operations from base type.

* exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
build-in-place
function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
(Expand_N_Selected_Component): Test for prefix that is a build-in-place
function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
(Expand_N_Slice): Test for prefix that is a build-in-place function call
and call Make_Build_In_Place_Call_In_Anonymous_Context.
(Analyze_Call): Remove code that issues an error for limited function
calls in illegal contexts, as we now support all of the contexts that
were forbidden here.
New calling sequence for Get_Simple_Init_Val
(Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
(Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134026 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 8 Apr 2008 06:49:26 +0000 (06:49 +0000)]
2008-04-08  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
whether an array aggregate with static bounds and scalar components
should be expanded into a static constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134025 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:49:13 +0000 (06:49 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* errout.ads: Update comments for new handling of info: messages

* erroutc.adb (Matches): New procedure
(Warning_Specifically_Suppressed): Modified to handle multiple * chars
(Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
 info messages as well as style messages.

* erroutc.ads: Remove unneeded fields from Specific_Warning_Entry

* sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
subprograms.
(Check_A_Call): Special "info: " warnings now have ? in the text
(Elab_Warning): Use info message in static case

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134024 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:48:54 +0000 (06:48 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>

* clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
(Usage): Add line for switch --subdirs=
Add new switch -eL, to follow symbolic links when processing project
files.

* gnatcmd.adb: Process switches -eL and --subdirs=
(Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
Program_Name to get proper tool names when AAMP_On_Target is set.
(Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
Osint.Program_Name).

* gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
(Usage): Add lines for switches -eL and --subdirs=

* makeusg.adb: Add line for switch --subdirs=

* prj.ads:
(Source_Data): New Boolean component Compiled, defaulted to True
(Empty_File_Name: New global variable in private part, initialized in
procedure Initialize.
(Subdirs_Option): New constant string
(Subdirs): New String_Ptr global variable
(Language_Config): New component Include_Compatible_Languages
(Project_Qualifier): New type for project qualifiers
(Project_Data): New component Qualifier
(Project_Configuration): New component Archive_Builder_Append_Option

* prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
another imported project indicate the name of this imported project.
(Check_File): When a unit is in two project files, indicate the project
names and the paths of the source files for each project.
(Add_Source): Set Compiled to False if compiler driver is empty. Only
set object, dependency and switches file names if Compiled is True.
(Process_Compiler): Allow the empty string for value of attribute Driver
(Get_Directories): When Subdirs is not null and Object_Dir is not
 specified, locate and create if necessary the actual object dir.
(Locate_Directory): When Subdirs is not empty and Create is not the
empty string, locate and create if necessary the actual directory
as a subdirectory of directory Name.
(Check_Library_Attributes.Check_Library): Allow a project where the only
"sources" are header files of file based languages to be imported by
library projects, in multi-language mode (gprbuild).
(Check_Library_Attributes.Check_Library): In multi-language mode
(gprbuild), allow a library project to import a project with no
sources, even when this is not declared explicitly.
(Check_If_Externally_Built): A virtual project extending an externally
built project is also externally built.
(Check_Library_Attributes): For a virtual project extending a library
project, inherit the library directory.
(Process_Project_Level_Array_Attributes): Process new attribute
Inherit_Source_Path.
For projects with specified qualifiers "standard", "library" or
"abstract", check that the project conforms to the qualifier.
(Process_Project_Level_Simple_Attributes): Process new attribute
 Archive_Builder_Append_Option.

* switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
(Normalize_Compiler_Switches): Only keep compiler switches that are
passed to gnat1 by the gcc driver and that are stored in the ALI file
by gnat1.
Do not take into account switc -save-temps

* makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
gprmake is called with -eL.
(Scan_Arg): Recognize switch -eL
(Usage): Add line for switch -eL

* prj.adb (Initialize): Initialize Empty_File_Name
(Project_Empty): New component Qualifier

* prj-attr.ads, prj-attr.adb: New project level attribute
Inherit_Source_Path.
New project level attribute Archive_Builder_Append_Option

* prj-dect.adb: Replace System.Strings by GNAT.Strings.

* prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
<prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
upward compatibility.

* prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
each Trying ..." on different lines.
(Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
is "configuration" when not in configuration. Fail when in configuration
when a specified qualifier is other than "configuration".

* prj-proc.adb (Process_Declarative_Items): Link new elements of copied
full associative array together.
(Recursive_Process): Put the project qualifier in the project data

* prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
(Set_Project_Qualifier_Of): New procedure

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134023 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:48:30 +0000 (06:48 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* back_end.adb: Remove Big_String_Ptr declarations (now in Types)

* errout.adb: Remove Big_String_Ptr declarations (now in Types)
Change name Is_Style_Msg to Is_Style_Or_Info_Msg

* fmap.adb: Remove Big_String declarations (now in Types)
(No_Mapping_File): New Boolean global variable
(Initialize): When mapping file cannot be read, set No_Mapping_File to
False.
(Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
tables were empty before adding entries, open the mapping file
with Truncate = True, instead of delete/re-create.

* fname-sf.adb: Remove Big_String declarations (now in Types)

* s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
        s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for big
pointer types

* table.ads: Add for Table_Ptr'Storage_Size use 0

* types.ads: Add Big_String declarations
Add Size_Clause of zero for big pointer types

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134022 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:48:07 +0000 (06:48 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
computing Fore when Exp > 0

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134021 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Javier Miranda <miranda@adacore.com>
charlet [Tue, 8 Apr 2008 06:47:55 +0000 (06:47 +0000)]
2008-04-08  Javier Miranda  <miranda@adacore.com>
    Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* a-tags.adb (Register_Interface_Offset): New subprogram.
(Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
(To_Predef_Prims_Table_Ptr): Removed.
(Acc_Size): Removed.
(To_Acc_Size): Removed.
(Parent_Size): Modified to the call the subprogram returning the size of
the parent by means of the new TSD component Size_Func.

* a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
(DT_Offset_To_Top_Offset): New constant value that is used to generate
code referencing the Offset_To_Top component of the dispatch table's
prologue.
(Prim_Ptr): New declaration of access to procedure. Used to avoid the
use of 'address to initialize dispatch table slots.
(Size_Func): New component of the TSD. Used by the run-time to call the
size primitive of the tagged type.

* checks.adb (Apply_Access_Check): Avoid check when accessing the
Offset_To_Top component of a dispatch table.
(Null_Exclusion_Static_Checks): If the non-null access type appears in a
deferred constant declaration. do not add a null expression, to prevent
spurious errors when full declaration is analyzed.
(Apply_Discriminant_Check): If both discriminant constraints share a
node which is not static but has no side effects, do not generate a
check for that discriminant.
(Generate_Index_Checks): Set Name_Req to true in call to duplicate
subexpr, since the prefix of an attribute is a name.

* checks.ads: Fix nit in comment.

* exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
and body of predefined primitives in case of CPP tagged type
derivations.
(Freeze_Type): Deal properly with no storage pool case
(Make_Predefined_Primitive_Specs): Generate specification of abstract
primitive Deep_Adjust if a nonlimited interface is derived from a
limited interface.
(Build_Dcheck_Functions): Create discriminant-checking functions only
for variants that have some component(s).
(Build_Slice_Assignment): In expanded code for slice assignment, handle
properly the case where the slice bounds extend to the last value of the
underlying representation.
(Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
(Is_Variable_Size_Record): An array component has a static size if
index bounds are enumeration literals.

* exp_disp.adb (Make_DT): Use the first subtype to determine whether
an external tag has been specified for the type.
(Building_Static_DT): Add missing support for private types.
(Make_DT): Add declaration of Parent_Typ to ensure consistent access
to the entity associated with the parent of Typ. This is done to
avoid wrong access when the parent is a private type.
(Expand_Interface_Conversion): Improve error message when the
configurable runtime has no support for dynamic interface conversion.
(Expand_Interface_Thunk): Add missing support to interface types in
configurable runtime.
(Expand_Dispatching_Call): remove obsolete code.
(Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
ensure that all subtypes and aggregates associated with dispatch
tables have the attribute Is_Dispatch_Table_Entity set to true.
(Register_Primitive): Rename one variable to improve code reading.
Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
of the pointer to the 'size primitive in the TSD.

* rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
(RE_Offset_To_Top_Ptr): New entity.
(RE_Register_Interface_Offset): New entity.
(RE_Set_Dynamic_Offset_To_Top): New entity.
(RE_Set_Offset_To_Top): Removed entity.
(RE_Prim_Ptr): New entity
(RE_Size_Func): New entity
(RE_Size_Ptr): New entity
(RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
(Ada_Dispatching_Child): Define this new subrange.
(RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
 RE_Time_Span, and RE_Time_Span_Zero).
(RE_Unit_Table): Add new required run-time calls

* rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
children.

* exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
(Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
 initializes the Offset_To_Top component of a dispatch table.
(Build_Predef_Prims): Removed.
(Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
 its actual code.
(Build_Set_Size_Function): New subprogram.

* exp_ch13.adb: Do not generate storage variable for storage_size zero
(Expand): Handle setting/restoring flag Inside_Freezing_Actions

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134020 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:47:40 +0000 (06:47 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
Stream_Convert)

* sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
FOnly

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134019 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:47:27 +0000 (06:47 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>

* a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
(Raise_Exception): In accordance with AI-446, raise CE for Null_Id
(Raise_Exception_Always): Fix documentation accordingly

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134018 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 8 Apr 2008 06:46:56 +0000 (06:46 +0000)]
2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

* adaint.h, adaint.c (__gnat_current_time_string): New routine.

* g-timsta.adb, g-timsta.ads: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134017 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Olivier Hainque <hainque@adacore.com>
charlet [Tue, 8 Apr 2008 06:46:41 +0000 (06:46 +0000)]
2008-04-08  Olivier Hainque  <hainque@adacore.com>

* s-intman-vxworks.ads, s-intman-vxworks.adb
(Map_And_Raise_Exception): Remove. Was an import of only part of the
required services already implemented elsewhere.
(Notify_Exception): Delete body, import __gnat_error_handler instead.
(Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
argument passed to the handler, which we need for ZCX propagation
purposes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134016 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Jose Ruiz <ruiz@adacore.com>
charlet [Tue, 8 Apr 2008 06:46:28 +0000 (06:46 +0000)]
2008-04-08  Jose Ruiz  <ruiz@adacore.com>
    Tristan Gingold  <gingold@adacore.com>

* s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
(Install_Restricted_Handlers): New procedure
which is a simplified version of Install_Handlers that does not store
previously installed.

* s-interr-vxworks.adb: Fix ACATS cxc3001
On VxWorks interrupts can't be detached.
(Install_Restricted_Handlers): New procedure.

* s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134015 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 8 Apr 2008 06:46:17 +0000 (06:46 +0000)]
2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
System.OS_Primitives.
Change type of various constants, parameters and local variables from
Time to representation type OS_Time.
(To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
Remove the declaration of constant Mili_F from several routines. New
body for internal package Conversions_Operations.
(Time_Of): Add default parameters for several formals.

* a-caldel.adb: Minor reformatting

* a-calend.ads, a-calend.adb: New body for internal package
Conversions_Operations.
(Time_Of): Add default parameters for several formals.

* Makefile.rtl: Add a-ststop
Add Ada.Calendar.Conversions to the list of runtime files.
Add g-timsta

* a-calcon.adb, a-calcon.ads: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134014 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Tristan Gingold <gingold@adacore.com>
charlet [Tue, 8 Apr 2008 06:46:04 +0000 (06:46 +0000)]
2008-04-08  Tristan Gingold  <gingold@adacore.com>

PR ada/10768

* cuintp.c: Fix 16 bits issue for AVR.
On AVR, integer is 16 bits, so it can't be used to do math with
Base (=32768).
So use long_integer instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134013 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Tristan Gingold <gingold@adacore.com>
charlet [Tue, 8 Apr 2008 06:45:53 +0000 (06:45 +0000)]
2008-04-08  Tristan Gingold  <gingold@adacore.com>

* s-fileio.adb: Name_Error shouldn't be raised for a tempory file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134012 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:45:42 +0000 (06:45 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* fe.h: Remove global Optimize_Alignment flag, no longer used

* layout.adb: Test Optimize_Alignment flags rather than global switch

* lib.ads, lib.adb: New OA_Setting field in library record

* lib-load.adb: New OA_Setting field in library record

* lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
units mentioned in limited_with_ clauses in the ali file, with an
'Y' marker.
New Ox fields in U line

* opt.adb: New flag Optimize_Alignment_Local
(Check_Policy_List[_Config]): New flags

* opt.ads (Invalid_Value_Used): New flag
New switch Optimize_Alignment_Local
(Warn_On_Parameter_Order): New flag
(Check_Policy_List[_Config]): New flags

* ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
limited_with clauses.
New data structures for Optimize_Alignment

* bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
New procedure
(Check_Consistent_Optimize_Alignment): Rework for new structure
(Check_Consistent_Restrictions): Fix incorrect error message

sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
created class-wide type (to the Parent field of the specific type).
(Install_Siblings): Handle properly private_with_clauses on subprogram
bodies and on generic units.
(Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
illegal limited_with_clause that names a non-existent package.
(Check_Body_Required): Determine whether a unit named a limited_with
clause needs a body.
(Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
Capture Optimize_Alignment settings to set new OA_Setting field in
library record.
(Build_Limited_Views): Include task and protected type declarations.

* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
case of a possible constant redeclaration where the current object is
an entry index constant.
(Analyze_Object_Declaration): Generate an error in case of CPP
class-wide object initialization.
(Analyze_Object_Declaration): Add extra information on warnings for
declaration of unconstrained objects.
(Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
conflicts with the setting of Stored_Constraint in the case where the
access type entity has already been created as an E_Incomplete_Type due
to a limited with clause.
Use new Is_Standard_Character_Type predicate
(Analyze_Object_Declaration): Apply access_constant check only after
expression has been resolved, given that it may be overloaded with
several access types.
(Constant_Redeclaration): Additional legality checks for deferred
constant declarations tha involve anonymous access types and/or null
exclusion indicators.
(Analyze_Type_Declaration): Set Optimize_Alignment flags
(Analyze_Subtype_Declaration): Ditto
(Analyze_Object_Declaration): Ditto
(Analyze_Object_Declaration): Don't count tasks in generics
Change name In_Default_Expression      => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
(Process_Discriminants): Additional check for illegal use of default
expressions in access discriminant specifications in a type that is not
explicitly limited.
(Check_Abstract_Overriding): If an inherited function dispaches on an
access result, it must be overridden, even if the type is a null
extension.
(Derive_Subprogram): The formals of the derived subprogram have the
names and defaults of the parent subprogram, even if the type is
obtained from the actual subprogram.
(Derive_Subprogram): In the presence of interfaces, a formal of an
inherited operation has the derived type not only if it descends from
the type of the formal of the parent operation, but also if it
implements it. This is relevant for the renamings created for the
primitive operations of the actual for a formal derived type.
(Is_Progenitor): New predicate, to determine whether the type of a
formal in the parent operation must be replaced by the derived type.

* sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
predicate recursive to handle components that have a user-defined
Initialize procedure. Handle controlled derived types whose ancestor
has a user-defined Initialize procedured.
(Note_Possible_Modification): Add Sure parameter, generate warning if
sure modification of constant
Use new Is_Standard_Character_Type predicate
(Find_Parameter_Type): when determining whether a protected operation
implements an interface operation, retrieve the type of the formal from
the entity when the formal is an access parameter or an
anonymous-access-to-subprogram.
Move Copy_Parameter_List to sem_util, for use when building stubbed
subprogram bodies.
(Has_Access_Values): Tagged types now return False
(Within_HSS_Or_If): New procedure
(Set_Optimize_Alignment_Flags): New procedure
Change name In_Default_Expression      => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134011 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Robert Dewar <dewar@adacore.com>
charlet [Tue, 8 Apr 2008 06:45:25 +0000 (06:45 +0000)]
2008-04-08  Robert Dewar  <dewar@adacore.com>
    Bob Duff  <duff@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* alloc.ads: Add entries for Obsolescent_Warnings table

* einfo.ads, einfo.adb: Minor reformatting.
(Is_Discriminal): New subprogram.
(Is_Prival): New subprogram.
(Is_Protected_Component): New subprogram.
(Is_Protected_Private): Removed.
(Object_Ref, Set_Object_Ref): Removed.
(Prival, Set_Prival): Change assertion.
(Privals_Chain, Set_Privals_Chain): Removed.
(Prival_Link, Set_Prival_Link): New subprogram.
(Protected_Operation, Set_Protected_Operation): Removed.
(Protection_Object, Set_Protection_Object): New subprogram.
(Write_Field17_Name): Remove case for Object_Ref.
(Write_Field20_Name): Add case for Prival_Link.
(Write_Field22_Name): Remove case for Protected_Operation,
Privals_Chain.
Add case for Protection_Object.
(Can_Use_Internal_Rep): Make this into a [base type only] attribute,
so clients
(Overlays_Constant): New flag
(Is_Constant_Object): New predicate
(Is_Standard_Character_Type): New predicate
(Optimize_Alignment_Space): New flag
(Optimize_Alignment_Time): New flag
(Has_Postconditions): New flag
(Obsolescent_Warrning): Field removed
(Spec_PPC_List): New field
(Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
subprograms to get and set the relative deadline associated to a task.

* exp_attr.adb (May_Be_External_Call): Account for the case where the
Access attribute is part of a named parameter association.
(Expand_Access_To_Protected_Op): Test for the attribute occurring
within an init proc and use that directly as the scope rather than
traversing up to the protected operation's enclosing scope. Only apply
assertion on Is_Open_Scopes in the case the scope traversal is done.
For the init proc case use the address of the first formal (_init) as
the protected object reference.
Implement Invalid_Value attribute
(Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
contents of the dispatch table there is no need to duplicate the
itypes associated with record types (i.e. the implicit full view
of private types).
Implement Enum_Val attribute
(Expand_N_Attribute_Reference, case Old): Properly handle appearence
within _Postconditions procedure
(Expand_N_Attribute_Reference, case Result): Implement new attribute

* exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
a return statement calls a function that is not available in
configurable runtime.
(Analyze_If_Statement): don't optimize simple True/False cases in -O0
(Expand_Non_Function_Return): Generate call to _Postconditions proc
(Expand_Simple_Function_Return): Ditto

* frontend.adb: Add call to Sem_Aux.Initialize

* sem_aux.ads, sem_aux.adb: New file.

* par-prag.adb: Add entries for pragmas Precondition/Postcondition
Add new Pragma_Relative_Deadline.
Add support for pragmas Check and Check_Policy

* sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
(Check_Stream_Attribute): Add missing check (not allowed in CPP types)
(Analyze_Attribute): In case of attributes 'Alignment and 'size add
missing check because they are not allowed in CPP tagged types.
Add Sure parameter to Note_Possible_Modification calls
Add implementation of Invalid_Value attribute
Implement new attribute Has_Tagged_Values
Implement Enum_Val attribute
(Analyze_Attribute, case Range): Set Name_Req True for prefix of
generated attributes.
(Analyze_Attribute, case Result): If prefix of the attribute is
overloaded, it always resolves to the enclosing function.
(Analyze_Attribute, case Result): Properly deal with analysis when
Postconditions are not active.
(Resolve_Attribute, case Result): Properly deal with appearence during
preanalysis in spec.
Add processing for attribute Result

* sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
for operators.
(Analyze_Subprogram_Body): Install private_with_clauses when the body
acts as a spec.
(Check_Inline_Pragma): recognize an inline pragma that appears within
the subprogram body to which it applies.
(Analyze_Function_Return): Check that type of the expression of a return
statement in a function with a class-wide result is not declared at a
deeper level than the function.
(Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
(Verify_Overriding_Indicator): Handle properly subprogram bodies for
user- defined operators.
(Install_Formals): Moved to spec to allow use from Sem_Prag for
analysis of precondition/postcondition pragmas.
(Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
Last_Formal, along with lots of comments on what this is about
(Analyze_Subprogram_Body): Fix case where we move entities from the
spec to the body when there are no body entities (now possible with
precondition and postcondition pragmas).
(Process_PPCs): New procedure
(Analyze_Subprogram_Body): Add call to Process_PPCs

* sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
clause.
(Pop_Scope): Restore Check_Policy_List on scope exit
(Push_Scope): Save Check_Policy_List on scope entry
Change name In_Default_Expression      => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
(Analyze_Object_Renaming): Allow 'Reference as object
(Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
(Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
of restriction identifier.
Add Sure parameter to Note_Possible_Modication calls

* sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
Don't check for primitive operations when calling Rep_Item_Too_Late.
(Process_Import_Or_Interface): Do not place flag on formal
subprograms.
(Analyze_Pragma, case Export): If the entity is a deferred constant,
propagate information to full view, which is the one elaborated by the
back-end.
(Make_Inline): the pragma is effective if it applies to an internally
generated subprogram declaration for a body that carries the pragma.
(Analyze_Pragma, case Optimize_Alignment): Set new flag
Optimize_Alignment_Local.
(Analyze_PPC_In_Decl_Part): New procedure
(Get_Pragma_Arg): Moved to outer level
(Check_Precondition_Postcondition): Change to allow new visibility
rules for package spec
(Analyze_Pragma, case Check_Policy): Change placement rules to be
same as pragma Suppress/Unsuppress.
Change name In_Default_Expression      => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
(Check_Precondition_Postcondition): Do proper visibility preanalysis
for the case of these pragmas appearing in the spec.
(Check_Enabled): New function
(Initialize): New procedure
(Tree_Read): New procedure
(Tree_Write): New procedure
(Check_Precondition_Postcondition): New procedure
Implement pragmas Check and Check_Policy
Merge Assert processing with Check

* sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
New warning flag -gnatw.e

* sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
returning whether a task (or main procedure) has a pragma
Relative_Deadline.
(Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
(or main procedure) has a pragma Relative_Deadline.
Add Next_Pragma field to N_Pragma node
(PPC_Enabled): New flag
(Next_Pragma): Now used for Pre/Postcondition processing

* snames.h, snames.ads, snames.adb: New standard name
Inherit_Source_Path
Add entry for 'Invalid_Value attribute
Add entry for new attribute Has_Tagged_Values
Add entry for Enum_Val attribute
Add new standard names Aggregate, Configuration and Library.
Add _Postconditions
Add _Result
Add Pragma_Precondition
Add Pragma_Postcondition
Add Attribute_Result
New standard name Archive_Builder_Append_Option
(Preset_Names): Add _relative_deadline and relative_deadline definitions
There was also a missing non_preemptive_within_priorities.
(Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
Relative_Deadline.
Add support for pragmas Check and Check_Policy

* tree_gen.adb: Call Sem_Aux.Tree_Write

* tree_in.adb: Call Sem_Aux.Tree_Read

* exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
sequence

* exp_intr.adb (Expand_Source_Info): New Build_Location calling
sequence

* exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
(Expand_N_Pragma): Call the appropriate procedure for expanding pragma
Relative_Deadline.
(Expand_Pragma_Check): New procedure

* sinput.ads, sinput.adb (Build_Location_String): Now appends to name
buffer.

* sinfo.adb (PPC_Enabled): New flag

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134010 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Arnaud Charlet <charlet@adacore.com>
charlet [Tue, 8 Apr 2008 06:44:51 +0000 (06:44 +0000)]
2008-04-08  Arnaud Charlet  <charlet@adacore.com>
    Matthew Heaney  <heaney@adacore.com>

* a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
renaming.

* a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
to convention for non-RM specs.
Add descriptive header, and documented each operation
document each operation

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134009 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 8 Apr 2008 06:44:39 +0000 (06:44 +0000)]
2008-04-08  Thomas Quinot  <quinot@adacore.com>

* g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
ASCII.NUL throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134008 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Vincent Celier <celier@adacore.com>
charlet [Tue, 8 Apr 2008 06:44:24 +0000 (06:44 +0000)]
2008-04-08  Vincent Celier  <celier@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...

* mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
mlib-tgt-specific-mingw.adb: New names.

* Makefile.in:
On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
Get rid of gnatbl.
(EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
Minor updates for VMS

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134007 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Pascal Obry <obry@adacore.com>
charlet [Tue, 8 Apr 2008 06:44:11 +0000 (06:44 +0000)]
2008-04-08  Pascal Obry  <obry@adacore.com>

* a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
Use new s-win32.ads unit instead of declaration
from s-osinte-mingw.ads.

* s-osinte-mingw.ads:
Move all non tasking based interface to s-win32.ads.

* s-osprim-mingw.adb:
Remove duplicated declarations and use s-win32.ads
unit instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134006 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * s-osinte-vxworks6.ads: Removed, merged with s-osinte-vxworks.ads/.adb
charlet [Tue, 8 Apr 2008 06:43:49 +0000 (06:43 +0000)]
* s-osinte-vxworks6.ads: Removed, merged with s-osinte-vxworks.ads/.adb
* s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
s-vxwext-rtp.adb: New files.

* s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
Minor updates to accomodate changes above.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134005 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Eric Botcazou <ebotcazou@adacore.com>
charlet [Tue, 8 Apr 2008 06:43:15 +0000 (06:43 +0000)]
2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.

s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.

* s-osinte-lynxos-3.ads,
(Alternate_Stack): Remove when not needed. Simplify declaration
otherwise.
(Alternate_Stack_Size): New constant.

s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
'Unrestricted_Access.

* s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
s-osinte-solaris.ads, s-osinte-vms.ads
(SA_ONSTACK): New constant.
(stack_t): New record type.
(sigaltstack): New imported function.
(Alternate_Stack): New imported variable.
(Alternate_Stack_Size): New constant.

* system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.

* s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
s-taspri-hpux-dce.ads (Task_Address): New subtype of System.Address
(Task_Address_Size): New constant size of System.Address
(Alternate_Stack_Size): New constant.

* s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
(Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
Establish the alternate stack if the platform makes use of n alternate
signal stack for stack overflows.
(Create_Task): Take into account the alternate stack in the stack size.
(Initialize): Save the address of the alternate stack into the ATCB for
the environment task.
(Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).

* s-parame.adb (Minimum_Stack_Size): Increase value to 16K to

* system-linux-x86.ads: (Stack_Check_Probes): Set to True.

* s-intman-posix.adb:
(Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
alternate signal stack for stack overflows.

* init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
x86-64, adjust the saved value of the stack pointer if the signal was
raised by a stack checking probe.
(HP-UX section): Use global __gnat_alternate_stack as signal handler
stack and only for SIGSEGV.
(Linux section): Likewise on x86 and x86-64.
[VxWorks section]
(__gnat_map_signal): Now static.
(__gnat_error_handler): Not static any more.
(__gnat_adjust_context_for_raise): New function. Signal context
adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
propagation circuitry.
(__gnat_error_handler): Second argument of a sigaction handler is a
pointer, not an int, and is unused.
Adjust signal context before mapping to exception.
Install signal handlers for LynxOS case.

* s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
(Task_Id): Set size to Task_Address_Size
(To_Task_id): Unchecked convert from Task_Address vice System.Address
(To_Address): Unchecked convert to Task_Address vice System.Address

* s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
address into the ATCB if the platform makes use of an alternate signal
stack for stack overflows.
(Free_Task): Add call to Finalize_Attributes_Link.
Add argument Relative_Deadline to pass the value specified for
the task. This is not yet used for any target.

* s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
the value specified for the task.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134004 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-08 Pascal Obry <obry@adacore.com>
charlet [Tue, 8 Apr 2008 06:42:41 +0000 (06:42 +0000)]
2008-04-08  Pascal Obry  <obry@adacore.com>

* g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
(Stop_Bits_Number): New type.
(Parity_Check): Likewise.
(Set): Add parameter to set the number of stop bits and
the parity. Parameter timeout is now a duration instead
of a plain integer.

* g-sercom-linux.adb:
Implement the stop bits and parity support for GNU/Linux.
Fix handling of timeout, it must be given in tenth of seconds.

* g-sercom-mingw.adb:
Implement the stop bits and parity support for Windows.
Use new s-win32.ads unit instead of declaring Win32 services
directly into this body.
Update handling of timeout as now a duration.

* s-win32.ads, s-winext.ads: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134003 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix uninit warning reported by Andrew Pinski.
wilson [Tue, 8 Apr 2008 01:57:48 +0000 (01:57 +0000)]
Fix uninit warning reported by Andrew Pinski.
pt.c (tsubst_copy, case SIZEOF_EXPR): Initialize len.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134001 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Tue, 8 Apr 2008 00:17:30 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133998 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * function.h (rtl): Rename to x_rtl.
hubicka [Mon, 7 Apr 2008 23:52:32 +0000 (23:52 +0000)]
* function.h (rtl): Rename to x_rtl.
(crtl): New define.
(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
frame_offset, stack_check_probe_note, arg_pointer_save_area,
used_temp_slots avail_temp_slots, temp_slot_level,
nonlocal_goto_handler_labels): Update accesstors.
(rtl): New global variable.
(struct function): Move some fileds to rtl_data.
(get_arg_pointer_save_area): Update prototype.
* builtins.c (expand_builtin_setjmp_receiver): Update call of
get_arg_pointer_save_area.
* expr.c (init_expr): Update
* function.c (get_frame_size): Update
(assign_stack_local): Update
(expand_function_end): Update.
(get_art_pointer_save_area): Update
* function.h
* emit-rtl.c (rtl): Declare.
(regno_reg_rtx): Declare.
(first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
Update.
(gen_reg_rtx): Update.
* varasm.c (n_deferred_constatns): Update accestor.
(init_varasm_status): Do not allocate varasm_status.
(force_const_mem, get_pool_size, output_constant_pool): Update.
* stmt.c (force_label_rtx): Do not use x_ prefixes.
(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
* m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Update.
* sparc/sparc.h (INIT_EXPANDERS): Update.
* ia64/ia64.h (INIT_EXPANDERS): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133994 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR target/34210 PR target/35508 * config.host (avr-*-*): Add avr cpu_type and avr...
hutchinsonandy [Mon, 7 Apr 2008 23:15:35 +0000 (23:15 +0000)]
PR target/34210 PR target/35508 * config.host (avr-*-*): Add avr cpu_type and avr tmake_file. * config/t-avr: New file. Build 16bit libgcc functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133993 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Makefile.def: check-gold depends upon all-binutils.
ian [Mon, 7 Apr 2008 22:36:37 +0000 (22:36 +0000)]
* Makefile.def: check-gold depends upon all-binutils.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133992 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 7 Apr 2008 22:10:41 +0000 (22:10 +0000)]
2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/25829 28655
* gfortran.dg/write_check2.f90: Update dg-error.
* gfortran.dg/io_constraints_1.f90: Udate dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133991 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix bug Joern Rennecke reported.
wilson [Mon, 7 Apr 2008 22:09:07 +0000 (22:09 +0000)]
Fix bug Joern Rennecke reported.
* reload.c (push_secondary_reload): Add missing break to for loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133990 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 7 Apr 2008 22:07:44 +0000 (22:07 +0000)]
2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/25829 28655
* io.c (io_tag): Add new tags for decimal, encoding, asynchronous,
round, sign, and id. (match_open_element): Match new tags.
(gfc_resolve_open): Resolve new tags. (gfc_match_open): Enable encoding
for DEFAULT only. Update error messages. (match_dt_element): Fix match
tag for asynchronous. Update error messages. (gfc_free_inquire): Free
new expressions. (match_inquire_element): Match new tags.
(gfc_match_inquire): Add constraint for ID and PENDING.
(gfc_resolve_inquire): Resolve new tags.
* trans-io.c (gfc_trans_inquire): Clean up whitespace and fix setting of
mask for ID parameter.
* ioparm.def: Fix order of parameters for pending, round, and sign.
NOTE: These must line up with the definitions in libgfortran/io/io.h. or
things don't work.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133989 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 7 Apr 2008 22:05:52 +0000 (22:05 +0000)]
2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/25829 28655
* io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
and flags.status. (st_open): Initialize flags.async.
* io/list_read.c (read_charactor): Use delim_status instead of
flags.delim.
* io/read.c (read_x): Use pad_status instead of flags.pad.
* io/inquire.c (inquire_via_unit): Add new checks.
(inquire_via_filename): Likewise.
* io/io.h (st_parameter_inquire): Add new flags.
(st_parameter_dt): Likewise.
* io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
flags.async.
* io/transfer.c: Add delim and pad option arrays. (read_sf): Use
pad_status instead of flags.pad. (read_block): Likewise.
(data_transfer_init): Set flags.async and add checks.
* io/write.c (write_character): Use delim_status.
(list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
(namelist_write): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133988 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/35734
jason [Mon, 7 Apr 2008 20:50:21 +0000 (20:50 +0000)]
    PR c++/35734
        * class.c (type_has_user_nondefault_constructor): A template
        counts as a nondefault constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133987 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
doko [Mon, 7 Apr 2008 20:08:33 +0000 (20:08 +0000)]
2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
            Xavier Grave  <grave@ipno.in2p3.fr>

        * Makefile.in: Add make ifeq define for mips/mipsel support.
        * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
        system-linux-mips.ads: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133986 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR middle-end/PR28690
bergner [Mon, 7 Apr 2008 17:36:59 +0000 (17:36 +0000)]
PR middle-end/PR28690
* rtlanal.c: Update copyright years.
(commutative_operand_precedence): Give SYMBOL_REF's the same precedence
as REG_POINTER and MEM_POINTER operands.
* emit-rtl.c (gen_reg_rtx_and_attrs): New function.
(set_reg_attrs_from_value): Call mark_reg_pointer as appropriate.
* rtl.h (gen_reg_rtx_and_attrs): Add prototype for new function.
* gcse.c: Update copyright years.
(pre_delete): Call gen_reg_rtx_and_attrs.
(hoist_code): Likewise.
(build_store_vectors): Likewise.
(delete_store): Likewise.
* loop-invariant.c (move_invariant_reg): Likewise.
Update copyright years.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133985 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md ("*sse_prologue_save_insn"): Use braced output
uros [Mon, 7 Apr 2008 16:54:00 +0000 (16:54 +0000)]
    * config/i386/i386.md ("*sse_prologue_save_insn"): Use braced output
        control string instead of quoted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133984 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Mon, 7 Apr 2008 15:40:43 +0000 (15:40 +0000)]
2008-04-07  Kenneth Zadeck <zadeck@naturalbridge.com>

doc/rtl.texi: Rewrite of subreg section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133982 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Kai Tietz <kai.tietz@onevision.com>
ktietz [Mon, 7 Apr 2008 12:44:14 +0000 (12:44 +0000)]
2008-04-07  Kai Tietz  <kai.tietz@onevision.com>

        PR/35842
        * config/i386/i386.c (legitimize_pic_address): Add treating
        of dllimport SYM_REF's.
        (legitimize_dllimport_symbol): Add prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133981 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR/35842
ktietz [Mon, 7 Apr 2008 12:40:43 +0000 (12:40 +0000)]
PR/35842
* gcc.dg/torture/pr35842.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133980 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
doko [Mon, 7 Apr 2008 12:31:41 +0000 (12:31 +0000)]
2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>

        * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
        detect systems using GNU libc.
        * gsocket.h: ditto.
        * socket.c: ditto.
        * adaint.c: ditto.
        * link.c: ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133979 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Aurelien Jarno <aurelien@aurel32.net>
doko [Mon, 7 Apr 2008 12:30:03 +0000 (12:30 +0000)]
2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>

        * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
        constant constant for sysconf call.
        (bit_field): New packed boolean type used by cpu_set_t.
        (cpu_set_t): New type corresponding to the C type with
        the same name. Note that on the Ada side we use a bit
        field array for the affinity mask. There is not need
        for the C macro for setting individual bit.
        (pthread_setaffinity_np): New imported routine.
        * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
        on GNU/kFreeBSD.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133978 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * fold-const.c (fold) <ARRAY_REF>: New case. Try to fold constant
ebotcazou [Mon, 7 Apr 2008 09:47:43 +0000 (09:47 +0000)]
* fold-const.c (fold) <ARRAY_REF>: New case.  Try to fold constant
reference in constructor with non self-referential type.

ada/
* utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133977 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago Removal of Return with Depressed Stack Pointer support
ebotcazou [Mon, 7 Apr 2008 09:37:51 +0000 (09:37 +0000)]
Removal of Return with Depressed Stack Pointer support
* tree.h (TYPE_RETURNS_STACK_DEPRESSED): Delete.
(ECF_SP_DEPRESSED): Likewise.
(ECF_LIBCALL_BLOCK, ECF_NOVOPS): Adjust.
* calls.c (emit_call_1): Do not test ECF_SP_DEPRESSED.
(flags_from_decl_or_type): Do not test TYPE_RETURNS_STACK_DEPRESSED.
(expand_call): Do not test ECF_SP_DEPRESSED.
* dse.c (dse_step0): Do not test TYPE_RETURNS_STACK_DEPRESSED.
* function.c (keep_stack_depressed): Delete.
(handle_epilogue_set): Likewise.
(update_epilogue_consts): Likewise.
(emit_equiv_load): Likewise.
(thread_prologue_and_epilogue_insns): Remove support for Return with
Depressed Stack Pointer.
* print-tree.c (print_node): Do not test TYPE_RETURNS_STACK_DEPRESSED.

ada/
* gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
* decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
* utils.c (create_subprog_type): Remove returns_with_dsp parameter.
* trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
Return by Depressed Stack Pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133976 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-07 Johannes Singler <singler@ira.uka.de>
singler [Mon, 7 Apr 2008 08:27:34 +0000 (08:27 +0000)]
2008-04-07  Johannes Singler  <singler@ira.uka.de>

         * include/parallel/multiway_merge.h:
           Moved decisions to compiletime instead of runtime.
         * include/parallel/losertree.h:
           Removed obsolete variants, added variant that uses pointers
           in the loser tree.
         * include/parallel/types.h:
           Remove obsolete settings options from enum.
         * include/parallel/features.h:
           Remove obsolete compile-time switches.
         * include/parallel/compiletime_settings.h:
           Remove obsolete variant that copies back *after* sorting.
         * include/parallel/tags.h:
           Add one new tag for compile-time switch.
         * include/parallel/merge.h:
           Adapt to changes in multiway_merge.h.
         * include/parallel/multiway_mergesort.h:
           Adapt to changes in multiway_merge.h.
           Factor out splitting variants.
           Remove obsolete variant that copies back *after* sorting.
         * include/parallel/sort.h:
           Adapt to changes in multiway_mergesort.h.
         * testsuite/25_algorithms/sort/35588.cc:
           Added test case from / for PR 35588.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133975 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Mon, 7 Apr 2008 00:17:32 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133972 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-06 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 6 Apr 2008 21:20:49 +0000 (21:20 +0000)]
2008-04-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/35400
* tree-vrp.c (vrp_evaluate_conditional): Only query value-range
information from SSA_NAMEs.

* gcc.dg/torture/pr35400.c: New testcase.
* g++.dg/torture/pr35400.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133967 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/avr/avr.h (avr_mega_p): Remove declaration.
aesok [Sun, 6 Apr 2008 20:54:32 +0000 (20:54 +0000)]
* config/avr/avr.h (avr_mega_p): Remove declaration.
(AVR_MEGA): Remove macro.
* config/avr/avr.c (avr_mega_p): Remove variable.
(avr_override_options): Remove inicializion of avr_mega_p.
Use AVR_HAVE_JMP_CALL instead of AVR_MEGA.
(print_operand): Use AVR_HAVE_JMP_CALL instead of AVR_MEGA.
(avr_jump_mode): (Ditto.).
(avr_output_progmem_section_asm_op): (Ditto.).
(avr_asm_init_sections): (Ditto.).
(avr_asm_init_sections): (Ditto.).
(avr_rtx_costs): (Ditto.).
* config/avr/avr.md: (Ditto.).
* config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of
'__AVR_MEGA__'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133966 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoIndex: gcc/fortran/trans-stmt.c
pault [Sun, 6 Apr 2008 19:37:45 +0000 (19:37 +0000)]
Index: gcc/fortran/trans-stmt.c
===================================================================
*** gcc/fortran/trans-stmt.c (revision 133728)
--- gcc/fortran/trans-stmt.c (working copy)
*************** gfc_trans_where_2 (gfc_code * code, tree
*** 3540,3547 ****

  /* Translate a simple WHERE construct or statement without dependencies.
     CBLOCK is the "then" clause of the WHERE statement, where CBLOCK->EXPR
!    is the mask condition, and EBLOCK if non-NULL is the "else" clause.
!    Currently both CBLOCK and EBLOCK are restricted to single assignments.  */

  static tree
  gfc_trans_where_3 (gfc_code * cblock, gfc_code * eblock)
--- 3540,3550 ----

  /* Translate a simple WHERE construct or statement without dependencies.
     CBLOCK is the "then" clause of the WHERE statement, where CBLOCK->EXPR
!    is the mask condition, and EBLOCK if non-NULL is the "then" clause of
!    the ELSWHERE.  As required by 7.5.3.2, the WHERE and ELSEWHERE are
!    executed with separate loops. It should be noted that the mask expression
!    is evaluated for both loops.  Currently both CBLOCK and EBLOCK are
!    restricted to single assignments.  */

  static tree
  gfc_trans_where_3 (gfc_code * cblock, gfc_code * eblock)
*************** gfc_trans_where_3 (gfc_code * cblock, gf
*** 3561,3566 ****
--- 3564,3570 ----
    edst = eblock ? eblock->next->expr : NULL;
    esrc = eblock ? eblock->next->expr2 : NULL;

+   /*---------------First do the WHERE part.----------------*/
    gfc_start_block (&block);
    gfc_init_loopinfo (&loop);

*************** gfc_trans_where_3 (gfc_code * cblock, gf
*** 3584,3619 ****
    gfc_add_ss_to_loop (&loop, tdss);
    gfc_add_ss_to_loop (&loop, tsss);

-   if (eblock)
-     {
-       /* Handle the else clause.  */
-       gfc_init_se (&edse, NULL);
-       gfc_init_se (&esse, NULL);
-       edss = gfc_walk_expr (edst);
-       esss = gfc_walk_expr (esrc);
-       if (esss == gfc_ss_terminator)
-  {
-    esss = gfc_get_ss ();
-    esss->next = gfc_ss_terminator;
-    esss->type = GFC_SS_SCALAR;
-    esss->expr = esrc;
-  }
-       gfc_add_ss_to_loop (&loop, edss);
-       gfc_add_ss_to_loop (&loop, esss);
-     }
-
    gfc_conv_ss_startstride (&loop);
    gfc_conv_loop_setup (&loop);

    gfc_mark_ss_chain_used (css, 1);
    gfc_mark_ss_chain_used (tdss, 1);
    gfc_mark_ss_chain_used (tsss, 1);
!   if (eblock)
!     {
!       gfc_mark_ss_chain_used (edss, 1);
!       gfc_mark_ss_chain_used (esss, 1);
!     }
!
    gfc_start_scalarized_body (&loop, &body);

    gfc_copy_loopinfo_to_se (&cse, &loop);
--- 3588,3600 ----
    gfc_add_ss_to_loop (&loop, tdss);
    gfc_add_ss_to_loop (&loop, tsss);

    gfc_conv_ss_startstride (&loop);
    gfc_conv_loop_setup (&loop);

    gfc_mark_ss_chain_used (css, 1);
    gfc_mark_ss_chain_used (tdss, 1);
    gfc_mark_ss_chain_used (tsss, 1);
!
    gfc_start_scalarized_body (&loop, &body);

    gfc_copy_loopinfo_to_se (&cse, &loop);
*************** gfc_trans_where_3 (gfc_code * cblock, gf
*** 3622,3637 ****
    cse.ss = css;
    tdse.ss = tdss;
    tsse.ss = tsss;
-   if (eblock)
-     {
-       gfc_copy_loopinfo_to_se (&edse, &loop);
-       gfc_copy_loopinfo_to_se (&esse, &loop);
-       edse.ss = edss;
-       esse.ss = esss;
-     }

    gfc_conv_expr (&cse, cond);
!   gfc_add_block_to_block (&body, &cse.pre);
    cexpr = cse.expr;

    gfc_conv_expr (&tsse, tsrc);
--- 3603,3611 ----
    cse.ss = css;
    tdse.ss = tdss;
    tsse.ss = tsss;

    gfc_conv_expr (&cse, cond);
!   gfc_add_block_to_block (&block, &cse.pre);
    cexpr = cse.expr;

    gfc_conv_expr (&tsse, tsrc);
*************** gfc_trans_where_3 (gfc_code * cblock, gf
*** 3643,3650 ****
--- 3617,3678 ----
    else
      gfc_conv_expr (&tdse, tdst);

+   /* Make the assignment on condition 'cond'.  */
+   tstmt = gfc_trans_scalar_assign (&tdse, &tsse, tdst->ts, false, false);
+   tmp = build3_v (COND_EXPR, cexpr, tstmt, build_empty_stmt ());
+   gfc_add_expr_to_block (&body, tmp);
+   gfc_add_block_to_block (&body, &cse.post);
+
+   gfc_trans_scalarizing_loops (&loop, &body);
+   gfc_add_block_to_block (&block, &loop.pre);
+   gfc_add_block_to_block (&block, &loop.post);
+   gfc_cleanup_loop (&loop);
+
+ /*---------------Now do the ELSEWHERE.--------------*/
    if (eblock)
      {
+       gfc_init_loopinfo (&loop);
+
+       /* Handle the condition.  */
+       gfc_init_se (&cse, NULL);
+       css = gfc_walk_expr (cond);
+       gfc_add_ss_to_loop (&loop, css);
+
+       /* Handle the then-clause.  */
+       gfc_init_se (&edse, NULL);
+       gfc_init_se (&esse, NULL);
+       edss = gfc_walk_expr (edst);
+       esss = gfc_walk_expr (esrc);
+       if (esss == gfc_ss_terminator)
+  {
+    esss = gfc_get_ss ();
+    esss->next = gfc_ss_terminator;
+    esss->type = GFC_SS_SCALAR;
+    esss->expr = esrc;
+  }
+       gfc_add_ss_to_loop (&loop, edss);
+       gfc_add_ss_to_loop (&loop, esss);
+
+       gfc_conv_ss_startstride (&loop);
+       gfc_conv_loop_setup (&loop);
+
+       gfc_mark_ss_chain_used (css, 1);
+       gfc_mark_ss_chain_used (edss, 1);
+       gfc_mark_ss_chain_used (esss, 1);
+
+       gfc_start_scalarized_body (&loop, &body);
+
+       gfc_copy_loopinfo_to_se (&cse, &loop);
+       gfc_copy_loopinfo_to_se (&edse, &loop);
+       gfc_copy_loopinfo_to_se (&esse, &loop);
+       cse.ss = css;
+       edse.ss = edss;
+       esse.ss = esss;
+
+       gfc_conv_expr (&cse, cond);
+       gfc_add_block_to_block (&body, &cse.pre);
+       cexpr = cse.expr;
+
        gfc_conv_expr (&esse, esrc);
        if (edss != gfc_ss_terminator && loop.temp_ss != NULL)
          {
*************** gfc_trans_where_3 (gfc_code * cblock, gf
*** 3653,3672 ****
          }
        else
          gfc_conv_expr (&edse, edst);
      }

-   tstmt = gfc_trans_scalar_assign (&tdse, &tsse, tdst->ts, false, false);
-   estmt = eblock ? gfc_trans_scalar_assign (&edse, &esse, edst->ts, false, false)
-   : build_empty_stmt ();
-   tmp = build3_v (COND_EXPR, cexpr, tstmt, estmt);
-   gfc_add_expr_to_block (&body, tmp);
-   gfc_add_block_to_block (&body, &cse.post);
-
-   gfc_trans_scalarizing_loops (&loop, &body);
-   gfc_add_block_to_block (&block, &loop.pre);
-   gfc_add_block_to_block (&block, &loop.post);
-   gfc_cleanup_loop (&loop);
-
    return gfc_finish_block (&block);
  }

--- 3681,3700 ----
          }
        else
          gfc_conv_expr (&edse, edst);
+
+       /* Make the assignment on condition 'NOT.cond'.  */
+       estmt = gfc_trans_scalar_assign (&edse, &esse, edst->ts, false, false);
+       cexpr = fold_build1 (TRUTH_NOT_EXPR, boolean_type_node, cexpr);
+       tmp = build3_v (COND_EXPR, cexpr, estmt, build_empty_stmt ());
+       gfc_add_expr_to_block (&body, tmp);
+       gfc_add_block_to_block (&body, &cse.post);
+
+       gfc_trans_scalarizing_loops (&loop, &body);
+       gfc_add_block_to_block (&block, &loop.pre);
+       gfc_add_block_to_block (&block, &loop.post);
+       gfc_cleanup_loop (&loop);
      }

    return gfc_finish_block (&block);
  }

*************** gfc_trans_where (gfc_code * code)
*** 3698,3708 ****
   cblock->next->expr2, 0))
       return gfc_trans_where_3 (cblock, NULL);
   }
        else if (!eblock->expr
          && !eblock->block
          && eblock->next
          && eblock->next->op == EXEC_ASSIGN
!         && !eblock->next->next)
   {
            /* A simple "WHERE (cond) x1 = y1 ELSEWHERE x2 = y2 ENDWHERE"
        block is dependence free if cond is not dependent on writes
--- 3726,3739 ----
   cblock->next->expr2, 0))
       return gfc_trans_where_3 (cblock, NULL);
   }
+       /* Since gfc_trans_where_3 evaluates the condition expression
+   twice, do not use it if the condition is not a variable.  */
        else if (!eblock->expr
          && !eblock->block
          && eblock->next
          && eblock->next->op == EXEC_ASSIGN
!         && !eblock->next->next
!         && cblock->expr->expr_type == EXPR_VARIABLE)
   {
            /* A simple "WHERE (cond) x1 = y1 ELSEWHERE x2 = y2 ENDWHERE"
        block is dependence free if cond is not dependent on writes
Index: gcc/testsuite/gfortran.dg/where_1.f90
===================================================================
*** gcc/testsuite/gfortran.dg/where_1.f90 (revision 0)
--- gcc/testsuite/gfortran.dg/where_1.f90 (revision 0)
***************
*** 0 ****
--- 1,61 ----
+ ! { dg-do run }
+ ! { dg-options "-fdump-tree-original" }
+ ! Tests the fix for PR35759, in which the simple WHERE was logically
+ ! wrong.  7.5.3.2 requires that the WHERE and ELSEWHERE are execute in
+ ! separate loops, whereas gfortran was implementing them as a single
+ ! loop with an 'if' and 'else'.  Since the condition expression is
+ ! evaluated twice with the fix, the use of anything other than a
+ ! variable or parameter array for the condition will trigger the more
+ ! comprehensive implementation of WHERE.  This is checked by the
+ ! check of the declaration of temp.15 in the 'original' code.
+ !
+ ! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
+ !
+ program RG0023
+
+   integer UDA1L(6)
+   integer ::  UDA1R(6), expected(6) = (/2,0,5,0,3,0/)
+   LOGICAL LDA(5)
+   LOGICAL, parameter :: PDA(5) = (/ (i/2*2 .ne. I, i=1,5) /)
+
+   UDA1L(1:6) = 0
+   uda1r = (/1,2,3,4,5,6/)
+   lda = pda
+
+   WHERE (lda)                !          expected
+     UDA1L(1:5) = UDA1R(2:6)  !  uda1l = 2,0,4,0,6,0
+   ELSEWHERE
+     UDA1L(2:6) = UDA1R(6:2:-1) !uda1l = 2,0,5,0,3,0
+   ENDWHERE
+
+   if (any (uda1l /= expected)) call abort ()
+
+   uda1l = 0
+
+   WHERE (pda)                !          expected
+     UDA1L(1:5) = UDA1R(2:6)  !  uda1l = 2,0,4,0,6,0
+   ELSEWHERE
+     UDA1L(2:6) = UDA1R(6:2:-1) !uda1l = 2,0,5,0,3,0
+   ENDWHERE
+
+   if (any (uda1l /= expected)) call abort ()
+
+   uda1l = 0
+
+   WHERE (lfoo ())            !          expected
+     UDA1L(1:5) = UDA1R(2:6)  !  uda1l = 2,0,4,0,6,0
+   ELSEWHERE
+     UDA1L(2:6) = UDA1R(6:2:-1) !uda1l = 2,0,5,0,3,0
+   ENDWHERE
+
+   if (any (uda1l /= expected)) call abort ()
+
+ contains
+
+   function lfoo () result (ltmp)
+     logical ltmp(5)
+     ltmp = lda
+   end function lfoo
+ END
+ ! { dg-final { scan-tree-dump-times "temp.18\\\[5\\\]" 1 "original" } }
+ ! { dg-final { cleanup-tree-dump "original" } }

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133965 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-06 Tobias Schlter <tobi@gcc.gnu.org>
tobi [Sun, 6 Apr 2008 18:58:34 +0000 (18:58 +0000)]
2008-04-06  Tobias Schlter  <tobi@gcc.gnu.org>

PR fortran/35832
fortran/
* io.c (io_tag): Add field 'value'.  Split 'spec' field in
existing io_tags.
(match_etag, match_vtag, match_ltag): Split parsing in two steps
to give better error messages.
testsuite/
* gfortran.dg/io_constraints_2.f90: Adapt to new error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133964 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-06 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 6 Apr 2008 18:04:47 +0000 (18:04 +0000)]
2008-04-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/35842
* tree-ssa-address.c (fixed_address_object_p): Adjust to match
is_gimple_invariant_address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133963 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2008-04-06 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 6 Apr 2008 15:38:33 +0000 (15:38 +0000)]
2008-04-06  Tobias Burnus  <burnus@net-b.de>

        * io.c (check_io_constraints): Add constrains. ID= requires
        asynchronous= and asynchronous= must be init expression.

2008-04-06  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/f2003_io_1.f03: Make standard conform.
        * gfortran.dg/f2003_io_8.f03: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133962 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * decl.c (is_variable_size): Do not unconditionally return false
ebotcazou [Sun, 6 Apr 2008 13:38:41 +0000 (13:38 +0000)]
* decl.c (is_variable_size): Do not unconditionally return false
on non-strict alignment platforms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133961 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/
fxcoudert [Sun, 6 Apr 2008 12:36:58 +0000 (12:36 +0000)]
gcc/
* gcc.c (default_compilers): Sync Fortran extensions list with
that in fortran/lang-specs.h.
* doc/invoke.texi: Likewise.
* dbxout.c (get_lang_number): Use "GNU Fortran" in "GNU F95".
* dwarf2out.c (gen_compile_unit_die): Likewise.

gcc/fortran/
* f95-lang.c: Set LANG_HOOKS_NAME to "GNU Fortran".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133960 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * parse.c (gfc_parse_file): Use gfc_dump_parse_tree.
fxcoudert [Sun, 6 Apr 2008 12:18:56 +0000 (12:18 +0000)]
* parse.c (gfc_parse_file): Use gfc_dump_parse_tree.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133959 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * dump-parse-tree.c: Use fprintf, fputs and fputc instead of
fxcoudert [Sun, 6 Apr 2008 12:17:33 +0000 (12:17 +0000)]
* dump-parse-tree.c: Use fprintf, fputs and fputc instead of
gfc_status and gfc_status_char. Remove gfc_ prefix of the gfc_show_*
functions and make them static. Add new gfc_dump_parse_tree
function.
* gfortran.h (gfc_option_t): Rename verbose into dump_parse_tree.
(gfc_status, gfc_status_char): Delete prototypes.
* error.c (gfc_status, gfc_status_char): Remove functions.
* scanner.c (gfc_new_file): Use printf instead of gfc_status.
* options.c (gfc_init_options): Rename verbose into dump_parse_tree.
(gfc_handle_module_path_options): Use gfc_fatal_error instead of
gfc_status and exit.
(gfc_handle_option): Rename verbose into dump_parse_tree.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133958 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * decl.c (rest_of_type_decl_compilation_no_defer): New local function
ebotcazou [Sun, 6 Apr 2008 10:22:23 +0000 (10:22 +0000)]
* decl.c (rest_of_type_decl_compilation_no_defer): New local function
used to process all the variants of the specified type.
(gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
types too.  Call rest_of_type_decl_compilation_no_defer if undeferring.
(rest_of_type_decl_compilation): Likewise.
* utils.c (gnat_pushdecl): Propagate the name to all variants of type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133957 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.
ebotcazou [Sun, 6 Apr 2008 09:57:49 +0000 (09:57 +0000)]
* gthr-posix95.h (__gthread_cond_wait_recursive): Add missing &.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133955 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/12329
uros [Sun, 6 Apr 2008 06:40:47 +0000 (06:40 +0000)]
    PR target/12329
        * config/i386/i386.c (ix86_function_regparm): Error if regparm(3)
        attribute is used for nested functions.

testsuite/ChangeLog:

        PR target/12329
        * gcc.target/i386/pr12329.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133954 138bc75d-0d04-0410-961f-82ee72b054a4