2009-04-07 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
type for the case of concatenating a constrained array indexed by an
enumeration type.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Conformance): when checking conformance of an
operation that overrides an abstract operation inherited from an
interface, return False if only one of the controlling formals is an
access parameter.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Object_Renaming): additional error messages
mandated by AI05-105.
2009-04-07 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
2009-04-07 Thomas Quinot <quinot@adacore.com>
* usage.adb: Minor fix in usage message.
* sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
match declaration; the correct subtype is Node_Id, not Entity_Id,
because the expected node kind is an identifier, not a defining
identifier.
* switch-c.adb: Minor reformatting.
* uintp.adb: Minor reformatting.
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch13.adb: Minor reformatting
From-SVN: r145696
2009-04-07 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
against missing parent.
2009-04-07 Thomas Quinot <quinot@adacore.com>
* xoscons.adb: Minor reformatting
2009-04-07 Robert Dewar <dewar@adacore.com>
* rtsfind.ads: Remove obsolete string concatenation entries
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Check_Body_Required): Handle properly imported
subprograms.
2009-04-07 Gary Dismukes <dismukes@adacore.com>
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
Attribute_Address): When Init_Or_Norm_Scalars is True and the object
is of a scalar or string type then suppress the setting of the
expression to Empty.
* freeze.adb (Warn_Overlay): Also emit the warnings about default
initialization for the cases of scalar and string objects when
Init_Or_Norm_Scalars is True.
From-SVN: r145694
2009-04-07 Bob Duff <duff@adacore.com>
* s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
2009-04-07 Bob Duff <duff@adacore.com>
* gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
Form parameter of Text_Translation=No allows binary mode for Text_IO
files.
* gnat_rm.texi: Document Form parameter Text_Translation=xxx.
2009-04-07 Javier Miranda <miranda@adacore.com>
* exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
processing the bounds for bit packed arrays or VM target machines.
From-SVN: r145691
2009-04-07 Thomas Quinot <quinot@adacore.com>
* g-sothco.ads (Int_Access): Remove extraneous access type (use
anonymous access instead).
(Get_Socket_From_Set): Fix incorrectly reverted formals
Last and Socket to match the underlying C routine.
* g-socket.adb
(Get): Use named parameter associations instead of positional ones in
call go Get_Socket_From_Set, since this routine has two formals of the
same type.
* g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
(C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
for type of Arg formal.
* sem_warn.adb: Minor reformatting
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
over record components.
2009-04-07 Nicolas Roche <roche@adacore.com>
* gsocket.h:
Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
has disappeared between VxWorks 6.4 and VxWorks 6.5
In RTP mode use time.h instead of times.h
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
2009-04-07 Kevin Pouget <pouget@adacore.com>
* exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
expanded code for constrained types.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
AI05-105: in an object renaming declaration, anonymousness is a name
resolution rule.
sem_ch8.adb (Analyze_Object_Renaming): Ditto.
2009-04-07 Arnaud Charlet <charlet@adacore.com>
* g-comlin.adb (Expansion): Fix old regression: also return directory
names when matching.
From-SVN: r145689
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb:
(Expand_N_Op_Concat): Call Expand_Concatenate for all cases
(Expand_Concatenate): New name for Expand_Concatenate_String which has
been rewritten to handle all types.
(Expand_Concatenate_Other): Remove
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb (Generate_Reference): A default subprogram in an
instance appears within the tree for the instance, but generates an
implicit reference in the ALI.
From-SVN: r145686
2009-04-07 Martin Jambor <mjambor@suse.cz>
* tree-ssa-alias.c (refs_may_alias_p_1): Check for
is_gimple_min_invariant rather than CONSTANT_CLASS_P so that invariant
ADDR_EXPRS are include too.
From-SVN: r145685
2009-04-07 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
derived type that has discriminants, propagate the list of interfaces
to the corresponding new base type. In addition, propagate also
attribute Limited_Present (found working in this patch).
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Rewrite concatenation expansion.
From-SVN: r145684
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
relevant to packages.
2009-04-07 Robert Dewar <dewar@adacore.com>
* sem_attr.adb: Minor reformatting
* sem_ch6.adb: Minor reformatting
From-SVN: r145682
2009-04-07 Tristan Gingold <gingold@adacore.com>
* socket.c: Add more protections against S_resolvLib_ macros.
2009-04-07 Thomas Quinot <quinot@adacore.com>
* sem_attr.adb: Minor reformatting
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): New predicate
Is_Overriding_Alias to handle properly types that inherit two homonym
operations that have distinct dispatch table entries.
From-SVN: r145681
2009-04-07 Emmanuel Briot <briot@adacore.com>
* s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
looking for the end of a parenthesis group
2009-04-07 Tristan Gingold <gingold@adacore.com>
* gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
* socket.c Don't use resolvLib_ macros if not defined.
From-SVN: r145680
2009-04-07 Robert Dewar <dewar@adacore.com>
* g-socket.adb: Minor reformatting.
* g-socthi-mingw.adb: Minor reformatting
* g-sothco.ads: Minor reformatting
* exp_ch4.adb:
(Expand_Concatenate_String): Complete rewrite to generate efficient code
inline instead of relying on external library routines.
* s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
obsolescent
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb:
(Eval_Attribute): for attributes of array objects that are not strings,
attributes are not static if nominal subtype of object is unconstrained.
2009-04-07 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
operations for a type T in an instance do not override each other,
when T is derived from a formal private type, the corresponding
operations inherited by a type derived from T outside
of the instance do not override each other either.
From-SVN: r145679
2009-04-07 Robert Dewar <dewar@adacore.com>
(Osint.Fail): Change calling sequence to have one string arg
(Make.Make_Failed): Same change
All callers are adjusted to use concatenation
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Fix documentation typo
2009-04-07 Robert Dewar <dewar@adacore.com>
* tbuild.ads: Minor reformatting
2009-04-07 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
when compiling under ZFP runtime.
2009-04-07 Robert Dewar <dewar@adacore.com>
* g-comlin.adb: Minor reformatting
2009-04-07 Thomas Quinot <quinot@adacore.com>
* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
From-SVN: r145678
2009-04-07 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnatDnn/-gnatGnn
* opt.ads (Sprint_Line_Limit): New parameter
* sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
* switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
* usage.adb: Output information for -gnatGnn -gnatDnn
* make.adb: Minor reformatting
* mlib-tgt-specific-vms-alpha.adb: Minor reformatting
* mlib-tgt-specific-vms-ia64.adb: Minor reformatting
From-SVN: r145677
2009-04-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
decls are only used if passes as parameters or if they are
local statics and the call is not to a builtin.
(call_may_clobber_ref_p_1): Likewise.
From-SVN: r145676
2009-04-06 Laurent GUERBY <laurent@guerby.net>
* Makefile.in (ADA_RTS_DIR): Define.
* Makefile.in (gnatlib-*): Link adainclude and adalib to it.
From-SVN: r145673
2009-04-07 Robert Dewar <dewar@adacore.com>
* checks.adb (Determine_Range): Add Assume_Valid parameter
* checks.ads (Determine_Range): Add Assume_Valid parameter
* errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
Is_Null_Loop to suppress warnings in a loop body.
* exp_ch4.adb:
(Rewrite_Comparison): Major rewrite to accomodate invalid values
* exp_ch5.adb:
(Expand_N_Loop_Statement): Delete loop known not to execute
* opt.ads:
(Assume_No_Invalid_Values): Now set to False, and as documented, this
fully enables the proper handling of invalid values.
* sem_attr.adb:
New calling sequence for Is_In_Range
* sem_ch5.adb:
(Analyze_Iteration_Scheme): Accomodate possible invalid values
in determining if a loop range is null.
* sem_eval.adb:
(Is_In_Range): Add Assume_Valid parameter
(Is_Out_Of_Range): Add Assume_Valid_Parameter
(Compile_Time_Compare): Major rewrite to accomodate invalid values and
also to do more accurate and complete range analysis, catching more
cases.
* sem_eval.ads:
(Is_In_Range): Add Assume_Valid parameter
(Is_Out_Of_Range): Add Assume_Valid_Parameter
* sem_util.adb:
New calling sequence for Is_In_Range
* sinfo.adb:
(Suppress_Loop_Warnings): New flag
* sinfo.ads:
(Is_Null_Loop): Update documentation
(Suppress_Loop_Warnings): New flag
* gnat_ugn.texi: Document -gnatB switch
From-SVN: r145672
2009-04-07 Thomas Quinot <quinot@adacore.com>
* exp_ch3.adb: Minor rewording (comments)
2009-04-07 Robert Dewar <dewar@adacore.com>
* exp_disp.adb: Minor reformatting
From-SVN: r145670
2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
Do not convert the result. Remove obsolete comment.
From-SVN: r145662
* gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
(void_type_decl_node): Remove.
(init_gigi_decls): Likewise.
(gnat_install_builtins): Declare.
(record_builtin_type): Likewise.
(create_type_stub_decl): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
(gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
artificial.
<E_Array_Subtype>: Use the index types, not only their name, in the
record giving the names of the bounds, if any.
For a packed array type, make it artificial only if the base type
was artificial as well. Remove redundant statement.
(gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
dummy types.
Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
(rest_of_type_decl_compilation_no_defer): Likewise.
* gcc-interface/misc.c (gnat_printable_name): Add missing guard.
* gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
and use create_type_stub_decl to build it.
(gnat_pushdecl): Rewrite condition.
(gnat_install_builtins): Remove bogus declaration.
(record_builtin_type): New function.
(finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
of types.
(create_type_stub_decl): New function.
(create_type_decl): Assert that the type is not dummy. If the type
hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
(build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
(build_vms_descriptor): Likewise.
(init_gigi_decls): Delete and move bulk of code to...
* gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
(emit_range_check): Add gnat_node parameter.
(emit_index_check): Likewise.
(emit_check): Likewise.
(build_unary_op_trapv): Likewise.
(build_binary_op_trapv): Likewise.
(convert_with_check): Likewise.
(Attribute_to_gnu): Adjust calls for above changes.
(call_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
(assoc_to_constructor): Likewise.
(pos_to_constructor): Likewise.
(Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
(process_type): Do not create TYPE_DECL for dummy types.
From-SVN: r145660
* gcc-interface/trans.c (check_for_eliminated_entity): New function.
(Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
(call_to_gnu): Invoke it instead of manually checking.
From-SVN: r145652
2009-04-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/38920
* expr.c (gfc_check_pointer_assign): Enable interface check for
procedure pointers.
* gfortran.h: Add copy_formal_args_intr.
* interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
if second argument is an intrinsic.
(compare_intr_interfaces): Correctly set attr.function, attr.subroutine
and ts.
(compare_parameter): Call gfc_compare_interfaces also for intrinsics.
* resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
intrinsic interfaces here. Must happen earlier.
(resolve_symbol): Resolution of intrinsic interfaces moved here from
resolve_specific_..., and formal args are now copied from intrinsic
interfaces.
* symbol.c (copy_formal_args_intr): New function to copy the formal
arguments from an intinsic procedure.
2009-04-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/38920
* gfortran.dg/proc_decl_1.f90: Modified.
* gfortran.dg/proc_ptr_11.f90: Extended.
* gfortran.dg/proc_ptr_13.f90: Modified.
From-SVN: r145651
2009-04-07 Andrew Stubbs <ams@codesourcery.com>
* config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
Add t-sysroot-suffix to tmake_file.
* config/print-sysroot-suffix.sh: New file.
* config/t-sysroot-suffix: New file.
From-SVN: r145650
* libgcc2.c (INFINITY): Use __builtin_huge_val, not __builtin_inf,
as the latter produces a warning when the target does not support
infinity.
From-SVN: r145646
PR target/39634
* config.gcc: Merge powerpc-*-linux* and powerpc64-*-linux*.
Include soft-fp/t-softfp after rs6000/t-linux64.
* config.host: Reorder and merge to match config.gcc change.
From-SVN: r145641
PR c++/35146
* pt.c (fn_type_unification): For DEDUCE_EXACT check that
the deduced template arguments give us the parameter types
we're looking for.
From-SVN: r145625