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.
From-SVN: r161161
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.
From-SVN: r161160
2010-06-22 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
* einfo.adb (Related_Expression, Set_Related_Expression): Add
assertions.
2010-06-22 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
reorganization to properly check if the operation has been inherited as
an abstract operation.
2010-06-22 Ed Falis <falis@adacore.com>
* s-osinte-vxworks.ads: Complete previous change.
From-SVN: r161159
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Remove project level attribute Main_Language.
2010-06-22 Robert Dewar <dewar@adacore.com>
* switch-b.adb, osint-b.adb: Minor reformatting.
2010-06-22 Pascal Obry <obry@adacore.com>
* 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.
From-SVN: r161157
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.
From-SVN: r161153
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.
From-SVN: r161152
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.
From-SVN: r161151
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.
From-SVN: r161150
2010-06-22 Pascal Obry <obry@adacore.com>
* g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
(C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
recvmsg emulation.
From-SVN: r161149
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.
From-SVN: r161148
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.
From-SVN: r161147
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.
From-SVN: r161144
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.
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb, sem_aggr.adb: Minor reformatting.
From-SVN: r161142
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.
From-SVN: r161141
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Is_Delegate): Put in proper alpha order.
* sem_eval.adb: Minor reformatting.
From-SVN: r161140
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)
From-SVN: r161139
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.
From-SVN: r161138
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.
From-SVN: r161137
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.
From-SVN: r161136
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.
From-SVN: r161135
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.
From-SVN: r161134
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_eval.adb: Minor reformatting.
2010-06-22 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Conditional_Expression): Use
Expression_With_Actions to clean up the code generated when folding
constant expressions.
2010-06-22 Vincent Celier <celier@adacore.com>
* g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
Has_Process.
From-SVN: r161132
2010-06-22 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
found, check if it's path has aready been found, whatever its index.
2010-06-22 Robert Dewar <dewar@adacore.com>
* atree.adb, gnatbind.adb: Minor reformatting.
Minor code reorganization.
From-SVN: r161131
* 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.
* gcc.dg/pragma-diag-1.c: New.
From-SVN: r161115
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.
* gcc.c-torture/execute/pr44575.c: New test.
From-SVN: r161097
* 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.
From-SVN: r161096
* 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.
From-SVN: r161094
* 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.
From-SVN: r161093
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.
From-SVN: r161088
2010-06-21 Thomas Quinot <quinot@adacore.com>
* sem_res.adb: Minor reformatting.
* atree.adb: New debugging hook "rr" for node rewrites.
From-SVN: r161087