2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
an untagged incomplete type that is a limited view.
From-SVN: r160741
2010-06-14 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
and gnatppa.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
factoring duplicated code between...
(Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
* a-envvar.ads: Minor reformatting
2010-06-14 Arnaud Charlet <charlet@adacore.com>
* ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
static entities.
(Scan_ALI): Take into account new Visibility field.
(Visibility_Kind): New type.
(Xref_Entity_Record): Replace Lib field by Visibility.
* gcc-interface/Make-lang.in: Update dependencies.
2010-06-14 Pascal Obry <obry@adacore.com>
* raise.h: Remove unused defintions.
2010-06-14 Bob Duff <duff@adacore.com>
* par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
the incorrect error "proper body expected".
* par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
allowed here" error in case of subunits, which was triggered by the
above change to P_Subunit.
From-SVN: r160740
2010-06-14 Robert Dewar <dewar@adacore.com>
* ali.adb (Scan_ALI): Implement reading and storing of N lines
(Known_ALI_Lines): Add entry for 'N' (notes)
* ali.ads (Notes): New table to store Notes information
* alloc.ads: Add entries for Notes table
* lib-util.adb (Write_Info_Int): New procedure
(Write_Info_Slit): New procedure
(Write_Info_Uint): New procedure
* lib-util.ads (Write_Info_Int): New procedure
(Write_Info_Slit): New procedure
(Write_Info_Uint): New procedure
* lib-writ.adb (Write_Unit_Information): Output N (notes) lines
* lib-writ.ads: Update documentation for N (Notes) lines
* lib.adb (Store_Note): New procedure
* lib.ads (Notes): New table
(Store_Note): New procedure
* sem_prag.adb: Call Store_Note for affected pragmas
From-SVN: r160736
2010-06-14 Thomas Quinot <quinot@adacore.com>
* socket.c: Fix wrong condition in #ifdef
* g-socket.adb, g-sothco.ads: Functions imported from socket.c that
take or return char* values can't use Interfaces.C.Strings.chars_ptr,
because on VMS this type is a 32-bit pointer which is not compatible
with the default for C pointers for code compiled with gcc on that
platform.
From-SVN: r160735
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_util (Is_VMS_Operator): New predicate to determine whether an
operator is an intrinsic operator declared in the DEC system extension.
* sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
if the operator is a VMS intrinsic.
* sem_eval.adb (Eval_Logical_Op): Operation is legal and be
constant-folded if the operands are signed and the operator is a VMS
intrinsic.
2010-06-14 Robert Dewar <dewar@adacore.com>
* g-socket.adb, gnatcmd.adb: Minor reformatting
From-SVN: r160734
2010-06-14 Pascal Obry <obry@adacore.com>
* s-finimp.adb: Fix typo.
* raise.h: Remove duplicate blank line.
2010-06-14 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Sources): Always set the object file and the
switches file names, as the configuration of the language may change
in an extending project.
(Process_Naming_Scheme): For sources of projects that are extended, set
the configuration of the language from the highest extending project
where the language is declared.
2010-06-14 Gary Dismukes <dismukes@adacore.com>
* sem_res.adb (Resolve_Call): For infinite recursion check, test
whether the called subprogram is inherited from a containing subprogram.
(Same_Or_Aliased_Subprograms): New function
From-SVN: r160733
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
use-visible, check whether it is a primitive for more than one type.
2010-06-14 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
* sem_ch7.adb (Preserve_Full_Attributes): Preserve
Has_Pragma_Unmodified flag.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
now done in GNAT.Sockets if necessary.
* gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
Ensure mutual exclusion for netdb operations if the target platform
requires it.
(GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating struct
hostent as an opaque type to improve portability.
* s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
gethostbyYYY using proprietary VxWorks API so that a uniform interface
is available for the Ada side.
* gcc-interface/Makefile.in: Remove g-sttsne-*
* gcc-interface/Make-lang.in: Update dependencies.
2010-06-14 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Mapping_File): New function.
From-SVN: r160731
2010-06-14 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
2010-06-14 Arnaud Charlet <charlet@adacore.com>
* ali.adb: Fix typo.
* s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
instances.
* sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
the context does not have a homonym of the selector, emit default
error message.
From-SVN: r160728
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo,adb (Withed_Body): New attribute of a with_clause.
Indicates that there is an instantiation in the current unit that
loaded the body of the unit denoted by the with_clause.
* sem_ch12.adb (Mark_Context): When instanting a generic body, check
whether a with_clause in the current context denotes the unit that
holds the generic declaration, and mark the with_clause accordingly.
(Instantiate_Package_Body): call Mark_Context.
* sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
whether a given body should be traversed before the spec of the main
unit.
2010-06-14 Ed Falis <falis@adacore.com>
* sysdep.c: Fix 653 build against vThreads headers
From-SVN: r160725
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
the spec has been generated for a body without spec that carries an
Inline_Always pragma.
2010-06-14 Arnaud Charlet <charlet@adacore.com>
* lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
macro.
From-SVN: r160723
2010-06-14 Jerome Lambourg <lambourg@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
declaration for VMs, as those are useless and might lead to duplicated
local variable names in the generated code.
* gcc-interface/Make-lang.in: Update dependdencies.
From-SVN: r160721
2010-06-14 Robert Dewar <dewar@adacore.com>
* opt.ads, sem.adb, sem_elab.adb: Minor reformatting
2010-06-14 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
is renamed as Has_Following_Address_Clause.
* exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
to allow the caller to avoid Initialize_Scalars having an effect.
(Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
scalars with an address clause specified.
* exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
to allow the caller to avoid Initialize_Scalars having an effect.
* exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
(where it was called Has_Address_Clause).
* exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
(where it was called Has_Address_Clause).
* freeze.adb (Warn_Overlay): Suppress message about overlaying causing
problems for Initialize_Scalars (since we no longer initialize objects
with an address clause.
2010-06-14 Robert Dewar <dewar@adacore.com>
* exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
condition.
2010-06-14 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
on the entity of an implicitly generated postcondition procedure.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* sem_ch7.adb (Preserve_Full_Attributes): Propagate
Discriminant_Constraint elist from full view to private view.
From-SVN: r160720
2010-06-14 Robert Dewar <dewar@adacore.com>
* sem_res.adb: Minor reformatting
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem.adb: New version of unit traversal.
* sem_elab.adb (Check_Internal_Call): Do not place a call appearing
within a generic unit in the table of delayed calls.
From-SVN: r160718
2010-06-14 Robert Dewar <dewar@adacore.com>
* gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Save_References): If an identifier has been rewritten
during analysis as an explicit dereference, keep the reference implicit
in the generic, but preserve the entity if global. This prevents
malformed generic trees in the presence of some nested generics.
2010-06-14 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
tool with '-files=' option. Also fix some small errors (wrong brackets)
From-SVN: r160716
2010-06-14 Vincent Celier <celier@adacore.com>
* gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
the ALI files on the command line.
* ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
the same value as the parameter of the same name.
* ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
to False.
* bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
emit version symbols only for the units of the library.
(Gen_Versions_C): Ditto.
From-SVN: r160715
2010-06-14 Gary Dismukes <dismukes@adacore.com>
* sem_ch4.adb: Fix typo.
2010-06-14 Vasiliy Fofanov <fofanov@adacore.com>
* s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
vector IO doesn't work at default value properly.
2010-06-14 Doug Rupp <rupp@adacore.com>
* s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
2010-06-14 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): Do not invoke the tool with all the
sources of the project if a switch -files= is used.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* exp_attr.adb: Minor reformatting
From-SVN: r160714
2010-06-14 Gary Dismukes <dismukes@adacore.com>
* gnat_ugn.texi: Minor typo fixes and wording changes
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
prefixed form, do not re-analyze first actual, which may need an
implicit dereference.
* sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
prefixed notation, the analysis will rewrite the node, and possible
errors appear in the rewritten name of the node.
* sem_res.adb: If a call is ambiguous because its first parameter is
an overloaded call, report list of candidates, to clarify ambiguity of
enclosing call.
2010-06-14 Doug Rupp <rupp@adacore.com>
* s-auxdec-vms-alpha.adb: New package body implementing legacy
VAX instructions with Asm insertions.
* s-auxdec-vms_64.ads: Inline VAX queue functions
* s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
that show up only on VMS.
* gcc-interface/Makefile.in: Provide translation for
s-auxdec-vms-alpha.adb.
From-SVN: r160713
2010-06-14 Robert Dewar <dewar@adacore.com>
* a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting
2010-06-14 Eric Botcazou <ebotcazou@adacore.com>
* init.c: Code clean up.
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
not insert address clause in table for later validation if type of
entity is generic, to prevent possible spurious errors.
* sem_ch8.adb: Code clean up.
2010-06-14 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
texi2pdf and texi2html.
Document how to change scheduling properties on HP-UX.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* g-socket.ads: Remove misleading comments.
From-SVN: r160711
2010-06-14 Jerome Lambourg <lambourg@adacore.com>
* sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
CLI_Target as this prevents proper detection of exported names
duplicates when the exported language is different to CIL.
(Process_Interface_Name): Add check for CIL convention exports,
replacing the old one from Check_Duplicated_Export_Name.
2010-06-14 Matthew Heaney <heaney@adacore.com>
* a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
and new last satisfy constraints.
(Delete_Last): prevent overflow for subtraction of index values
(To_Vector): prevent overflow for addition of index values
From-SVN: r160710
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Complete_Object_Operation): After analyzing the
rewritten call, preserve the resulting type to prevent spurious errors,
when the call is implicitly dereferenced in the context of an in-out
actual.
* checks.adb (Apply_Discriminant_Check): If the target of the
assignment is a renaming of a heap object, create constrained type for
it to apply check.
From-SVN: r160709
2010-06-14 Pascal Obry <obry@adacore.com>
* prj-proc.adb: Fix copy of object directory for extending projects.
2010-06-14 Jose Ruiz <ruiz@adacore.com>
* init.c (__gnat_alternate_stack): Define this space for PowerPC linux
(__gnat_install_handler, PowerPC linux): Activate the alternative
signal stack.
From-SVN: r160708
2010-06-13 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/plugin/header_plugin.c: Add "c-family/" to c-common.h
and c-pretty-print.h.
* g++.dg/plugin/pragma_plugin.c: Add "c-family/" to c-pragma.h.
From-SVN: r160687
2010-06-13 Richard Guenther <rguenther@suse.de>
* lto-streamer-in.c (lto_input_ts_type_tree_pointers):
Do not stream but initialize TYPE_CANONICAL to NULL.
(lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
* gimple.c (gimple_types_compatible_p): Disregard
TYPE_STRUCTURAL_EQUALITY_P.
(gimple_register_type): Use TYPE_CANONICAL as cache.
* lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
before registering common types.
* config/i386/i386.c (ix86_function_arg_boundary): Do not
use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
* tree.h (TYPE_CANONICAL): Clarify documentation.
lto/
* lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
From-SVN: r160679