2011-08-01 Geert Bosch <bosch@adacore.com>
* sem_prag.adb (Check_No_Link_Name): New procedure.
(Process_Import_Or_Interface): Use Check_No_Link_Name.
* cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
instead of Standard_Long_Long_Float_Size global. Preparation for
eventual removal of per type constants.
* exp_util.ads (Get_Stream_Size): New function returning the stream
size value of subtype E.
* exp_util.adb (Get_Stream_Size): Implement new function.
* exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
function.
* exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
* einfo.adb:
(Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
From-SVN: r177026
gcc/
* calls.c (emit_library_call_value_1): Support padding for libcall
arguments and return values.
* config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
downwards in big-endian mode.
From-SVN: r177022
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
* par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
* par.adb: Add with for Namet.Sp.
* par-tchk.adb: Minor reformatting.
2011-08-01 Vincent Celier <celier@adacore.com>
* mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
(Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
of the init procedure of a SAL.
* mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
New procedure.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
reformatting.
2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* adaint.c (__gnat_file_time_name_attr): Get rid of warning.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
conformant with its spec (return True only for types that have
an overriding Initialize primitive operation that prevents them from
having preelaborable initialization).
* sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
initialization for controlled types in Ada 2005 or later mode.
From-SVN: r177021
libgcc/
* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
(libgcc-std.ver.in): Use above.
* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
LIBGCC2_GNU_PREFIX is defined. Use instead of LIBGCC2_GNU_PREFIX
throughout file.
* config/t-fixedpoint-gnu-prefix: New file.
* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
instead of __PFX__.
From-SVN: r177019
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
here.
(Freeze_All_Ent): Fix error in handling inherited aspects.
* sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
already analyzed, but don't skip entire processing of a declaration,
that's wrong in some cases of declarations being rewritten.
(Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
Don't delay for integer, string literals
Treat predicates in usual manner for delay, remove special case code,
not needed.
(Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
(Build_Predicate_Function): Update saved expression in aspect
(Build_Invariant_Procedure): Update saved expression in aspect
* exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
of replacement of discriminant references if the reference is simple.
From-SVN: r177010
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
* sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
Static_Predicate and Dynamic_Predicate.
(Build_Predicate_Function): Add processing for Static_Predicate
and Dynamic_Predicate.
* sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
(From_Static_Predicate): New flag
* snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
2011-08-01 Robert Dewar <dewar@adacore.com>
* usage.adb: Documentation cleanup for Ada version modes in usage.
* expander.adb: Minor reformatting.
From-SVN: r177009
2011-08-01 Robert Dewar <dewar@adacore.com>
* atree.ads: Minor comment fix.
* a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
a-witeio.ads, sem_prag.adb: Minor reformatting.
2011-08-01 Doug Rupp <rupp@adacore.com>
* env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
pointers. Use descrip.h header file for convenience. Add some
comments.
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
(Freeze_All): Call Check_Aspect_At_End_Of_Declarations
* sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
New procedure.
(Check_Aspect_At_End_Of_Declarations): New procedure
(Analye_Aspect_Specification): Minor changes for above procedures
* sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
specification node as well.
2011-08-01 Pascal Obry <obry@adacore.com>
* adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
Windows files. Use GetFilesAttributes() in this case to check for file
existence instead of returning with an error code.
From-SVN: r177008
2011-08-01 Vincent Celier <celier@adacore.com>
* a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
High is above Source length.
From-SVN: r177007
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads (Boolean_Aspects): New subtype.
* exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
for derived types in cases where the parent type and derived type have
aspects.
* freeze.adb (Freeze_Entity): Fix problems in handling derived type
with aspects when parent type also has aspects.
(Freeze_Entity): Deal with delay of boolean aspects (must evaluate
boolean expression at this point).
* sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
accordance with final decision on the Ada 2012 feature.
* sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2011-08-01 Matthew Heaney <heaney@adacore.com>
* a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
From-SVN: r177005
2011-08-01 Pascal Obry <obry@adacore.com>
* a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
Fix Replace_Slice when High is above current string size.
(Replace_Slice): Fix DL computation when High is above current
string length.
2011-08-01 Gary Dismukes <dismukes@adacore.com>
* gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
From-SVN: r177004
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Access): handle properly named
access to protected subprograms in generic bodies.
* sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
protected type, indicate that the convention of the subprogram is
Convention_Protected, because it may be used in subsequent declarations
within the protected declaration.
2011-08-01 Vincent Celier <celier@adacore.com>
* mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
and "final" procedures when the name of the library is "ada", to avoid
duplicate symbols "adainit" and "adafinal" in executables.
From-SVN: r177002
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
quantified expression that appears within a postcondition and uses the
Ada2012 'Result attribute.
From-SVN: r177001
PR target/49920
* config/i386/i386.md (strset): Do not expand strset_singleop
when %eax or $edi are fixed.
(*strsetdi_rex_1): Disable when %eax or %edi are fixed.
(*strsetsi_1): Ditto.
(*strsethi_1): Ditto.
(*strsetqi_1): Ditto.
(*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
(*rep_stossi): Ditto.
(*rep_stosqi): Ditto.
(cmpstrnsi): Also fail when %ecx is fixed.
(*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
(*cmpstrnqi_1): Ditto.
(*strlenqi_1): Ditto.
(*strmovdi_rex_1): Disable when %esi or %edi are fixed.
(*strmovsi_1): Ditto.
(*strmovhi_1): Ditto.
(*strmovqi_1): Ditto.
(*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
(*rep_movsi): Ditto.
(*rep_movqi): Ditto.
testsuite/ChangeLog:
PR target/49920
* gcc.target/i386/pr49920.c: New test.
From-SVN: r176979
2011-07-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/49112
* resolve.c (resolve_structure_cons): Don't do the full dt resolution,
only call 'resolve_fl_derived0'.
(resolve_typebound_procedures): Resolve typebound procedures of
parent type.
(resolve_fl_derived0): New function, which does a part of the work
for 'resolve_fl_derived'.
(resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
things.
2011-07-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/49112
* gfortran.dg/abstract_type_6.f03: Modified.
* gfortran.dg/typebound_proc_24.f03: New.
From-SVN: r176971
2011-07-31 Tom de Vries <tom@codesourcery.com>
PR middle-end/43513
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of
get_object_alignment and TYPE_ALIGN.
From-SVN: r176969
2011-07-31 Tom de Vries <tom@codesourcery.com>
PR middle-end/43513
* testsuite/libmudflap.c/fail31-frag.c: Adapt testcase to prevent
folding of alloca.
From-SVN: r176968
2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48876
* expr.c (gfc_simplify_expr): If end of a string is less
than zero, set it to zero.
2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48876
* gfortran.dg/string_5.f90: New test.
From-SVN: r176961