PR middle-end/33074
* emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
REG_LIBCALL note.
* gfortran.dg/pr33074.f90: New test.
From-SVN: r127511
/cp
2007-08-15 Paolo Carlini <pcarlini@suse.de>
PR c++/33035
* pt.c (push_template_decl_real): Depending on TYPE_P
use either TYPE_CONTEXT or DECL_CONTEXT.
/testsuite
2007-08-15 Paolo Carlini <pcarlini@suse.de>
PR c++/33035
* g++.dg/template/crash68.C: New.
From-SVN: r127508
2007-08-14 Daniel Berlin <dberlin@dberlin.org>
* tree-pass.h (PROP_pta): Removed.
(TODO_rebuild_alias): New.
(pass_may_alias): Removed.
* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
aliasing if we changed something.
* tree-ssa-alias.c (compute_may_aliases): Make non-static. Update
SSA internally.
(pass_may_alias): Removed.
(create_structure_vars): Return TODO_rebuild_alias.
* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
* tree-sra.c (tree_sra): Only rebuild aliasing if something
changed.
(tree_sra_early): We never affect aliasing right now.
* tree-flow.h (compute_may_aliases): New prototype.
* passes.c: Remove pass_may_alias from the passes.
(execute_function_todo): Support TODO_rebuild_alias.
From-SVN: r127491
PR target/30315
* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
* config/i386/i386.md (plusminus)(addsub)(SWI): New.
(*<addsub><mode>3_cc_overflow): New.
(*add<mode>3_cconly_overflow): New.
(*sub<mode>3_cconly_overflow): New.
(*<addsub>si3_zext_cc_overflow): New.
* config/i386/predicates.md (fcmov_comparison_operator): Accept
CCCmode for LTU, GTU, LEU and GEU.
(ix86_comparison_operator): Likewise.
(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
* gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
or MINUS expressions.
testsuite/
PR target/30315
* gcc.target/i386/pr30315.c: New.
From-SVN: r127481
PR fortran/32594
* trans-expr.c (gfc_conv_substring_expr): Only call
gfc_conv_substring if expr->ref is not NULL.
* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
expression might be a constant.
(gfc_simplify_expr): Handle missing start and end, as well as
missing ref.
* gfortran.dg/substr_5.f90: New test.
From-SVN: r127478
(Write_Eol): Remove trailing spaces before writing the line
(Write_Eol_Keep_Blanks): New procedure to write a line, including
possible trailing spaces.
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
Fix problem with suppressing warning messages from back end
Improve handling of deleted warnings
From-SVN: r127474
(Task_Cont, Task_Stop): New functions, thin
binding to the VxWorks routines which have changed between VxWorks 5
and 6.
(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
which are not callable from a RTP.
From-SVN: r127473
(Check_References.Publicly_Referenceable): A formal parameter is never
publicly referenceable outside of its body.
(Check_References): For an unreferenced formal parameter in an accecpt
statement, use the same warning circuitry as for subprogram formal
parameters.
(Warn_On_Unreferenced_Entity): New subprogram, taken from
Output_Unreferenced_Messages, containing the part of that routine that
is now reused for entry formals as described above.
(Has_Pragma_Unreferenced_Check_Spec): New function
(Check_References): Clean up handling of unmodified IN OUT parameters
From-SVN: r127471
(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
and N_Procedure_Call_Statement.
(takes_address): Rename to lvalue_required_p, add third parameter
'aliased'
and adjust recursive calls.
<N_Indexed_Component>: Update 'aliased' from the array type.
<N_Selected_Component>: New case.
<N_Object_Renaming_Declaration>: New Likewise.
(Identifier_to_gnu): Adjust for above changes.
(maybe_stabilize_reference) <CONST_DECL>: New case.
From-SVN: r127470
(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more
descriptive of the current use of the predicate, and update
documentation.
From-SVN: r127469
* exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.
(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
Prim_Op_Count by Max_Predef_Prims.
From-SVN: r127468
2007-08-14 Geert Bosch <bosch@adacore.com>
* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
Add required linker pragmas for automatically linking with the gnalasup
linear algebra support library, and the systems math library.
Rename cdot to cdotu and zdot to zdotu.
Update header comment to describe purpose of package.
2007-08-14 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb (Find_Final_List): For an anonymous access type that has
an explicitly specified Associated_Final_Chain, use that list.
(Expand_N_Package_Body): Build dispatch tables of library level tagged
types.
(Expand_N_Package_Declaration): Build dispatch tables of library level
tagged types. Minor code cleanup.
2007-08-14 Vincent Celier <celier@adacore.com>
* gnatchop.adb (Terminate_Program): Remove exception and use
Types.Terminate_Program instead.
* osint.ads, osint.adb (Current_Exit_Status): New global variable
(Find_Program_Name): Added protection against empty name.
(OS_Exit_Through_Exception): New procedure
* s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
(OS_Exit_Default): New procedure that contains the previous
implementation of procedure OS_Exit.
(Final_Value): Remove obsolete Interix stuff.
2007-08-14 Thomas Quinot <quinot@adacore.com>
* g-socket.ads: Reorganize example code so that it also works on
Windows XP.
2007-08-14 Tristan Gingold <gingold@adacore.com>
* g-trasym.ads: AIX now supports symbolic backtraces.
2007-08-14 Ed Schonberg <schonberg@adacore.com>
* lib-load.adb (From_Limited_With_Chain): Always scan the stack of
units being loaded to detect circularities. A circularity may be
present even if the current chain of pending units to load starts from
a limited_with_clause.
* lib-load.ads: Change profile of Load_Unit to use a with_clause
rather than a boolean flag, in order to detect circularities in
with_clauses.
* par-load.adb: Use current with_clause in calls to Load_Unit, rather
than propagating the From_Limited_With flag, in order to handle
properly circularities involving with_clauses.
2007-08-14 Nicolas Setton <setton@adacore.com>
* link.c (FreeBSD): Add "const" keyword where needed, to eliminate
warnings.
2007-08-14 Arnaud Charlet <charlet@adacore.com>
* Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
to build for libgnala.
libgnat: Add rules to build libgnala.a
(LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
Add s-osinte-vxworks-kernel.adb to the target pairs of the
kernel run-time lib for VxWorks 6, which would provide a different
implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
running ZCX by default.
Add g-sttsne-locking to LynxOS version.
Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
* system-darwin-x86.ads: New file.
* Make-lang.in: Delete files before copying onto them, so if they are
read-only, the copy won't fail.
Update dependencies
2007-08-14 Pascal Obry <obry@adacore.com>
* mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
naming scheme.
2007-08-14 Vincent Celier <celier@adacore.com>
* mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
(Gcc): Initialize Gcc_Name at the first call
2007-08-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Analyze_Package_Specification): Do not install private
with_clauses of the enclosing unit when analyzing the package
specification of a nested instance.
2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
* sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
(Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
layout of N_Allocator.
2007-08-14 Thomas Quinot <quinot@adacore.com>
* rtsfind.adb (Check_RPC): Add PCS version check.
* gnatvsn.ads, gnatvsn.adb: Add PCS version.
(Gnat_Free_Software): New function.
* sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
the PCS_Version value from s-parint, used to check that it is consistent
with what exp_dist expects.
* s-parint.ads (PCS_Version): New entity for checking consistency
between exp_dist and PCS.
* gen-soccon.c: (SO_REUSEPORT): New constant.
2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
* a-calfor.adb (Image (Duration; Boolean)): Change type of local
variable Sub_Second to Duration in order to accomodate a larger range
of arithmetic operations.
2007-08-14 Bob Duff <duff@adacore.com>
* g-sttsne-locking.ads: Move comments from spec to body.
* g-sttsne-locking.adb: Move comments from spec to body.
* g-sttsne-vxworks.ads: Removed.
* g-sttsne-vxworks.adb: Removed.
From-SVN: r127467
2007-08-14 Tristan Gingold <gingold@adacore.com>
* tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
* tb-ivms.c: New file.
* g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
From-SVN: r127466
2007-08-14 Gary Dismukes <dismukes@adacore.com>
* s-veboop.adb (SU): New named number initialized to
System.Storage_Unit.
(True_Val): The initialization expression is revised to use SU (=
Storage_Unit) rather than assuming 8 for the component size of an
unpacked Boolean array.
From-SVN: r127465
2007-08-14 Jose Ruiz <ruiz@adacore.com>
* s-tasini.adb (Get_Stack_Info): Move this function to
System.Soft_Links.Tasking because it is common to the full and the
restricted run times.
(Init_RTS): Do not set the Get_Stack_Info soft link because it is done
in SSL.Tasking.Init_Tasking_Soft_Links.
* s-solita.adb (Get_Stack_Info): Function moved from
System.Tasking.Initialization because it is common to the full and the
restricted run times.
(Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
From-SVN: r127463
2007-08-14 Cyrille Comar <comar@adacore.com>
* s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
since it is potentially used in cases implying double finalization of
the same object.
From-SVN: r127462
2007-08-14 Ed Schonberg <schonberg@adacore.com>
* s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
obsolescent warning on application of 'Class to an incomplete type.
* s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
prevent obsolescent warning on application of 'Class to an incomplete
type.
From-SVN: r127460
2007-08-14 Javier Miranda <miranda@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
generated interface thunk.
From-SVN: r127459
2007-08-14 Javier Miranda <miranda@adacore.com>
* sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
of private types add missing check on matching interfaces in the
partial and full declarations.
(Analyze_Protected_Type): Code cleanup.
(Analyze_Task_Type): Code cleanup.
From-SVN: r127458
2007-08-14 Vincent Celier <celier@adacore.com>
* output.ads, output.adb (Write_Eol): Remove trailing spaces before
writing the line.
(Write_Eol_Keep_Blanks): New procedure to write a line, including
possible trailing spaces.
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
From-SVN: r127456
2007-08-14 Gary Dismukes <dismukes@adacore.com>
* layout.adb (Layout_Type): In the case of access-to-subprogram types,
if AAMP_On_Target is True, then the size of the type encompasses two
addresses (a static link and a subprogram address), except in the case
of library-level access types.
From-SVN: r127455
2007-08-14 Paul Hilfinger <hilfinger@adacore.com>
* impunit.adb: Re-organize System.Random_Numbers and
GNAT.Random_Numbers and add to builds.
* Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
* s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
* a-assert.ads, a-assert.adb: New files.
From-SVN: r127454
2007-08-14 Vincent Celier <celier@adacore.com>
* gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
(Output_Source): Do nothing if parameter is No_Sdep_Id
* make.adb (Gnatmake): Do not rebuild an archive simply because a
shared library it imports has a later time stamp.
(Check): Resolve the symbolic links in the path name of the object
directory.
Check that the ALI file is in the correct object directory
Check if a file name does not correspond to the mapping of units
to file names.
(Display_Version): New procedure
(Initialize): Process switches --version and --help
Use type Path_Name_Type for path name
From-SVN: r127453
2007-08-14 Eric Botcazou <ebotcazou@adacore.com>
* gnatlink.adb (Gnatlink): Pass switches to the linker even if the
binder-generated file is not in Ada.
Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
recorded in the ALI file.
Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
From-SVN: r127452
2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
* g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
values to compute the number of seconds since the Unix Epoc in order to
account for Daylight Savings Time. Perform special processing for dates
that are earlier than the Unix Epoc to obtain a negative number.
From-SVN: r127450
2007-08-14 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
typecode parameters for a union (in a variant record), remove
extraneous layer of Any wrapping for member label.
(Expand_Receiving_Stubs_Bodies): For an RCI package body that has
elabration statements, register the package with the name server
at the beginning, not at the end, of the elaboration statements so
that they can create remote access to subprogram values that designate
remote subprograms from the package.
From-SVN: r127449
2007-08-14 Javier Miranda <miranda@adacore.com>
Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb (Build_Protected_Entry): Propagate the original source
location to allow the correct generation of errors in case of
restrictions applied to the expanded code.
(Expand_Entry_Barrier): Remove all generated renamings for a barrier
function if the condition does not reference them.
(Expand_Entry_Body_Declarations): Mark the index constant as having a
valid value.
From-SVN: r127448