Thomas Quinot [Wed, 6 Aug 2008 09:43:10 +0000 (11:43 +0200)]
Makefile.in, [...]: Remove obsolete targets referencing gen-soccon When generating s-oscons.ads...
2008-08-06 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
Remove obsolete targets referencing gen-soccon
When generating s-oscons.ads, use a file name that includes the
THREAD_KIND, to ensure that the (potentially different) version from a
previous build with a different threads flavour does not get reused.
Thomas Quinot [Wed, 6 Aug 2008 09:42:31 +0000 (11:42 +0200)]
Makefile.in, [...]: Remove obsolete targets referencing gen-soccon When generating s-oscons.ads...
2008-08-06 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
Remove obsolete targets referencing gen-soccon
When generating s-oscons.ads, use a file name that includes the
THREAD_KIND, to ensure that the (potentially different) version from a
previous build with a different threads flavour does not get reused.
Arnaud Charlet [Wed, 6 Aug 2008 09:41:04 +0000 (11:41 +0200)]
s-fileio.adb (Open): When file open operation fails...
2008-08-06 Thomas Quinot <quinot@adacore.com>
* s-fileio.adb (Open): When file open operation fails, raise Name_Error
only when the operating system reports a non-existing file or directory
(ENOENT), otherwise raise Name_Error.
Ed Schonberg [Wed, 6 Aug 2008 09:35:17 +0000 (11:35 +0200)]
sem_ch3.adb (Access_Subprogram_Declaration): If the return type is incomplete...
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
incomplete, add the access_to_subprogram type to the list of private
dependents only if the incomplete type will be completed in the current
scope.
(Build_Discriminant_Constraints): If the type of the discriminant is
access_to_variable, reject a constraint that is access_to_constant.
Ed Schonberg [Wed, 6 Aug 2008 08:52:36 +0000 (10:52 +0200)]
sem_res.adb (Resolve_Call): Use base type to determine whether a dereference is needed because a subtype of...
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): Use base type to determine whether a
dereference is needed because a subtype of an access_to_subprogram is
simply an access-subtype
Arnaud Charlet [Wed, 6 Aug 2008 08:33:21 +0000 (10:33 +0200)]
g-comlin.adb (Define_Switch, [...]): New.
2008-08-06 Jerome Lambourg <lambourg@adacore.com>
* g-comlin.adb (Define_Switch, Get_Switches): New.
(Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
ungrouping switches.
(For_Each_Simple_Switch): Allow more control over parameters handling.
This generic method now allows ungrouping of switches with parameters
and switches with more than one letter after the prefix.
(Set_Command_Line): Take care of switches that are prefixed with a
switch handling parameters without delimiter (-gnatya and -gnaty3 for
example).
(Add_Switch, Remove_Switch): Handle parameters possibly present inside
a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
the operation.
(Start, Alias_Switches, Group_Switches): Take care of parameters
possibly present inside a group.
* g-comlin.ads (Define_Switch): New method used to define a list of
expected switches, that are necessary for correctly ungrouping switches
with more that one character after the prefix.
(Get_Switches): Method that builds a getopt string from the list of
switches as set previously by Define_Switch.
(Add_Switch, Remove_Switch): New versions of the methods, reporting the
status of the operation. Also allow the removal of switches with
parameters only.
(Command_Line_Configuration_Record): Maintain a list of expected
switches.
Ed Schonberg [Wed, 6 Aug 2008 08:32:32 +0000 (10:32 +0200)]
g-awk.adb (Finalize): Do not use directly objects of the type in the finalization routine to prevent...
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* g-awk.adb (Finalize): Do not use directly objects of the type in the
finalization routine to prevent elaboration order anomalies in new
finalization scheme.
Quentin Ochem [Wed, 6 Aug 2008 08:32:09 +0000 (10:32 +0200)]
s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark in the case of an empty pattern size.
2008-08-06 Quentin Ochem <ochem@adacore.com>
* s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
in the case of an empty pattern size.
(Compute_Result): Do not do any computation in the case of an empty
pattern size.
(Report_Result): Fixed computation of the overflow guard.
Doug Rupp [Wed, 6 Aug 2008 07:57:04 +0000 (07:57 +0000)]
2008-08-06 Doug Rupp <rupp@adacore.com>
* gcc-interface/utils2.c (snames.h) Include
(TARGET_ABI_OPEN_VMS): Initialize.
(build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
for Convention C.
Arnaud Charlet [Wed, 6 Aug 2008 07:56:23 +0000 (09:56 +0200)]
exp_disp (Expand_Interface_Conversion): Freeze the entity associated with the target interface before expanding the...
2008-08-06 Javier Miranda <miranda@adacore.com>
* exp_disp (Expand_Interface_Conversion): Freeze the entity associated
with the target interface before expanding the code of the interface
conversion.
Maxim Kuvyrkov [Wed, 6 Aug 2008 06:20:02 +0000 (06:20 +0000)]
sched-rgn.c (new_ready): Check if instruction can be speculatively scheduled before attempting speculation.
* sched-rgn.c (new_ready): Check if instruction can be
speculatively scheduled before attempting speculation.
(debug_rgn_dependencies): Remove wrongful assert.
Andrew Pinski [Tue, 5 Aug 2008 18:23:07 +0000 (18:23 +0000)]
re PR tree-optimization/37024 (bad tail call from tuples merge)
2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/37024
* tree-tailcall.c (process_assignment): Use gimple_assign_cast_p
instead of IS_CONVERT_EXPR_CODE_P for seeing if the assignment
is a conversion.
2008-08-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/37024
* gcc.dg/tree-ssa/tailcall-4.c: New testcase.
Arnaud Charlet [Tue, 5 Aug 2008 15:14:29 +0000 (17:14 +0200)]
sem_ch3.adb (Process_Subtype): An allocator is a valid construct that can carry a null exclusion indicator...
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
can carry a null exclusion indicator, and on which an error may be
posted if the indicator is redundant.
* sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
does not apply to a subtype mark that already excludes null.
* sem_ch12.adb (Formal_Object_Declaration): Verify that a null
exclusion does not apply to a subtype mark that already excludes null.
Arnaud Charlet [Tue, 5 Aug 2008 14:37:44 +0000 (16:37 +0200)]
sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to right-hand side when it is an anonymous access_to_subprogram...
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
right-hand side when it is an anonymous access_to_subprogram, to force
static accessibility check when needed.
Ed Schonberg [Tue, 5 Aug 2008 14:37:19 +0000 (16:37 +0200)]
sem_attr.adb: (Analyze_Attribute...
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb:
(Analyze_Attribute, case 'Result): handle properly the case where some
operand of the expression in a post-condition generates a transient
block.
Sergey Rybin [Tue, 5 Aug 2008 14:10:38 +0000 (16:10 +0200)]
gnat_ugn.texi: Changing the description of the gnatcheck metrics rule according to the change...
2008-08-05 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Changing the description of the gnatcheck metrics
rule according to the change in the rule option.
Add documentation for -gnatw.b/-gnatw.B
Ulrich Weigand [Tue, 5 Aug 2008 14:04:56 +0000 (14:04 +0000)]
spu_spu_mfcio.h: Wrap in extern "C" if __cplusplus.
* config/spu_spu_mfcio.h: Wrap in extern "C" if __cplusplus.
Reword some comments throughout the file.
(MFC_MIN_DMA_LIST_ELEMENTS): New define.
(MFC_MAX_DMA_LIST_ELEMENTS): Likewise.
(MFC_MIN_DMA_LIST_SIZE): Redefine in terms of MFC_MIN_DMA_LIST_ELEMENTS.
(MFC_MAX_DMA_LIST_SIZE): Redefine in terms of MFC_MAX_DMA_LIST_ELEMENTS.
Arnaud Charlet [Tue, 5 Aug 2008 13:24:27 +0000 (15:24 +0200)]
opt.ads (Warn_On_Biased_Representation): New flag
2008-08-05 Robert Dewar <dewar@adacore.com>
* opt.ads (Warn_On_Biased_Representation): New flag
* sem_ch13.adb:
(Analyze_Attribute_Definition_Clause): Issue warning when biased
representation is required.
(Minimum_Size): Don't allow biasing if enum rep clause case
* sem_warn.adb:
(Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
(Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
Arnaud Charlet [Tue, 5 Aug 2008 09:30:53 +0000 (11:30 +0200)]
sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in unresolved initial value of "null"...
2008-08-05 Bob Duff <duff@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
unresolved initial value of "null", because it causes implicitly
generated "=" operators to be ambiguous, and because this type should
not be passed to gigi.
Jose Ruiz [Tue, 5 Aug 2008 09:27:49 +0000 (11:27 +0200)]
init.c (__gnat_install_handler for linux): If we are building the Xenomai run time then we need to do two additional things...
2008-08-05 Jose Ruiz <ruiz@adacore.com>
* init.c (__gnat_install_handler for linux): If we are building the
Xenomai run time then we need to do two additional things: avoid
memory swapping and transform the Linux environment task into a native
Xenomai task.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
time): Use interface to Xenomai native skin and avoid linux-specific
way of setting CPU affinity.
(EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
Arnaud Charlet [Tue, 5 Aug 2008 09:14:48 +0000 (11:14 +0200)]
make.adb (Switches_Of): Check for Switches (others), before checking for Default_Switches ("Ada").
2008-08-05 Vincent Celier <celier@adacore.com>
* make.adb (Switches_Of): Check for Switches (others), before checking
for Default_Switches ("Ada").
(Gnatmake): Use Builder'Switches (others) in preference to
Builder'Default_Switches ("Ada") if there are several mains.
* prj-attr-pm.adb:
(Add_Attribute): Add component Others_Allowed in Attribute_Record
aggregate.
* prj-attr.adb:
Add markers to indicates that attributes Switches allow others as index
(Others_Allowed_For): New Boolean function, returning True for
attributes with the mark.
(Initialize): Recognize optional letter 'O' as the marker for
associative array attributes where others is allowed as the index.
* prj-attr.ads:
(Others_Allowed_For): New Boolean function
(Attribute_Record): New Boolean component Others_Allowed
* prj-dect.adb:
(Parse_Attribute_Declaration): For associative array attribute where
others is allowed as the index, allow others as an index.
* prj-nmsc.adb:
(Process_Binder): Skip associative array attributes with index others
(Process_Compiler): Ditto
* prj-util.adb:
(Value_Of (Index, In_Array)): Make no attempt to put in lower case when
index is All_Other_Names.
Thomas Quinot [Tue, 5 Aug 2008 09:05:08 +0000 (09:05 +0000)]
gen-soccon.c: Rename to gen-oscons.c
2008-08-05 Thomas Quinot <quinot@adacore.com>
* gen-soccon.c: Rename to gen-oscons.c
* gen-oscons.c: New file. Now generate System.OS_Constants instead of
GNAT.Sockets.Constants.
Add new constants for GNAT.Serial_Communications and System.File_IO.
Javier Miranda [Tue, 5 Aug 2008 08:41:07 +0000 (10:41 +0200)]
sem_util.adb (Collect_Interfaces_Info): Minor reformating.
2008-08-05 Javier Miranda <miranda@adacore.com>
* sem_util.adb (Collect_Interfaces_Info): Minor reformating.
* exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
implementation of this routine has been simplified.
Ed Schonberg [Tue, 5 Aug 2008 08:17:02 +0000 (10:17 +0200)]
exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access discriminants...
2008-08-05 Ed Schonberg <schonberg@adacore.com>
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
discriminants, indicate that the corresponding object declaration has
no initialization, to prevent spurious warnings when the access type is
null-excluding.
* g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
methods needed to handle switch sections when building a command line.
(Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
Current_Section): New public methods or methods modified to handle
building command lines with sections.
(Set_Command_Line): Take into account sections when analysing a switch
string.
(Start): Sort the switches by sections before iterating the command line
elements.
* g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
Is_New_Section, Current_Section): New methods or methods modified to
handle building command lines with sections.
Ed Schonberg [Mon, 4 Aug 2008 18:50:45 +0000 (20:50 +0200)]
2008-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb:
(Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
anonymous access to protected subprogram that is the return type of the
specification of a subprogram body.
* sem_ch6.adb:
(Analyze_Subprogram_Body): if the return type is an anonymous access to
subprogram, freeze it now to prevent access anomalies in the back-end.
* exp_ch9.adb: Minor code cleanup.
Make sure that new declarations are inserted into the tree before
analysis (from code reading).