Arnaud Charlet [Tue, 22 Jun 2010 13:26:32 +0000 (15:26 +0200)]
[multiple changes]
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
Warnings Off/On.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* einfo.ads: Minor reformatting.
2010-06-22 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
eliminated primitives.
(Make_DT): Avoid referencing eliminated primitives.
(Register_Primitive): Do not register eliminated primitives in the
dispatch table. Required to add this functionality when the program is
compiled without static dispatch tables (-gnatd.t)
Arnaud Charlet [Tue, 22 Jun 2010 13:20:17 +0000 (15:20 +0200)]
[multiple changes]
2010-06-22 Emmanuel Briot <briot@adacore.com>
* fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
warnings on use of internal GNAT units.
* s-rannum.adb: Make stylistic change to remove mystery constant in
Extract_Value. Image_Numeral_Length: new symbolic constant.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb: Make Is_Protected_Interface,
Is_Synchronized_Interface, Is_Task_Interface into computable
predicates, to free three flags in entity nodes.
* sem_ch3.adb: Remove setting of these flags.
Robert Dewar [Tue, 22 Jun 2010 13:15:15 +0000 (13:15 +0000)]
uintp.adb, [...]: Minor reformatting.
2010-06-22 Robert Dewar <dewar@adacore.com>
* uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
reformatting.
* s-taprop-vxworks.adb: Add comment for Set_Priority.
* impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
* projects.texi: Move @cindex to the left margin, since otherwise we
are missing entries in the index.
Arnaud Charlet [Tue, 22 Jun 2010 12:57:07 +0000 (14:57 +0200)]
[multiple changes]
2010-06-22 Emmanuel Briot <briot@adacore.com>
* prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
packages from the GNAT hierarchy instead of System when possible.
* gcc-interface/Make-lang.in: Update dependencies.
2010-06-22 Jose Ruiz <ruiz@adacore.com>
* s-taprop-vxworks.adb (Set_Priority): Remove the code that was
previously in place to reorder the ready queue when a task drops its
priority due to the loss of inherited priority.
Arnaud Charlet [Tue, 22 Jun 2010 12:42:24 +0000 (14:42 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
test to catch more cases where first subtype is the results we want.
* sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
error case, since Errout will now handle this correctly.
* gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
Update dependencies.
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
when calling Make_Temporary.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
subprogram can be associated with an entry body.
2010-06-22 Robert Dewar <dewar@adacore.com>
* scos.ads: Add note on membership test handling.
2010-06-22 Vincent Celier <celier@adacore.com>
* projects.texi: Minor spelling fixes.
Minor reformatting.
2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
* s-rannum.adb: Correct off-by-one error in Extract_Value.
Arnaud Charlet [Tue, 22 Jun 2010 12:32:34 +0000 (14:32 +0200)]
[multiple changes]
2010-06-22 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Display): In non verbose mode, truncate after fourth
argument.
* mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
gcc command if it is too long.
2010-06-22 Robert Dewar <dewar@adacore.com>
* errout.adb (Set_Msg_Node): Fix incorrect reference to node.
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
calling Make_Temporary.
* par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
* sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
Ada 95 mode as an implementation defined attribute.
Alan Modra [Tue, 22 Jun 2010 10:44:11 +0000 (20:14 +0930)]
re PR target/44364 (Wrong code with e500 double floating point)
PR target/44364
* config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
* caller-save.c (insert_restore, insert_save): Use non-validate
form of adjust_address.
Vincent Celier [Tue, 22 Jun 2010 10:15:49 +0000 (10:15 +0000)]
bindusg.adb (Display): Update line for -R
2010-06-22 Vincent Celier <celier@adacore.com>
* bindusg.adb (Display): Update line for -R
* switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
generated files when -R is used.
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Lib_Data_Table): New table.
(Check_Library_Attributes): Check if the same library name is used in
two different projects that do not extend each other.
Arnaud Charlet [Tue, 22 Jun 2010 10:07:05 +0000 (12:07 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
2010-06-22 Vincent Celier <celier@adacore.com>
* adaint.c (__gnat_locate_regular_file): If a directory in the path is
empty, make it the current working directory.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
private type with discriminants, make sure the parent type is frozen.
2010-06-22 Eric Botcazou <ebotcazou@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
with packed array references specially.
* exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
to a component of a bit packed array if it is the prefix of 'Bit.
* exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
* exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure. Expand a
'Bit reference, where the prefix involves a packed array reference.
(Get_Base_And_Bit_Offset): New helper, extracted from...
(Expand_Packed_Address_Reference): ...here. Call above procedure to
get the outer object and offset expression.
* sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
reorganization to properly check if the operation has been inherited as
an abstract operation.
* g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
vector if previous send was not fully successful. If only part of
the vector data was sent, we exit the loop.
Thomas Quinot [Tue, 22 Jun 2010 09:36:25 +0000 (09:36 +0000)]
sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better error reporting with generic types.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
error reporting with generic types.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
vms_data.ads: Add a new command line switch -A to gnatbind to output
the list of all ALI files for the partition.
Arnaud Charlet [Tue, 22 Jun 2010 09:28:49 +0000 (11:28 +0200)]
[multiple changes]
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* s-osinte-vxworks.ads: Fix casing.
* s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
change: Interfaces.C does not provide a long_long type.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
native user's guide, since this document contains the two versions.
* gcc-interface/Make-lang.in: Update doc dependencies.
Arnaud Charlet [Tue, 22 Jun 2010 09:11:16 +0000 (11:11 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting. Minor code reorganization.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
not build this file on its own (only through gnat_ugn.texi).
Remove macro definitions and insert simpler version in gnat_ugn.texi.
Arnaud Charlet [Tue, 22 Jun 2010 09:02:09 +0000 (11:02 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* ali-util.ads: Minor comment update.
* g-socthi-mingw.adb: Minor reformatting.
2010-06-22 Ed Falis <falis@adacore.com>
* s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
* s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
for specific versions of VxWorks.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
related sections from user's guide and reference manual, since they
have now been merged together into a separate document (projects.texi).
This removes a lot of duplication where attributes where described
in several places.
The grammar for the project files is now in each of the sections
(packages,expressions,...) instead of being duplicates in two other
sections (one in the user's guide that contained the full grammar,
and various sections in the rm that contained extracts of the same
grammar).
Added the full list of all supported attributes, since existing lists
were incomplete
Rename "associative array" into "indexed attribute"
Remove sections that were duplicates ("External References in
Project Files" and "External Values", and "Project Extensions"
for instance). The list of valid packages in project files is now in
a single place.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): If
Find_Primitive_Covering_Interface does not find the operation, it may
be because of a name conflict between the inherited operation and a
local non-overloadable name. In that case look for the operation among
the primitive operations of the type. This search must succeed
regardless of visibility.
Arnaud Charlet [Tue, 22 Jun 2010 08:49:11 +0000 (10:49 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb (Analyze_Conditional_Expression): Defend against
malformed tree.
* sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression): Ditto.
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* s-intman-vxworks.ads: Code clean up.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_res.adb (Resolve_Slice): When the prefix is an explicit
dereference, construct actual subtype of designated object to generate
proper bounds checks.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
Read_Withed_ALIs, which is more descriptive.
2010-06-22 Pascal Obry <obry@adacore.com>
* g-sothco.ads: Minor reformatting.
* g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
C_Sendmsg implementation.
(C_Sendmsg): Do not use lock (not needed).
(C_Recvmsg): Likewise and also do not wait for incoming data.
Arnaud Charlet [Tue, 22 Jun 2010 08:40:51 +0000 (10:40 +0200)]
[multiple changes]
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* uintp.adb: Fix scope error in operator call.
2010-06-22 Vincent Celier <celier@adacore.com>
* makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
* prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
autoconfiguration is needed, fail indicating that no config project
file can be found, as there is no autoconfiguration on VMS.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
for an operator in a functional notation, when operands are universal.
Arnaud Charlet [Tue, 22 Jun 2010 08:36:25 +0000 (10:36 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
name.
* sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
* sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
style check.
* sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
literals.
2010-06-22 Vincent Celier <celier@adacore.com>
* make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
2010-06-22 Pascal Obry <obry@adacore.com>
* g-socthi-mingw.adb: Fix implementation of the vectored sockets on
Windows.
(C_Recvmsg): Make sure the routine is atomic. Also fully
fill vectors in the proper order.
(C_Sendmsg): Make sure the routine is atomic.
Arnaud Charlet [Tue, 22 Jun 2010 08:14:31 +0000 (10:14 +0200)]
[multiple changes]
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
name is a call, use the number of actuals to determine whether this is
a binary or unary operator, rather than relying on later information
to resolve the overload.
Arnaud Charlet [Tue, 22 Jun 2010 07:41:14 +0000 (09:41 +0200)]
[multiple changes]
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_disp.adb: Minor code fixes.
* sem_eval.adb: Minor reformatting.
2010-06-22 Vincent Celier <celier@adacore.com>
* make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
to gnatlink, except on Open VMS.
* osint.adb (Add_Default_Search_Dirs): Do not suppress the default
object directories if -nostdlib is used.
Robert Dewar [Tue, 22 Jun 2010 07:26:02 +0000 (07:26 +0000)]
g-expect-vms.adb, [...]: Minor reformatting.
2010-06-22 Robert Dewar <dewar@adacore.com>
* g-expect-vms.adb, sem_res.adb: Minor reformatting.
* exp_aggr.adb: Minor comment changes and reformatting.
* sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha order
* sem_util.ads: Add some missing pragma Inline's (efficiency issue only)
Thomas Quinot [Tue, 22 Jun 2010 07:22:17 +0000 (07:22 +0000)]
sem_util.adb (Build_Actual_Subtype): Record original expression in Related_Expression attribute of the constructed...
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_util.adb (Build_Actual_Subtype): Record original expression in
Related_Expression attribute of the constructed subtype.
* einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
Node24 on types for...
(Related_Expression): Make attribute available on types as well.
Arnaud Charlet [Tue, 22 Jun 2010 07:15:42 +0000 (09:15 +0200)]
[multiple changes]
2010-06-22 Gary Dismukes <dismukes@adacore.com>
* exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead of
Directly_Designated_Type when the type argument is an access type.
(Find_Interface_Tag): Retrieve Designated_Type instead of
Directly_Designated_Type when the type argument is an access type.
(Has_Controlled_Coextensions): Retrieve Designated_Type instead of
Directly_Designated_Type of each access discriminant.
* sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
instead of Directly_Designated_Type when the operand and target types
are access types.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* exp_aggr.adb (Flatten): Return False if one choice is statically
known to be out of bounds.
Ed Schonberg [Tue, 22 Jun 2010 07:11:35 +0000 (07:11 +0000)]
sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of a parameterless function call...
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
a parameterless function call, preserve parentheses of original
expression, for proper handling by pretty printer.
* sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
procedure, to handle quietly identifiers that have no entity names.
* exp_util.adb (Get_Current_Value_Condition): If the parent of an
elsif_part is missing, it has been rewritten as a nested if, and there
is no useful information on the current value of the variable.
Arnaud Charlet [Tue, 22 Jun 2010 07:08:23 +0000 (09:08 +0200)]
[multiple changes]
2010-06-22 Gary Dismukes <dismukes@adacore.com>
* sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
discriminals to the current scope.
* sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
scope, which could overwrite a different already set value.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Valid_Conversion): If expression is a predefined
operator, use sloc of type of interpretation to improve error message
when operand is of some derived type.
* sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
that it can set out parameters as well. When a process has died, reset
its Input_Fd to Invalid_Fd, so that when using multiple processes we
can find out which process has died.
Thomas Quinot [Tue, 22 Jun 2010 07:03:30 +0000 (07:03 +0000)]
sem_eval.adb (Find_Universal_Operator_Type): New subprogram to identify the operand type of an operator on universal operands...
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_eval.adb (Find_Universal_Operator_Type): New
subprogram to identify the operand type of an operator on universal
operands, when an explicit scope indication is present. Diagnose the
case where such a call is ambiguous.
(Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
Use the above to identify the operand type so it can be properly frozen.
* sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
type, done in an arbitrary, possibly incorrect type (the presence of
some numeric type in the scope is checked for legality, but when more
than one such type is in the scope, we just pick a random one, not
necessarily the expected one).
* sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
subprogram.
* diagnostic.h (diagnostic_classification_change_t): New.
(diagnostic_context): Add history and push/pop list.
(diagnostic_push_diagnostics): Declare.
(diagnostic_pop_diagnostics): Declare.
* diagnostic.c (diagnostic_classify_diagnostic): Store changes
from pragmas in a history chain instead of the global table.
(diagnostic_push_diagnostics): New.
(diagnostic_pop_diagnostics): New.
(diagnostic_report_diagnostic): Scan history chain to find state
of diagnostics as of the diagnostic location.
* opts.c (set_option): Pass UNKNOWN_LOCATION to
diagnostic_classify_diagnostic.
(enable_warning_as_error): Likewise.
* diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
use in the history chain.
* c-family/c-pragma.c (handle_pragma_diagnostic): Add push/pop,
allow these pragmas anywhere.
* doc/extend.texi: Document pragma GCC diagnostic changes.
Jakub Jelinek [Mon, 21 Jun 2010 16:33:49 +0000 (18:33 +0200)]
re PR target/44575 (__builtin_va_arg overwrites into adjacent stack location)
PR target/44575
* config/i386/i386.c (ix86_gimplify_va_arg): When copying
va_arg from a set of register save slots into a temporary,
if the container is bigger than type size, do the copying
using smaller mode or using memcpy.
Jakub Jelinek [Mon, 21 Jun 2010 16:30:43 +0000 (18:30 +0200)]
dwarf2out.c (add_linkage_name): New function.
* dwarf2out.c (add_linkage_name): New function. Don't add
anything to DW_TAG_member DIEs.
(add_name_and_src_coords_attributes): Use it.
(gen_variable_die): Call it for C++ static data members if
specification is DW_TAG_member.
Jakub Jelinek [Mon, 21 Jun 2010 16:28:32 +0000 (18:28 +0200)]
Makefile.in (build/genattrtab.o): Depend on vecprim.h.
* Makefile.in (build/genattrtab.o): Depend on vecprim.h.
* genattrtab.c: Include vecprim.h.
(cached_attrs, cached_attr_count, attrs_seen_once,
attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
attrs_cached_after): New variables.
(find_attrs_to_cache): New function.
(FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
(write_test_expr): Add attrs_cached argument, return it too,
attempt to cache non-const attributes used more than once in
a single case handling.
(write_attr_get): Use find_attrs_to_cache, for caching candidates
emit cached_* variables. Adjust write_attr_set callers.
(write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
to find attributes that should be cached in this block. Adjust
write_test_expr callers.
(write_attr_case): Clear attrs_to_cache. Adjust write_attr_set
callers.
(make_automaton_attrs): Adjust write_test_expr caller.
Jakub Jelinek [Mon, 21 Jun 2010 16:27:25 +0000 (18:27 +0200)]
Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
* Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
* genattrtab.c (check_tune_attr, find_tune_attr): New functions.
(make_automaton_attrs): If find_tune_attr returns non-NULL,
write separate internal_dfa_insn_code_* and insn_default_latency_*
functions for each attribute's value and emit init_sched_attrs
function and function pointers.
* genattr.c (const_attrs, reservations): New variables.
(gen_attr): Add const attributes to const_attrs vector.
(check_tune_attr, find_tune_attr): New functions.
(main): Add reservations to reservations vector. If find_tune_attr
returns true, add prototype for init_sched_attrs and make
internal_dfa_insn_code and insn_default_latency function pointers,
otherwise define init_sched_attrs as dummy macro.
* cfgexpand.c: Include insn-attr.h.
(gimple_expand_cfg): Call init_sched_attrs.
Arnaud Charlet [Mon, 21 Jun 2010 15:24:03 +0000 (17:24 +0200)]
[multiple changes]
2010-06-21 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
known at compile time.
2010-06-21 Gary Dismukes <dismukes@adacore.com>
* atree.adb: Fix comment typo.
2010-06-21 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
whether a universal arithmetic expression in a conversion, which is
rewritten from a function call with an expanded name, is ambiguous.
2010-06-21 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
source files in specified list of sources.
(Check_Package_Naming): Remove out parameters Bodies and Specs, as they
are never used.
(Add_Source): Set the Location of the new source
(Process_Exceptions_File_Based): Call Add_Source with the Location
(Get_Sources_From_File): If an exception is found, set its Listed to
True
(Find_Sources): When Source_Files is specified, if an exception is
found, set its Listed to True. Remove any exception that is not in a
specified list of sources.
* prj.ads (Source_Data): New component Location
2010-06-21 Vincent Celier <celier@adacore.com>
* gnatbind.adb (Closure_Sources): Global table, moved from block.
Arnaud Charlet [Mon, 21 Jun 2010 14:17:34 +0000 (16:17 +0200)]
[multiple changes]
2010-06-21 Thomas Quinot <quinot@adacore.com>
* bindgen.ads: Update comments.
2010-06-21 Vincent Celier <celier@adacore.com>
* gnatbind.adb: Suppress dupicates when listing the sources in the
closure (switch -R).
2010-06-21 Emmanuel Briot <briot@adacore.com>
* s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
is too small.
2010-06-21 Emmanuel Briot <briot@adacore.com>
* g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
New subprograms.
(Expect_Internal): No longer raises an exception, so that it can set
out parameters as well. When a process has died, reset its Input_Fd
to Invalid_Fd, so that when using multiple processes we can find out
which process has died.
* sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
rederivation associated with a full declaration in a private part, and
there is a partial view that derives the same parent subprogram, the
new entity does not become visible. This check must be applied to
interface operations as well.
Arnaud Charlet [Mon, 21 Jun 2010 13:35:58 +0000 (15:35 +0200)]
[multiple changes]
2010-06-21 Thomas Quinot <quinot@adacore.com>
* sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
extract bounds, to ensure that we get the proper captured values,
rather than an expression that may have changed value since the point
where the subtype was elaborated.
(Find_Body_Discriminal): New utility subprogram to share code between...
(Eval_Attribute): For the case of a subtype bound that references a
discriminant of the current concurrent type, insert appropriate
discriminal reference.
(Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
requeue to an entry in a family in the current task, use corresponding
body discriminal.
(Analyze_Accept_Statement): Rely on expansion of attribute references
to insert proper discriminal references in range check for entry in
family.
2010-06-21 Emmanuel Briot <briot@adacore.com>
* s-regpat.adb (Compile): Fix handling of big patterns.
Arnaud Charlet [Mon, 21 Jun 2010 13:26:24 +0000 (15:26 +0200)]
[multiple changes]
2010-06-21 Pascal Obry <obry@adacore.com>
* prj-nmsc.adb (Search_Directories): Use the non-translated directory
path to open it.
2010-06-21 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
external name.
2010-06-21 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_Concatenate): If an object declaration is created
to hold the result, indicate that the target of the declaration does
not need an initialization, to prevent spurious errors when
Initialize_Scalars is enabled.
2010-06-21 Ed Schonberg <schonberg@adacore.com>
* a-tifiio.adb (Put): In the procedure that performs I/O on a String,
Fore is not bound by line length. The Fore parameter of the internal
procedure that performs the operation is an integer.
2010-06-21 Thomas Quinot <quinot@adacore.com>
* sem_res.adb, checks.adb: Minor reformatting.
2010-06-21 Emmanuel Briot <briot@adacore.com>
* s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
into Get_Next.
(Insert_Operator_Before): New subprogram, avoids duplicated code
(Compile): Avoid doing two compilations when the pattern matcher ends
up being small.
Uros Bizjak [Sun, 20 Jun 2010 21:42:10 +0000 (23:42 +0200)]
re PR target/44546 (ICE in extract_insn, at recog.c:2103 with -ffast-math -Os (compiling graphviz))
PR target/44546
* config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
New predicate.
* config/i386/i386.md (*fp_jcc_8<mode>_387): Use
ix86_swapped_fp_comparsion_operator instead of
ix86_fp_comparison_operator.
(*fp_jcc_1_387): Rename from *fp_jcc_3_387.
(*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
(*fp_jcc_2_387): Rename from *fp_jcc_5_387.
(*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
(*fp_jcc_3_387): Rename from *fp_jcc_7_387.
(*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
testsuite/ChangeLog:
PR target/44546
* gcc.target/i386/pr44546.c: New test.
Jerry DeLisle [Sat, 19 Jun 2010 00:58:28 +0000 (00:58 +0000)]
re PR fortran/44477 (Sequential I/O with END FILE: File position should be at EoF)
2010-06-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44477
* io/file_pos.c (st_endfile): Add check for ENDFILE when file is
already positioned after the EOF marker. Use find_or_create_unit
instead of find_unit. If unit is not connected, connect it and create
the file with default settings.
* io/transfer.c (data_transfer_init): Add check for attempted READ or
WRITE when file is already positioned after the EOF marker.
Arnaud Charlet [Fri, 18 Jun 2010 19:48:43 +0000 (21:48 +0200)]
[multiple changes]
2010-06-18 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
declaration appears in the same unit and ealier than the renamed
entity, retain generated body to prevent order-of-elaboration issues in
gigi.
Eric Botcazou [Fri, 18 Jun 2010 16:38:29 +0000 (16:38 +0000)]
re PR rtl-optimization/40900 (redundant sign extend of short function returned value)
PR rtl-optimization/40900
* expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
original expression for later reuse.
<expand_decl_rtl>: Use promote_function_mode to compute the signedness
of the promoted RTL for a SSA_NAME on the LHS of a call statement.
Javier Miranda [Fri, 18 Jun 2010 15:59:27 +0000 (15:59 +0000)]
[multiple changes]
2010-06-18 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
2010-06-18 Thomas Quinot <quinot@adacore.com>
* sprint.ads: Minor reformatting.
* output.ads: Update obsolete comment.
2010-06-18 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
an external intrinsic operation (e.g. a GCC numeric function) indicate
that the renaming entity has the same characteristics, so a call to it
is properly expanded.