OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [ada/] [ChangeLog-2008] - Rev 414

Go to most recent revision | Compare with Previous | Blame | View Log

2008-12-09  Jakub Jelinek  <jakub@redhat.com>

        PR ada/38450
        * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
        * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
        Likewise.

2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>

        PR bootstrap/38262
        * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.

2008-11-29  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/30827
        * g-comver.adb (Ver_Len_Max): Fix inconsistency.

2008-11-27  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c: Fix various nits.

2008-11-20  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.

2008-11-16  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/38127
        * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
        special-case boolean types.  Propagate  the name.
        * gcc-interface/targtyps.c: Tweak comment.

2008-11-15  Geert Bosch  <bosch@adacore.com>

        * gcc-interface/trans.c (emit_check): Put back a final save_expr
        to prevent exponential expansion during gimplification.

2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.

2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
        initialized to a static constant to be statically allocated even if
        they are of a padding type, provided the original type also has
        constant size.

2008-11-15  Laurent Guerby  <laurent@guerby.net>

        PR ada/37993
        * gcc-interface/Makefile.in: Add multilib handling for x86_64
        on darwin.
        * system-darwin-x86_64.ads: New file.

2008-11-13  Olivier Hainque  <hainque@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
        Turn Ada Pure on subprograms back into GCC CONST when eh constructs
        are explicit to the middle-end.  Tidy.

2008-11-09  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
        (MINUS_NOMOD_EXPR): Likewise.
        * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
        unreachable.
        <PLUS_NOMOD_EXPR>: New case.
        <MINUS_NOMOD_EXPR>: Likewise.
        * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
        assignment statement instead of using an increment operator.

2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

        * system-irix-n64.ads: New file.
        * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
        multilibs.

2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

        PR ada/37681
        * system-solaris-x86_64.ads: New file.
        * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.

2008-11-07  Bechir Zalila  <bechir.zalila@gmail.com>
            Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/34289
        * lib.ads: (Enable_Switch_Storing): Declare.
        * lib.adb: (Enable_Switch_Storing): New procedure.
        * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
        * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
        (Display): Never display -gnatea
        * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.

2008-11-07  Thomas Quinot  <quinot@adacore.com>

        * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
        for empty range in original base type, not converted result type.

2008-11-07  Geert Bosch  <bosch@adacore.com>

        * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
        and result for call to __gnat_mulv64.

2008-11-07  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/trans.c: Fix formatting nits.

2008-11-07  Geert Bosch  <bosch@adacore.com>

        * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
        overflow check for constant result.

2008-11-07  Geert Bosch  <bosch@adacore.com>

        * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
        overflow check for addition/subtraction if neither operand is constant.

2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
        files for the target-dependent part of the runtime.
        (SPARC/Linux): Likewise.

2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
        optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
        purposes.

2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/misc.c (gnat_printable_name): Always return a copy
        in GC memory.

2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/19419
        * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
        Generate a call to memmove for an assignment between overlapping
        array slices.

2008-11-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

        PR target/37977
        * gcc-interface/Makefile.in: Add multilib handling for
        s390-linux and s390x-linux.

2008-10-24  Jakub Jelinek  <jakub@redhat.com>

        * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
        check-acats-subtargets and check-gnat-subtargets.
        (check_acats_targets): New variable.
        (check-acats-subtargets, check-acats%): New targets.
        (check-acats): If -j is used and CHAPTERS is empty, run the testing
        in multiple make goals, possibly parallel, and afterwards run
        dg-extract-results.sh to merge the sum and log files.

2008-10-17  Geert Bosch  <bosch@adacore.com>

        * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
        to use only a single check instead of three, and avoid unnecessary
        COMPOUND_EXPR.
        (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
        creating more opportunities for optimizations.

2008-10-13  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/37601
        * gcc-interface/utils.c (gnat_types_compatible_p): Handle
        NULL TYPE_DOMAIN.

2008-10-07  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
        dealing with volatileness to after code dealing with renaming.

2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
        * gcc-interface/trans.c (Pragma_to_gnu): Likewise.

2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
        (unchecked_convert): Use it to disable problematic folding with
        VIEW_CONVERT_EXPR in the general case.  Always disable it for the
        special VIEW_CONVERT_EXPR built for integral types and cope with
        its addressability issues by preserving the first conversion.

2008-10-01  Andreas Schwab  <schwab@suse.de>

        * system-linux-ppc64.ads: New file.
        * gcc-interface/Makefile.in: Add multilib handling for
        powerpc-linux.

2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
        to that of ptr_mode instead of word_mode.

2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/5911
        * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.

2008-09-25  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/37641
        * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
        instead of deprecated FILE_WRITE_PROPERTIES.

2008-09-22  Olivier Hainque  <hainque@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
        are never assigned, volatile entities are not constant for code
        generation purposes.

2008-09-21  Laurent Guerby  <laurent@guerby.net>

        PR ada/5911
        * gcc-interface/Makefile.in: Add multilib handling for x86_64
        and sparc.
        * system-linux-sparcv9.ads: New file.

2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>

        * exp_dbug.ads: Document new convention for the XVZ variable.
        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
        debug info if necessary for the type padding the component type.
        <E_Array_Subtype>: Likewise.
        (maybe_pad_type): Emit the XVZ variable in units.
        * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
        (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
        on statements generated to initialize the parameter attributes cache.
        Set the source line of the end label of the body on the special return
        statement built for a procedure with copy-in copy-out parameters.

2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/37585
        * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
        inlined external functions if they contain a nested function not
        declared inline.

2008-09-18  Jan Hubicka  <jh@suse.cz>

        * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
        (end_subprog_body): Do not set DECL_INLINE.

2008-09-17  Pascal Rigaux  <pixel@mandriva.com>

        PR ada/21327
        * gnat_ugn.texi: Use proper format in direntry.

2008-09-15  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/trans.c (gigi): Declare the name of the compilation
        unit as the first global name.

2008-09-14  Jan Hubicka  <jh@suse.cz>

        * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.

2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
        bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
        exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
        exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
        exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
        g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
        gcc-interface/gigi.h, gcc-interface/trans.c,
        lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
        opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
        s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
        s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
        sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
        sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
        sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
        sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
        comments.
        * gnathtml.pl: Fix typos.

2008-09-10  Joel Sherrill <joel.sherrill@oarcorp.com>

        * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
        * s-osinte-rtems.ads: Add shared hardware interrupt adapter
        layer. RTEMS binds to OS provided adapter routines so there are
        no modifications to s-osinte-rtems.adb.

2008-09-09  Arnaud Charlet  <charlet@adacore.com>
            Joel Sherrill  <joel.sherrill@oarcorp.com>

       * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.

       * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb

       * s-interr-hwint.adb: New file.

        * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
        needed by s-interr-hwint.adb.

        * s-osinte-vxworks-kernel.adb: New file.

2008-09-05  Joel Sherrill <joel.sherrill@oarcorp.com>

        * s-stchop-rtems.adb: Add file missed in early commit.  Already
        referenced in gcc-interface/Makefile.in.

2008-08-30  Thomas Quinot  <quinot@adacore.com>

        * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
        be built even without a separate libada directory.

2008-08-22  Arnaud Charlet  <charlet@adacore.com>

        * lib-xref.ads: Fix typo in subprogram reference definition.

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
        to avoid warning.

        * g-trasym.adb: Ditto

        * s-utf_32.adb (Get_Category): Fix obvious typo

        * s-wwdcha.adb: Minor code reorganization
        Remove dead code

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * checks.adb (Determine_Range): Deal with values that might be invalid

        * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
        configuration switches.

        * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values

        * sem_prag.adb: Implement pragma Assume_No_Default_Values

        * snames.adb, snames.ads, snames.h:
        Add entries for pragma Assume_No_Invalid_Values

        * switch-c.adb: Add processing for -gnatB switch

        * usage.adb: Add entry for flag -gnatB (no bad invalid values)

2008-08-22  Javier Miranda  <miranda@adacore.com>

        * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
        init procedure all the expanded code associated with the spec of
        task types and protected types.

2008-08-22  Gary Dismukes  <dismukes@adacore.com>

        * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
        component expression copies rather than directly setting Etype and
        Is_Static_Expression.

2008-08-22  Gary Dismukes  <dismukes@adacore.com>

        * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
        private types to allow for types derived from a private type with
        preelaborable initialization, but return False for a private extension
        (unless it has the pragma).

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * opt.ads: Minor code reorganization (put entries in alpha order)

2008-08-22  Pascal Obry  <obry@adacore.com>

        * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
        spawn.

2008-08-22  Geert Bosch  <bosch@adacore.com>

        * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
        (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0

2008-08-22  Doug Rupp  <rupp@adacore.com>

        * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
        __gnat_set_features.

        * init.c
        (__gnat_set_features): New function.
        (__gnat_features_set): New tracking variable.
        (__gl_no_malloc_64): New feature global variable

2008-08-22  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
        use_type_clause in an instance.

2008-08-22  Bob Duff  <duff@adacore.com>

        * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * exp_ch6.adb: Minor reformatting

        * exp_ch7.adb: Minor reformatting

        * exp_ch7.ads: Put routines in proper alpha order

        * exp_dist.adb: Minor reformatting

2008-08-22  Vincent Celier  <celier@adacore.com>

        * prj.ads: Minor comment update

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack

2008-08-22  Ed Schonberg  <schonberg@adacore.com>

        * exp_tss.adb:
        (Base_Init_Proc): For a protected subtype, use the base type of the
        corresponding record to locate the propoer initialization procedure.

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * checks.adb:
        (In_Subrange_Of): New calling sequence
        (Determine_Range): Prepare for new processing using base type

        * exp_ch4.adb:
        (Compile_Time_Compare): Use new calling sequence

        * exp_ch5.adb:
        (Compile_Time_Compare): Use new calling sequence

        * sem_eval.adb:
        (Compile_Time_Compare): New calling sequence allows dealing with
        invalid values.
        (In_Subrange_Of): Ditto

        * sem_eval.ads:
        (Compile_Time_Compare): New calling sequence allows dealing with
        invalid values.
        (In_Subrange_Of): Ditto

2008-08-22  Pascal Obry  <obry@adacore.com>

        * adaint.c: Fix possible race condition on win32_wait().

2008-08-22  Bob Duff  <duff@adacore.com>

        * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
        exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
        exp_intr.adb, exp_ch3.adb: Rename:
        Exp_Ch7.Controlled_Type => Needs_Finalization
        Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
        Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
         Has_Controlled_Parts
        (Has_Some_Controlled_Component): Fix bug in array case.

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * sem_ch8.adb: Minor reformatting

2008-08-22  Kevin Pouget  <pouget@adacore.com>

        * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
        Shared_Var_Close procedure specifications from package spec to package body.

        * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
        RE_Shared_Var_WOpen entries.

        * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
        Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.

2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>

        * init.c: adjust EH support code on Alpha/Tru64 as well.

        * raise-gcc.c: Add back a couple of comments.

2008-08-22  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
        involved and the return type is class-wide, use the type of the expression
        for the generated access type. Suppress useless discriminant checks on the
        allocator.

2008-08-22  Bob Duff  <duff@adacore.com>

        * exp_ch7.adb: Minor comment fix

        * exp_ch6.ads: Minor comment fix

2008-08-22  Thomas Quinot  <quinot@adacore.com>

        * sem_ch8.adb: Minor reformatting
        Minor code reorganization (introduce subprogram to factor duplicated
        code).

2008-08-22  Sergey Rybin  <rybin@adacore.com>

        * gnat_ugn.texi: Change the description of gnatcheck default rule
        settings.

2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>

        * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
        Solaris, FreeBSD, VxWorks and PowerPC/Linux.  For x86{-64}/Linux,
        do not adjust the PC anymore.
        (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
        on AIX, HP-UX, Solaris, FreeBSD and VxWorks.

        * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
        instead of _Unwind_GetIP.

2008-08-22  Gary Dismukes  <dismukes@adacore.com>

        * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
        with a range is transformed into a positional aggregate, any copied
        component literals should be marked Is_Static_Expression.

        * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
        not being known at at compile time when Configurable_Run_Time_Mode is
        true.

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * exp_attr.adb:
        (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
        Read or Input attribute.

2008-08-22  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch8.adb (Use_One_Type): when checking which of two use_type
        clauses in related units is redundant, if one of the units is a package
        instantiation, use its instance_spec to determine which unit is the
        ancestor of the other.

2008-08-22  Javier Miranda  <miranda@adacore.com>

        * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
        attributes add missing support to handle designated types that come
        from the limited view.

        * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.

2008-08-22  Sergey Rybin  <rybin@adacore.com>

        * vms_data.ads: Add entry for new gnatcheck -mNNN option

        * gnat_ugn.texi: Add description for gnatcheck option '-m'

2008-08-22  Sergey Rybin  <rybin@adacore.com>

        * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
        acoording to the latest changes in the metric rule interface

2008-08-22  Vincent Celier  <celier@adacore.com>

        * make.adb (Check.File_Not_A_Source_Of): New Boolean function
        (Check): Check if the file names registered in the ALI file for the
        spec, the body and each of the subunits are the ones expected.

2008-08-22  Robert Dewar  <dewar@adacore.com>

        * g-catiio.adb: Code cleanup.

2008-08-20  Vincent Celier  <celier@adacore.com>

        * make.adb (Gnatmake): Remove extra space in version line

        * ali.adb:
        (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
        as the name may already have been entered in the table by the Project
        Manager.

2008-08-20  Jose Ruiz  <ruiz@adacore.com>

        * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
        weak symbols so we use the version provided by MaRTE when available.

2008-08-20  Emmanuel Briot  <briot@adacore.com>

        * g-catiio.ads, g-catiio.adb:
        (Value): Avoid an unnecessary system call to Clock in most cases.
        This call is only needed when only the time is provided in the string,
        and ignored in all other cases. This is more efficient.

2008-08-20  Eric Botcazou  <ebotcazou@adacore.com>

        * raise-gcc.c: Fix formatting nits.

2008-08-20  Robert Dewar  <dewar@adacore.com>

        * sem_ch13.adb:
        (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
        non-existing component clause.

        * exp_ch5.adb: Minor reformatting

        * g-comlin.adb: Minor reformatting

        * make.adb: Minor reformatting

        * prj-proc.adb: Minor reformatting

        * stylesw.ads: Minor reformatting

2008-08-20  Vincent Celier  <celier@adacore.com>

        * make.adb (Gnatmake_Switch_Found): New Boolean global variable
        (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
        (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
         defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
        and a switch is not recognized by gnatmake.
        (Gnatmake): Implement new scheme for gnatmake switches and global
        compilation switches.
        (Switches_Of): Try successively Switches (<file name>),
        Switches ("Ada"), Switches (others) and Default_Switches ("Ada").

2008-08-20  Ed Schonberg  <schonberg@adacore.com>

        * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
        implement style check that overriding operations are explicitly marked
        at such.

        * style.ads (Missing_Overriding): new procedure that provides interface
        to previous one.

        * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
        that the declaration or body of overriding operations carries an
        explicit overriding indicator.

        * sem_ch8.adb
        (Analyze_Subprogram_Renaming): if operation is overriding, check whether
        explicit indicator should be present.

        * sem_ch6.adb (Verify_Overriding_Indicator,
        Check_Overriding_Indicator): If operation is overriding, check whether
        declaration and/or body of subprogram should be present

2008-08-20  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
        gprbuild when casing is MixedCase, whatever the casing of the letters
        in the file name.

2008-08-20  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
        creating dummy init proc.
        (Requires_Init_Proc): Return False in the case No_Default_Initialization
        is in force and the type does not have associated default
        initialization. Move test of Is_Public (with tests of restrictions
        No_Initialize_Scalars and No_Default_Initialization) to end, past tests
        for default initialization.

2008-08-20  Jerome Lambourg  <lambourg@adacore.com>

        * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
        of any alias or prefix but having attached parameters (as \"-O2\").

2008-08-20  Robert Dewar  <dewar@adacore.com>

        * s-fileio.adb: Minor reformatting

2008-08-20  Thomas Quinot  <quinot@adacore.com>

        * exp_strm.adb (Build_Elementary_Input_Call,
        Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
        selects the stream attribute routines for long float types.

2008-08-20  Vincent Celier  <celier@adacore.com>

        * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data

        * prj.ads (Array_Data): Add a component Location

2008-08-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_prag.adb:
        (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
        argument for ASIS and navigation use.

2008-08-20  Ed Schonberg  <schonberg@adacore.com>

        * einfo.ads: Add comment.

2008-08-20  Bob Duff  <duff@adacore.com>

        * sem_eval.ads: Minor comment fix.

2008-08-20  Bob Duff  <duff@adacore.com>

        * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
        folding. We were folding things like "False and then ...", but not
        "X and then ..." where X is a constant whose value is known at compile
        time.

2008-08-20  Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_ch5.adb (Controlled_Type): New routine.
        (Expand_N_Extended_Return_Statement): When generating a move of the
        final list in extended return statements, check the type of the
        function and in the case of double expanded return statements, the type
        of the returned object.
        (Expand_Simple_Function_Return): Perform an interface conversion when
        the type of the returned object is an interface and the context is an
        extended return statement.

2008-08-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
        and the full view is visible, set flag on full view as well.

2008-08-20  Thomas Quinot  <quinot@adacore.com>

        * g-comlin.adb: Minor reformatting
        Minor code reorganization.

        * freeze.adb: Minor reformatting

2008-08-20  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
        source of another project.

2008-08-20  Pascal Obry  <obry@adacore.com>

        * s-os_lib.ads: Minor reformatting.

2008-08-20  Arnaud Charlet  <charlet@adacore.com>

        * gnatvsn.ads: Minor reformatting.

2008-08-20  Arnaud Charlet  <charlet@adacore.com>

        * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
        system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
        g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
        mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
        exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
        g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
        s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
        sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
        s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
        g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
        g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
        g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
        live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
        g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
        s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
        g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
        s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
        g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
        osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
        system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
        i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
        s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
        a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
        s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
        a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
        g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
        a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
        a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
        lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
        s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
        par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
        a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
        system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
        s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
        a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
        mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
        s-poosiz.adb, link.c: Fix copyright notice.

2008-08-20  Arnaud Charlet  <charlet@adacore.com>

        * g-comlin.ads: Update comments.

2008-08-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.

2008-08-20  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch11.adb:
        (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
        Make_Implicit_Exception_Handler when rewriting an exception handler with
        a choice parameter, and pass the handler's Sloc instead of that of the
        handled sequence of statements. Make_Implicit_Exception_Handler sets the
        Sloc to No_Location (unless debugging generated code), which we don't
        want for the case of a user handler.

2008-08-20  Robert Dewar  <dewar@adacore.com>

        * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field

        * sem_ch13.adb:
        (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
        now labeled as info msgs, not warnings.

        * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler

        * usage.adb: Minor change to avoid overlong line for -gnatwz/Z

        * a-textio.adb: Remove redundant test.

        * a-witeio.adb: Minor code reorganization
        Remove redundant test found working on another issue

        * a-ztexio.adb: Minor code reorganization
        Remove redundant test found working on another issue

2008-08-20  Thomas Quinot  <quinot@adacore.com>

        * s-fileio.adb (Open) Use C helper function to determine whether a
        given errno value corresponds to a "file not found" error.

        * sysdep.c (__gnat_is_file_not_found_error): New C helper function.

2008-08-20  Jose Ruiz  <ruiz@adacore.com>

        * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
        to get access to the per-task errno variable.
        (__set_errno for MaRTE): Do not redefine this function here since it is
        already defined in MaRTE.

2008-08-20  Tristan Gingold  <gingold@adacore.com>

        * gnat_ugn.texi: Gcov is not supported on static library on AIX.

2008-08-20  Robert Dewar  <dewar@adacore.com>

        * freeze.adb: Minor reformatting

        * g-comlin.adb: Minor reformatting

        * g-socket.adb: Minor reformatting

        * g-socthi-mingw.adb: Minor reformatting

        * g-stheme.adb: Minor reformatting

2008-08-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
        exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
        confusion between partial and full views of an ancestor of the context
        type when the parent is a private extension declared in a parent unit,
        and full views are available for the context type.

2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
            Robert Dewar  <dewar@adacore.com>

        PR ada/30827
        * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
        version string.
        Move comment in the right place.
        * g-comver.adb (Version): Look for a zero-termination in
        addition to a closing parenthesis.

2008-08-18  Samuel Tardieu  <sam@rfc1149.net>

        * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
        * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
        * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
        Is_Package_Or_Generic_Package instead of hand-crafted tests.

2008-08-18  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/15808
        * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
        as well.

2008-08-17  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

        * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.

2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
        for back-copy statements in lieu of that of the actual.

2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/20548
        * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
        setjmp test consistently.  Adjust for new behavior of flag_stack_check.
        * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
        test of flag_stack_check.  Adjust for new behavior of flag_stack_check.

2008-08-13  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/36777
        * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
        * sem_attr.adb (Check_Type): The current instance of a protected
        object is not a type name.
        (Analyze_Access_Attribute): Accept instances of protected objects.
        (Analyze_Attribute, Attribute_Address clause): Ditto.
        * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
        the prefix as being the current instance if needed.

2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>

        * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
        Remove duplicate s-win32.o. Add s-winext.o.

2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>

        * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
        with SOSC.SOCK__STREAM.
        * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
        SOSC.MSG_OOB.

2008-08-11  Joel Sherrill  <joel.sherrill@oarcorp.com>

        * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
        * gsocket.h, socket.c: Update to support RTEMS.
        * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.

2008-08-10  Samuel Tardieu  <sam@rfc1149.net>
            Robert Dewar <dewar@adacore.com>

        * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
        left argument even when right argument is 0.
        (Expand_N_Op_Mod): Ditto when right argument is 1.
        (Expand_N_Op_Multiply): Ditto when any argument is 0.
        (Expand_N_Op_Rem): Ditto when right argument is 1.

2008-08-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

        * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
        by warn_unused.

2008-08-08  Ed Schonberg  <schonberg@adacore.com>

        * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
        from Freeze_Entity. Used to generate cross-reference information for
        types declared in generic packages.

2008-08-08  Thomas Quinot  <quinot@adacore.com>

        * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
        compatibility shim.

2008-08-08  Thomas Quinot  <quinot@adacore.com>

        * gsocket.h:
        On Windows, include <errno.h> and redefine only selected errno values
        from their <winsock2.h> definitions.

        * s-osinte-freebsd.ads: Minor reformatting

        * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting

        * g-soccon.ads: New file.

        * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
        g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
        g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
        g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
        unit, to allow building software that depends on this internal unit
        with both older and newer compilers.

2008-08-08  Robert Dewar  <dewar@adacore.com>

        * s-strxdr.adb: Minor reformatting

2008-08-08  Bob Duff  <duff@adacore.com>

        * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
        checking for integer operations (including division by zero)", which
        is wrong -- divide by zero is not part of overflow checking.
        Also added misc clarification about what check-suppression means.

        * gnat_rm.texi: Clarify the meaning of pragma Suppress.

2008-08-08  Jerome Lambourg  <lambourg@adacore.com>

        * g-comlin.adb (Add_Switch): Handle addition of switches at the
        begining of the command line.
        (Append, Add): Renaming of Append to Add as this now allows addition
        at the begining of the list.

        * g-comlin.ads (Add_Switch): Handle addition of switches at the
        begining of the command line.

2008-08-08  Thomas Quinot  <quinot@adacore.com>

        * g-sercom.ads:
        (Name): Document application scope (only legacy PC serial ports on
        Linux and Windows).

2008-08-08  Thomas Quinot  <quinot@adacore.com>

        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
        previous change, not needed after all.

2008-08-08  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch4.adb (Expand_Allocator_Expression): add check if null
        exclusion indicator is present

2008-08-08  Robert Dewar  <dewar@adacore.com>

        * g-comlin.adb: Minor code reorganization
        Minor reformatting

        * g-comlin.ads: Minor reformatting

        * s-fileio.adb: Minor reformatting

        * sem_attr.adb: Minor code reorganization (use Nkind_In)
        Minor reformatting

2008-08-06  Samuel Tardieu  <sam@rfc1149.net>

        * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
        with s-oscons-tmplt.i.

2008-08-06  Samuel Tardieu  <sam@rfc1149.net>

        * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.

2008-08-06  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
        of incomplete type.

        * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
        of a formal parameter of an incomplete type. Improve error message for
        other improper uses of incomplete types.

2008-08-06  Robert Dewar  <dewar@adacore.com>

        * gnat_ugn.texi: Clarify -gnato documentation

2008-08-06  Thomas Quinot  <quinot@adacore.com>

        * gcc-interface/Makefile.in,
        g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
        g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
        g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
        g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
        g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
        g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
        g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
        g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
        g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
        Remove GNAT.Sockets.Constants. This internal package is replaced by
        System.OS_Constants.

2008-08-06  Thomas Quinot  <quinot@adacore.com>

        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
        Remove obsolete targets referencing gen-soccon
        When generating s-oscons.ads, use a file name that includes the
        THREAD_KIND, to ensure that the (potentially different) version from a
        previous build with a different threads flavour does not get reused.

2008-08-06  Thomas Quinot  <quinot@adacore.com>

        * sem_res.adb: Minor reformatting

        * s-fileio.adb (Open): When file open operation fails, raise Name_Error
        only when the operating system reports a non-existing file or directory
        (ENOENT), otherwise raise Name_Error.

        * exp_ch11.adb: Minor reformatting

2008-08-06  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
        incomplete, add the access_to_subprogram type to the list of private
        dependents only if the incomplete type will be completed in the current
        scope.
        (Build_Discriminant_Constraints): If the type of the discriminant is
        access_to_variable, reject a constraint that is access_to_constant.

2008-08-06  Thomas Quinot  <quinot@adacore.com>

        * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
        g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
        g-sttsne-dummy.ads: New files.

        * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
        with pragma Unimplemented_Unit for sockets packages on Nucleus.

2008-08-06  Pascal Obry  <obry@adacore.com>

        * adaint.c: Another fix for ACL support on Windows.

2008-08-06  Javier Miranda  <miranda@adacore.com>

        * exp_disp (Expand_Interface_Actuals): Adds missing support for
        expansion of calls to subprograms using selected components.

2008-08-06  Ed Schonberg  <schonberg@adacore.com>

        * sem_res.adb (Resolve_Call): Use base type to determine whether a
        dereference is needed because a subtype of an access_to_subprogram is
        simply an access-subtype

2008-08-06  Jerome Lambourg  <lambourg@adacore.com>

        * g-comlin.adb (Set_Command_Line): Now that aliases can contain
        parameters, always specify the expected separator.

2008-08-06  Thomas Quinot  <quinot@adacore.com>

        * xnmake.adb: Use new XUtil package for platform independent text
        output.

2008-08-06  Vincent Celier  <celier@adacore.com>

        * gnat_ugn.texi: Document compiler switch -gnateG

2008-08-06  Quentin Ochem  <ochem@adacore.com>

        * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
        in the case of an empty pattern size.
        (Compute_Result): Do not do any computation in the case of an empty
        pattern size.
        (Report_Result): Fixed computation of the overflow guard.

2008-08-06  Ed Schonberg  <schonberg@adacore.com>

        * g-awk.adb (Finalize): Do not use directly objects of the type in the
        finalization routine to prevent elaboration order anomalies in new
        finalization scheme.

2008-08-06  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
        declaration for the same type.

2008-08-06  Thomas Quinot  <quinot@adacore.com>

        * sem.adb: Minor rewording (comment)

2008-08-06  Jerome Lambourg  <lambourg@adacore.com>

        * g-comlin.adb (Define_Switch, Get_Switches): New.
        (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
        ungrouping switches.
        (For_Each_Simple_Switch): Allow more control over parameters handling.
        This generic method now allows ungrouping of switches with parameters
        and switches with more than one letter after the prefix.
        (Set_Command_Line): Take care of switches that are prefixed with a
        switch handling parameters without delimiter (-gnatya and -gnaty3 for
        example).
        (Add_Switch, Remove_Switch): Handle parameters possibly present inside
        a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
        the operation.
        (Start, Alias_Switches, Group_Switches): Take care of parameters
        possibly present inside a group.

        * g-comlin.ads (Define_Switch): New method used to define a list of
        expected switches, that are necessary for correctly ungrouping switches
        with more that one character after the prefix.
        (Get_Switches): Method that builds a getopt string from the list of
        switches as set previously by Define_Switch.
        (Add_Switch, Remove_Switch): New versions of the methods, reporting the
        status of the operation. Also allow the removal of switches with
        parameters only.
        (Command_Line_Configuration_Record): Maintain a list of expected
        switches.

2008-08-06  Doug Rupp  <rupp@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
        TARGET_MALLOC64 clear.

        * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
        if TARGET_MALLOC64 clear.

        * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
        (TARGET_MALLC64): New macro. Default to clear.

2008-08-06  Doug Rupp  <rupp@adacore.com>

        * gcc-interface/utils2.c (snames.h) Include
        (TARGET_ABI_OPEN_VMS): Initialize.
        (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
        for Convention C.

2008-08-06  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
        null exclusion in a discriminant declaration

        * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
        indicators when type is not an access type.

        * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
        indicators when type is not an access type.

2008-08-06  Javier Miranda  <miranda@adacore.com>

        * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
        with the target interface before expanding the code of the interface
        conversion.

2008-08-05  Ed Schonberg  <schonberg@adacore.com>

        * freeze.adb:
        (Freeze_Entity): A deferred constant does not violate the restriction
        No_Default_Initialization,

        * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
        can carry a null exclusion indicator, and on which an error may be
        posted if the indicator is redundant.

        * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
        does not apply to a subtype mark that already excludes null.

        * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
        exclusion does not apply to a subtype mark that already excludes null.

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.

2008-08-05  Doug Rupp  <rupp@adacore.com>

        * vms_data.ads: Translation for /POINTER_SIZE qualifier.

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * gsocket.h: Make this file includable in a Nucleus environment, which
        does not support sockets.

        * socket.c: Remove Nucleus-specific hack.

2008-08-05  Pascal Obry  <obry@adacore.com>

        * adaint.c: Remove support for readable attribute on vxworks and nucleus

2008-08-05  Ed Schonberg  <schonberg@adacore.com>

        * sem_attr.adb:
        (Analyze_Attribute, case 'Result): handle properly the case where some
        operand of the expression in a post-condition generates a transient
        block.

        * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
        right-hand side when it is an anonymous access_to_subprogram, to force
        static accessibility check when needed.

2008-08-05  Sergey Rybin  <rybin@adacore.com>

        * gnat_ugn.texi: Changing the description of the gnatcheck metrics
        rule according to the change in the rule option.
        Add documentation for -gnatw.b/-gnatw.B

2008-08-05  Robert Dewar  <dewar@adacore.com>

        * ug_words: Add entries for -gnatw.b/-gnatw.B

        * vms_data.ads: Add entries for -gnatw.b/-gnatw.B

2008-08-05  Vincent Celier  <celier@adacore.com>

        * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
        (File).

        * a-ztdeio.adb: Ditto.

2008-08-05  Pascal Obry  <obry@adacore.com>

        * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
        readable attribute.

2008-08-05  Vincent Celier  <celier@adacore.com>

        * s-wchwts.adb:
        (Wide_String_To_String): Returns a String with the same 'First as its
        parameter S.
        (Wide_Wide_String_To_String): Ditto

        * s-wchwts.ads:
        (Wide_String_To_String): Document that the lowest index of the returned
        String is equal to S'First.

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.

        * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
        s-oscons.ads

2008-08-05  Robert Dewar  <dewar@adacore.com>

        * opt.ads (Warn_On_Biased_Representation): New flag

        * sem_ch13.adb:
        (Analyze_Attribute_Definition_Clause): Issue warning when biased
        representation is required.
        (Minimum_Size): Don't allow biasing if enum rep clause case

        * sem_warn.adb:
        (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
        (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws

        * usage.adb: Add lines for -gnatw.b/B switches

2008-08-05  Pascal Obry  <obry@adacore.com>

        * a-coinve.adb: Reorder the code to avoid uninitialized warning.

        * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * socket.c: Minor reformatting.

2008-08-05  Robert Dewar  <dewar@adacore.com>

        * sem_ch3.adb: Minor reformatting

        * prj-nmsc.adb: Minor reformatting

2008-08-05  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
        visibility check on the component type if the simple test fails.

2008-08-05  Jose Ruiz  <ruiz@adacore.com>

        * init.c (__gnat_install_handler for linux): If we are building the
        Xenomai run time then we need to do two additional things: avoid
        memory swapping and transform the Linux environment task into a native
        Xenomai task.

        * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
        time): Use interface to Xenomai native skin and avoid linux-specific
        way of setting CPU affinity.
        (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.

2008-08-05  Bob Duff  <duff@adacore.com>

        * checks.ads: Minor comment fix

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
        g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
        CS8.

2008-08-05  Robert Dewar  <dewar@adacore.com>

        * mlib.adb: Minor code reorganization
        Minor reformatting

        * make.adb: Minor reformatting

        * prj-attr.ads: Minor reformatting

        * s-os_lib.adb: Minor reformatting

        * s-fileio.adb: Minor code reorganization
        Minor reformatting

        * prj.ads: Minor reformatting

2008-08-05  Bob Duff  <duff@adacore.com>

        * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
        unresolved initial value of "null", because it causes implicitly
        generated "=" operators to be ambiguous, and because this type should
        not be passed to gigi.

2008-08-05  Vincent Celier  <celier@adacore.com>

        * mlib.adb: Update comments.

        * make.adb (Switches_Of): Check for Switches (others), before checking
        for Default_Switches ("Ada").
        (Gnatmake): Use Builder'Switches (others) in preference to
        Builder'Default_Switches ("Ada") if there are several mains.

        * prj-attr-pm.adb:
        (Add_Attribute): Add component Others_Allowed in Attribute_Record
        aggregate.

        * prj-attr.adb:
        Add markers to indicates that attributes Switches allow others as index
        (Others_Allowed_For): New Boolean function, returning True for
        attributes with the mark.
        (Initialize): Recognize optional letter 'O' as the marker for
        associative array attributes where others is allowed as the index.

        * prj-attr.ads:
        (Others_Allowed_For): New Boolean function
        (Attribute_Record): New Boolean component Others_Allowed

        * prj-dect.adb:
        (Parse_Attribute_Declaration): For associative array attribute where
        others is allowed as the index, allow others as an index.

        * prj-nmsc.adb:
        (Process_Binder): Skip associative array attributes with index others
        (Process_Compiler): Ditto

        * prj-util.adb:
        (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
        index is All_Other_Names.

        * prj.ads:
        (All_Other_Names): New constant

        * prj-proc.adb:
        (Process_Declarative_Items): Skip associative array attribute when index
        is reserved word "others".

2008-08-05  Vasiliy Fofanov  <fofanov@adacore.com>

        * gen-oscons.c: Adapt for VMS where termios.h is not available.

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * a-rttiev.adb: Minor reformatting (comments)

        * gen-soccon.c: Rename to gen-oscons.c

        * gen-oscons.c: New file. Now generate System.OS_Constants instead of
        GNAT.Sockets.Constants.
        Add new constants for GNAT.Serial_Communications and System.File_IO.

2008-08-05  Javier Miranda  <miranda@adacore.com>

        * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
        * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
        implementation of this routine has been simplified.

2008-08-05  Pascal Obry  <obry@adacore.com>

        * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
        Set_Read_Only Win32 implementation.

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * exp_strm.adb: Minor reformatting (comments)

        * sem_ch12.adb: Minor reformatting.

2008-08-05  Robert Dewar  <dewar@adacore.com>

        * sem_ch3.adb: Minor reformatting

        * checks.adb: Minor reformatting

2008-08-05  Thomas Quinot  <quinot@adacore.com>

        * tbuild.ads (New_External_Name): Update spec to reflect relaxed
        restriction on Prefix.

2008-08-05  Jerome Lambourg  <lambourg@adacore.com>

        * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
        methods needed to handle switch sections when building a command line.
        (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
        Current_Section): New public methods or methods modified to handle
        building command lines with sections.
        (Set_Command_Line): Take into account sections when analysing a switch
        string.
        (Start): Sort the switches by sections before iterating the command line
        elements.

        * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
        Is_New_Section, Current_Section): New methods or methods modified to
        handle building command lines with sections.

2008-08-05  Ed Schonberg  <schonberg@adacore.com>

        * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
        discriminants, indicate that the corresponding object declaration has
        no initialization, to prevent spurious warnings when the access type is
        null-excluding.

2008-08-05  Ed Schonberg  <schonberg@adacore.com>

        * sem_res.adb (Resolve_Call): If this is a call to the predefined
        Abort_Task, warn if the call appears within a protected operation.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances

2008-08-04  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb:
        (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
        anonymous access to protected subprogram that is the return type of the
        specification of a subprogram body.

        * sem_ch6.adb:
        (Analyze_Subprogram_Body): if the return type is an anonymous access to
        subprogram, freeze it now to prevent access anomalies in the back-end.

        * exp_ch9.adb: Minor code cleanup.
        Make sure that new declarations are inserted into the tree before
        analysis (from code reading).

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * exp_ch5.adb:
        (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
        at point of return.

2008-08-04  Thomas Quinot  <quinot@adacore.com>

        * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting

2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>

        * g-soccon-mingw.ads: Fix value for MSG_WAITALL

2008-08-04  Javier Miranda  <miranda@adacore.com>

        * sem_prag.adb (Process_Convention): Add missing support for
         N_Private_Extension_Declaration nodes.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * exp_ch4.adb: Minor reformatting

2008-08-04  Pascal Obry  <obry@adacore.com>

        * adaint.h: Add missing prototype.

        * adaint.c: Refine support for Windows file attributes.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * sem_res.adb:
        (Valid_Conversion): Catch case of designated types having different
        sizes, even though they statically match.

2008-08-04  Javier Miranda  <miranda@adacore.com>

        * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
        added in previous patch to handle access to subprograms.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * freeze.adb:
        (Freeze_Entity): Only check No_Default_Initialization restriction for
        constructs that come from source

2008-08-04  Thomas Quinot  <quinot@adacore.com>

        * exp_ch6.adb: Minor comment fix.

        * sem_ch4.adb: Minor reformatting.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * sem_res.adb: (Large_Storage_Type): Improve previous change.

2008-08-04  Pascal Obry  <obry@adacore.com>

        * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
        file attributes.

2008-08-04  Javier Miranda  <miranda@adacore.com>

        * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
        for N_Formal_Object_Declaration nodes. Adding kludge required by
        First_Formal to provide its functionality with access to functions.
        (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
        for anonymous access types returned by functions.

        * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
        conversion of null-excluding access types (required only once to force
        the generation of the required runtime check).

        * sem_type.adb (Covers): minor reformating

        * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
        with internally generated nodes. Avoid generating the error inside init
        procs.

        * sem_res.adb (Resolve_Membership_Test): Minor reformating.
        (Resolve_Null): Generate the null-excluding check in case of assignment
        to a null-excluding object.
        (Valid_Conversion): Add missing support for anonymous access to
        subprograms.

        * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
        anonymous access types whose designated type is an itype. This case
        occurs with anonymous access to protected subprograms types.
        (Analyze_Return_Type):  Add missing support for anonymous access to
        protected subprogram.

        * sem_eval.adb (Subtypes_Statically_Match): In case of access to
        subprograms addition of missing check on matching convention. Required
        to properly handle access to protected subprogram types.

        * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
        null excluding access types.

2008-08-04  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb: Add comments

        * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
        access type and the allocator is not initialized, warn rather than
        reporting an error.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * exp_ch4.adb: Minor reformatting

        * exp_dist.adb: Minor reformatting

        * g-comlin.adb: Minor reformatting

2008-08-04  Gary Dismukes  <dismukes@adacore.com>

        * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
        target to the type of the aggregate in the case where the target object
        is class-wide.

        * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
        result type is class-wide and inherently limited, and the expression
        has a specific type, create a return object of the specific type, for
        more efficient handling of returns of build-in-place aggregates (avoids
        conversions of the class-wide return object to the specific type on
        component assignments).

        * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
        about a type mismatch for a class-wide function with a return object
        having a specific type when the object declaration doesn't come from
        source. Such an object can result from the expansion of a simple return.

2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>

        * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.

        * gcc-interface/Makefile.in: Use 64bit-specific system files when
        compiling for 64bit windows.

2008-08-04  Jerome Lambourg  <lambourg@adacore.com>

        * g-comlin.adb (Group_Switches): Preserve the switch order when
        grouping and allow switch grouping of switches with more than one
        character extension (e.g. gnatw.x).
        (Args_From_Expanded): Remove this now obsolete method.

2008-08-04  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
        chain at once, to ensure that type is properly decorated for back-end,
        when allocator appears within a loop.

2008-08-04  Kevin Pouget  <pouget@adacore.com>

        * snames.h, snames.adb, snames.ads:
        Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.

        * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
        Build_To_Any_Call and Build_TypeCode_Call procedures.

        * exp_attr.adb, sem_attr.adb: Add corresponding cases.

        * rtsfind.ads: Add corresponding names.

        * tbuild.adb: Update prefix restrictions to allow '_' character.

2008-08-04  Doug Rupp  <rupp@adacore.com>

        * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
        * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
        * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
        use it.  Calculate pointer range overflow using 64bit types.

2008-08-04  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Access_Definition): A formal object declaration is a
        legal context for an anonymous access to subprogram.

        * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
        indirect call, report success to the caller to include possible
        interpretation.

        * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
        check when the type
        of the extended return is an anonymous access_to_subprogram type.

        * sem_res.adb:
        (Resolve_Call): Insert a dereference if the type of the subprogram is an
        access_to_subprogram and the context requires its return type, and a
        dereference has not been introduced previously.

2008-08-04  Arnaud Charlet  <charlet@adacore.com>

        * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
        gnatcheck support in GPS.

2008-08-04  Vincent Celier  <celier@adacore.com>

        * mlib.adb (Create_Sym_Links): Create relative symbolic links when
        requested

2008-08-04  Vincent Celier  <celier@adacore.com>

        * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
        variable, but don't check the resulting value as it has no impact on
        the processing.

        * opt.ads:
        (Generate_Processed_File): New Boolean flag, set to True in the compiler
        when switch -gnateG is used.

        * prep.adb:
        (Preprocess): new Boolean out parameter Source_Modified. Set it to True
        when the source is modified by the preprocessor and there is no
        preprocessing errors.

        * prep.ads (Preprocess): new Boolean out parameter Source_Modified

        * sinput-l.adb:
        (Load_File): Output the result of preprocessing if the source text was
        modified.

        * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG

        * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG

        * ug_words: Add VMS equivalent for -gnateG

        * vms_data.ads:
        Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG

2008-08-04  Doug Rupp  <rupp@adacore.com>

        * gcc-interface/utils2.c:
        (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
        in 32bit descriptor.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * par-ch10.adb: Minor reformatting

        * i-cobol.adb: Minor reformatting.

2008-08-04  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Access_Definition): Create an itype reference for an
        anonymous access return type of a regular function that is not a
        compilation unit.

2008-08-04  Vincent Celier  <celier@adacore.com>

        * prj-attr.adb: New Builder attribute Global_Compilation_Switches

        * snames.adb: New standard name Global_Compilation_Switches

        * snames.ads: New standard name Global_Compilation_Switches

        * make.adb: Correct spelling error in comment

2008-08-04  Arnaud Charlet  <charlet@adacore.com>

        * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
        target.

2008-08-04  Thomas Quinot  <quinot@adacore.com>

        * sem_ch10.adb: Minor comment fix.

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * restrict.adb: Improved messages for restriction warnings

        * restrict.ads: Improved messages for restriction messages

        * s-rident.ads (Profile_Name): Add No_Profile

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus

2008-08-04  Robert Dewar  <dewar@adacore.com>

        * freeze.adb (Freeze_Entity): Check for size clause for boolean warning

2008-08-04  Vincent Celier  <celier@adacore.com>

        * prj-proc.adb:
        (Copy_Package_Declarations): When inheriting package Naming from a
        project being extended, do not inherit source exception names.

2008-08-04  Ed Schonberg  <schonberg@adacore.com>

        * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
        list of declaration to find previous subprogram, do not go to the
        original node of a generic unit.

2008-08-02  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
        New case.  Convert BOOLEAN_TYPE operation to the default integer type.

2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
        * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
        and adjust for above renaming.
        * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
        gnu_expr_alt_type parameter.  Convert the expression to it instead
        of changing its type in place.
        (build_function_stub): Adjust call to above function.

2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
        code.  Do not get full definition of deferred constants with address
        clause for a use.  Do not ignore deferred constant definitions with
        address clause.  Ignore constant definitions already marked with the
        error node.
        <object>: Remove obsolete comment.  For a deferred constant with
        address clause, get the initializer from the full view.
        * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
        Rework and remove obsolete comment.
        <N_Object_Declaration>: For a deferred constant with address clause,
        mark the full view with the error node.
        * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
        formatting nits.

2008-08-01  Hristian Kirtchev  <kirtchev@adacore.com>

        * rtsfind.ads: Add block IO versions of stream routines for Strings.

        * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
        sem_prag.adb, snames.adb, snames.ads, snames.h,
        par-prag.adb: Undo previous stream related changes.

        * s-rident.ads: Add new restriction No_Stream_Optimizations.

        * s-ststop.ads, s-ststop.adb: Comment reformatting.
        Define enumeration type to designate different IO mechanisms.
        Enchance generic package Stream_Ops_Internal to include an
        implementation of Input and Output.

        * exp_attr.adb (Find_Stream_Subprogram): If restriction
        No_Stream_Optimization is active, choose the default byte IO
        implementations of stream attributes for Strings.
        Otherwise use the corresponding block IO version.

2008-08-01  Olivier Hainque  <hainque@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
        turn Ada Pure into GCC const, now implicitely implying nothrow as well.

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
        convert plain identifier into defining identifier.

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
        warnings

        * lib-xref.adb: Add error defense.

2008-08-01  Bob Duff  <duff@adacore.com>

        * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.

2008-08-01  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
        correct accessibility levels. In the "when others" case, retrieve the
        access level of the Etype of Prev rather than Prev_Orig, because the
        original exression has not always been analyzed.

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * prj-nmsc.adb: Minor reformatting

        * sem_ch4.adb: Minor reformatting
        Minor code reorganization

        * prj.ads: Minor reformatting

        * s-os_lib.adb: Minor reformatting

        * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
        half encodings

        * scans.ads: Minor reformatting.

        * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
        (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma

        * sem_res.adb:
        (Resolve_Call): Check violation of No_Specific_Termination_Handlers

        * sem_ch12.adb: Minor comment reformatting

        * par-ch3.adb (P_Type_Declaration): Properly handle missing type
        keyword

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
        generating code

2008-08-01  Ed Schonberg  <schonberg@adacore.com>

        * checks.adb (Apply_Float_Conversion_Check): If the expression to be
        converted is a real literal and the target type has static bounds,
        perform the conversion exactly to prevent floating-point anomalies on
        some targets.

2008-08-01  Vincent Celier  <celier@adacore.com>

        * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)

        * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax

        * prj.adb (Object_Exist_For): Use Object_Generated, not
        Objects_Generated that is removed and was never modified anyway.

        * prj.ads:
        (Path_Syntax_Kind): New enumeration type
        (Language_Config): New component Path_Syntax, defaulted to Host.
        Components PIC_Option and Objects_Generated removed, as they are not
        used.

        * snames.adb: New standard name Path_Syntax

        * snames.ads: New standard name Path_Syntax

2008-08-01  Vincent Celier  <celier@adacore.com>

        * mlib-utl.adb:
        (Adalib_Path): New variable to store the path of the adalib directory
        when procedure Specify_Adalib_Dir is called.
        (Lib_Directory): If Adalib_Path is not null, return its value
        (Specify_Adalib_Dir): New procedure

        * mlib-utl.ads (Specify_Adalib_Dir): New procedure

2008-08-01  Ed Schonberg  <schonberg@adacore.com>

        * sem_prag.adb:
        (Check_Precondition_Postcondition): If not generating code, analyze the
        expression in a postcondition that appears in a subprogram body, so that
        it is properly decorated for ASIS use.

2008-08-01  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
        Orig_Prev to Prev in the case where the actual is N_Function_Call or
        N_Identifier. This was interfering with other cases that are rewritten
        as N_Identifier, such as allocators, resulting in passing of the wrong
        accessibility level, and based on testing this code is apparently no
        longer needed at all.

2008-08-01  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
        procedure call whose prefix
        is a parameterless function call that returns an access_to_procedure.

2008-08-01  Jose Ruiz  <ruiz@adacore.com>

        * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
        for RTX. Adding a suffix that is incremented at each iteration.

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
        Raise_Exception

2008-08-01  Jerome Lambourg  <lambourg@adacore.com>

        * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
        paths, which are authorized by Windows but can lead to errors when used
        elsewhere.

2008-08-01  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
        a pending instantiation for the body of a subprogram that is to be
        inlined.

        * sem_ch12.adb:
        (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.

        * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
        create a pending instance for its body, so that calls to the subprogram
        can be inlined by the back-end.

2008-08-01  Jose Ruiz  <ruiz@adacore.com>

        * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
        rts-rtx-w32).

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer

2008-08-01  Doug Rupp  <rupp@adacore.com>

        * gnat_rm.texi: Document new mechanism Short_Descriptor.

        * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
        mechanism values.

        * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
        mechanism and Short_Descriptor mechanism values.

        * snames.adb (preset_names): Add short_descriptor entry.

        * snames.ads: Add Name_Short_Descriptor.

        * types.h: Add new By_Short_Descriptor mechanism values.

        * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
        mechanism and Short_Descriptor mechanism values.

        * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
        values.
        (Descriptor_Codes): Modify range for new mechanism values.

        * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
        mechanism values.

        * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
        (gnat_to_gnu_param): Handle By_Short_Descriptor.

        * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
        (build_vms_descriptor32): New prototype.
        (fill_vms_descriptor): Remove unneeded gnat_actual parameter.

        * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
        argument in call fill_vms_descriptor.

        * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
        build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
        (build_vms_descriptor): Renamed from build_vms_descriptor64.
        (convert_vms_descriptor32): New function.
        (convert_vms_descriptor64): New function.
        (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
        descriptors.

        * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
        no longer needed.

2008-08-01  Jose Ruiz  <ruiz@adacore.com>

        * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
        nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
        name.

2008-08-01  Jose Ruiz  <ruiz@adacore.com>

        * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
        current directory so only fully qualified names are allowed.

2008-08-01  Robert Dewar  <dewar@adacore.com>

        * gnat_ugn.texi:
        Minor editing, remove uncomfortable use of semicolon

        * s-ststop.adb: Add some ??? comments

        * sem_ch10.adb: Minor reformatting

        * snames.ads:
        Minor comment fixes, some pragmas were not properly
        categorized in the comments, documentation change only

        * xref_lib.adb: Minor reformatting

        * sinput.adb: Minor reformatting

        * gnatchop.adb: Minor reformatting

        * sem_util.ads: Minor reformatting.

        * opt.ads: Minor documentation fix

        * scng.adb: Minor reformatting

        * prj-part.adb: Update comments

2008-08-01  Ed Schonberg  <schonberg@adacore.com>

        * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
        tagged synchronized type, use corresponding record type.

2008-08-01  Doug Rupp  <rupp@adacore.com>

        * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
        dummy transfer address for debugging.

        * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.

        * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING

2008-07-31  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
        * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.

2008-07-31  Pascal Obry  <obry@adacore.com>

        * prj-nmsc.adb: Keep Object and Exec directory casing.

2008-07-31  Jose Ruiz  <ruiz@adacore.com>

        * system-rtx-rtss.ads
        Change the default stack size. It is important to set the commit part.

        * s-taprop-rtx.adb
        (Initialize): Get the clock resolution.
        (RT_Resolution): Return the clock resolution that is indicated by the
        system.

        * s-parame-vxworks.adb
        Document that this body is used for RTX in RTSS (kernel) mode.

        * gcc-interface/Makefile.in
        (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
        s-parame-vxworks.adb body in order to have reasonable stack sizes in
        RTX RTSS kernel mode. Virtual memory is not used in that case, so we
        cannot ask for too big values.

2008-07-31  Robert Dewar  <dewar@adacore.com>

        * exp_aggr.adb: Minor reformatting

        * makeutl.adb: Minor reformatting

        * prj-env.adb: Minor reformatting

2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
        tagged type is completed by a concurrent type.

2008-07-31  Gary Dismukes  <dismukes@adacore.com>

        * sem_aggr.adb:
        (Resolve_Record_Aggregate): Bypass error that a type without
        components must have a "null record" aggregate when compiling for Ada
        2005, since it's legal to give an aggregate of form (others => <>)
        for such a type.

2008-07-31  Javier Miranda  <miranda@adacore.com>

        * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
        handle synchronized types. Required to handle well the object.operation
        notation applied to synchronized types.

2008-07-31  Quentin Ochem  <ochem@adacore.com>

        * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
        anymore - just used internally.
        Added handling of very small tasks - when the theoretical size is
        already full at the point of the call.
        (Report_Result): Fixed result computation, Stack_Used_When_Filling does
        not need to be added to the result.

2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

        * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
        corresponding spec is a primitive wrapper. Update comment.

2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

        * bindgen.adb Comment reformatting. Update the list of run-time globals.
        (Gen_Adainit_Ada): Add the declaration, import and value set for
        configuration flag Canonical_Streams.
        (Gen_Adainit_C): Add the declaration and initial value of external
        symbol __gl_canonical_streams.

        * init.c: Update the list of global values computed by the binder.

        * opt.ads: Add flag Canonical_Streams.

        * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
        semantically handled pragmas.

        * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
        (Analyze_Pragma): Add case for pragma Canonical_Streams.

        * snames.adb: Add character value for name Canonical_Streams.

        * snames.ads:
        Add Name_Canonical_Streams to the list of configuration pragmas.
        Add Pragma_Canonical_Streams to enumeration type Pragma_Id.

        * snames.h: Add a definition for Pragma_Canonical_Streams.

        * s-ststop.adb:
        Add a flag and import to seize the value of external symbol
        __gl_canonical_streams. Update comment and initial value of constant
        Use_Block_IO.

        * gnat_rm.texi: Add section of pragma Canonical_Streams.

        * gnat_ugn.texi:
        Add pragma Canonical_Streams to the list of configuration pragmas.

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
        has the form A.B.C and B is a unit renaming, analyze its compilation
        unit and add a with_clause on A.b to the context.

2008-07-31  Vincent Celier  <celier@adacore.com>

        * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
        return the empty string, instead of raising Constraint_Error.

2008-07-31  Gary Dismukes  <dismukes@adacore.com>

        * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.

        * checks.adb (Apply_Accessibility_Check): Insert the check on
        Insert_Node.

        * exp_attr.adb:
        (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
        to new parameter Insert_Node on call to Apply_Accessibility_Check.
        Necessary to distinguish the insertion node because the dereferenced
        formal may come from a rename, but the check must be inserted in
        front of the attribute.

        * exp_ch4.adb:
        (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
        call to Apply_Accessibility_Check.
        (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
        on call to Apply_Accessibility_Check.
        Minor reformatting

2008-07-31  Javier Miranda  <miranda@adacore.com>

        * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
        types when the candidate type is a synchronized type.

        * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
        types, and complete management of synchronized types adding missing
        code to handle formal that is a synchronized type.

        * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
        are not available and cause the compiler to blowup. Found compiling
        test with switch -gnatc

        * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
        Has_Correct_Formal_Mode plus code cleanup.

2008-07-31  Bob Duff  <duff@adacore.com>

        * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
        recognized as two end-of-lines, but it should be just one.

2008-07-31  Thomas Quinot  <quinot@adacore.com>

        * exp_ch9.adb: Minor reformatting

        * tbuild.ads: Fix several occurrences of incorrectly referring to
        Name_Find as Find_Name.

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

        * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
        and the context is an object declaration with non-static bounds, treat
        the aggregate as non-static.

2008-07-31  Vincent Celier  <celier@adacore.com>

        * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
        Move back spec of Parse_Single_Project to body, as it is not called
        outside of package Prj.Part.
        (Project_Data): Remove components Linker_Name, Linker_Path and
        Minimum_Linker_Options as they are no longer set.
        Remove function There_Are_Ada_Sources from package Prj and move code
        in the only place it was used, in Prj.Env.Set_Ada_Paths.

2008-07-31  Arnaud Charlet  <charlet@adacore.com>

        * mlib-utl.ads: Fix typo.

2008-07-31  Robert Dewar  <dewar@adacore.com>

        * sem_ch12.adb: Minor reformatting

2008-07-31  Sergey Rybin  <rybin@adacore.com>

        * gnat_ugn.texi: Change the description of the
        Overly_Nested_Control_Structures: now the rule always requires a
        positive parameter for '+R' option

2008-07-31  Thomas Quinot  <quinot@adacore.com>

        * g-pehage.adb: Minor reformatting

2008-07-31  Pascal Obry  <obry@adacore.com>

        * s-finimp.ads: Minor reformatting.

2008-07-31  Vincent Celier  <celier@adacore.com>

        * s-regexp.ads: Minor comment fix

2008-07-31  Arnaud Charlet  <charlet@adacore.com>

        * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
        so that we can compile this file successfully with -gnatc.

2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
        of the type when looking for stream subprograms for type String,
        Wide_String and Wide_Wide_String.

        * s-ststop.adb: Change the initialization expression of constant
        Use_Block_IO.

2008-07-31  Geert Bosch  <bosch@adacore.com>

        * arit64.c:
        New file implementing __gnat_mulv64 signed integer multiplication with
        overflow checking

        * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi

        * gcc-interface/gigi.h:
        (standard_types): Add ADT_mulv64_decl
        (mulv64_decl): Define subprogram declaration for __gnat_mulv64

        * gcc-interface/utils.c:
        (init_gigi_decls): Add initialization of mulv64_decl

        * gcc-interface/trans.c:
        (build_unary_op_trapv): New function
        (build_binary_op_trapv): New function
        (gnat_to_gnu): Use the above functions instead of
        build_{unary,binary}_op

        * gcc-interface/Makefile.in
        (LIBGNAT_SRCS): Add arit64.c
        (LIBGNAT_OBJS): Add arit64.o

2008-07-31  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
        Linker'Default_Switches are declared. Warn if they are declared.

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
        Insert_Actions to place the pointer declaration in the code, rather
        than Insert_Before_And_Analyze, so that insertions of temporaries are
        kept in the proper order when transient scopes are present.


2008-07-31  Robert Dewar  <dewar@adacore.com>

        * einfo.adb (Spec_PPC): Now defined for generic subprograms

        * einfo.ads (Spec_PPC): Now defined for generic subprograms

        * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
        subprogram case

2008-07-31  Vincent Celier  <celier@adacore.com>

        * s-os_lib.adb: Minor comment fix

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
        transfer pre/postconditions from generic copy to original tree, so that
        they will appear in each instance.
        (Process_PPCs): Do not transform postconditions into a procedure in a
        generic context, to prevent double expansion of check pragmas.

        * sem_attr.adb: In an instance, the prefix of the 'result attribute
        can be the renaming of the
        current instance, so check validity of the name accordingly.

2008-07-31  Robert Dewar  <dewar@adacore.com>

        * mlib-utl.ads: Minor reformatting

2008-07-31  Ed Schonberg  <schonberg@adacore.com>

        sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
        from context. This attribute must be usable in Ada95 mode.
        The attribute can appear in the body of a function marked
        Inline_Always, but in this case the postocondition is not enforced.

        sem_prag.adb (Check_Precondition_Postcondition): within the expansion
        of an inlined call pre- and postconditions are legal

2008-07-31  Vincent Celier  <celier@adacore.com>

        * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
        were for gprmake only

2008-07-31  Robert Dewar  <dewar@adacore.com>

        * gnat_ugn.texi: Update -gnatN documentation.

        * gnat_rm.texi: Add note about pre/postcondition
        pragmas not checked in conjunction with front-end inlining.

2008-07-31  Robert Dewar  <dewar@adacore.com>

        * g-pehage.adb, g-pehage.ads: Minor reformatting

2008-07-31  Arnaud Charlet  <charlet@adacore.com>

        * mlib-utl.ads, prj-makr.ads: Add comments.

2008-07-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

        * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
        [WINDOWS]: Add s-winext.o.

2008-07-30  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/36554
        * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
        * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
        Set precision to 1 for subtype of BOOLEAN_TYPE.
        (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
        (make_type_from_size): Deal with BOOLEAN_TYPE.
        * gcc-interface/misc.c (gnat_print_type): Likewise.
        * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
        Set boolean_type_node as its translation in the table, as well
        as boolean_false_node for False and boolean_true_node for True.
        * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
        8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
        (create_param_decl): Deal with BOOLEAN_TYPE.
        (build_vms_descriptor): Likewise.
        (build_vms_descriptor64): Likewise.
        (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.

2008-07-30  Robert Dewar  <dewar@adacore.com>

        * exp_ch9.adb: Minor reformatting

        * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
        if no primitive operation is found.

        * exp_util.adb: (Find_Prim_Op): Add comments for previous change

        * sem_ch8.adb: Minor reformatting

2008-07-30  Laurent Pautet  <pautet@adacore.com>

        * g-pehage.adb:
        Remove a limitation on the length of the words handled by the minimal
        perfect hash function generator.

        * g-pehage.ads:
        Detail the use of subprograms Insert, Initialize, Compute and Finalize.
        Fix some typos.

2008-07-30  Robert Dewar  <dewar@adacore.com>

        * gnatlink.adb: Minor reformatting

2008-07-30  Thomas Quinot  <quinot@adacore.com>

        * rtsfind.adb (Check_RPC): Check version consistency even when not
        generating RCI stubs. Provide more detailed error message in case of
        mismatch.

2008-07-30  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
        as a actual in an instance, check for a missing attribute to prevent
        program_error on an illegal program.

        * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
        error if primitive is not found, so that exception can be handled
        elsewhere on illegal programs.

2008-07-30  Robert Dewar  <dewar@adacore.com>

        * uintp.adb (UI_GCD): Fix potential overflow

2008-07-30  Hristian Kirtchev  <kirtchev@adacore.com>

        * einfo.adb: Flag245 is now used.
        (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
        check to include functions.
        (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
        (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
        include functions.
        (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
        to the list of displayed flags.

        * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
        Wrapped_Entity. These two flags are now present in functions.
        New flag Is_Private_Primitive.
        (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.

        * exp_ch9.adb:
        (Build_Wrapper_Bodies): New subprogram.
        (Build_Wrapper_Body): The spec and body have been moved to in
        Build_Wrapper_ Bodies. Code cleanup.
        (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
        Wrappers are now generated for primitives declared between the private
        and full view of a concurrent type that implements an interface.
        (Build_Wrapper_Specs): New subprogram.
        (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
        creation mechanism with a call to Build_Wrapper_Bodies.
        (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
        wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
        (Expand_N_Task_Body): Replace the wrapper body creation
        mechanism with a call to Build_Wrapper_Bodies.
        (Expand_N_Task_Type_Declaration): Replace the wrapper spec
        creation mechanism with a call to Build_Wrapper_Specs.
        (Is_Private_Primitive_Subprogram): New subprogram.
        (Overriding_Possible): Code cleanup.
        (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.

        * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.

        * sem_ch3.adb: Add with and use clause for Exp_Ch9.
        (Process_Full_View): Build wrapper specs for all primitives
        that belong to a private view completed by a concurrent type
        implementing an interface.

        * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
        is a primitive of a
        concurrent type with a private view that implements an interface, try to
        find the proper spec.
        (Analyze_Subprogram_Declaration): Mark a subprogram as a private
        primitive if the type of its first parameter is a non-generic tagged
        private type.
        (Analyze_Subprogram_Specification): Code reformatting.
        (Disambiguate_Spec): New routine.
        (Find_Corresponding_Spec): Add a flag to controll the output of errors.
        (Is_Private_Concurrent_Primitive): New routine.

        * sem_ch6.ads:
        (Find_Corresponding_Spec): Add a formal to control the output of errors.

2008-07-30  Doug Rupp  <rupp@adacore.com>

        * gigi.h (build_vms_descriptor64): New function prototype.
        (fill_vms_descriptor): Modified function prototype.

        * utils.c (build_vms_descriptor64): New function.

        * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.

        * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
        argument.

        * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
        64bit and 32bit descriptor and save the 64bit version as an alternate
        TREE_TYPE in the parameter.
        (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
        thin pointer.

        * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.

2008-07-30  Robert Dewar  <dewar@adacore.com>

        * make.adb: Minor reformatting

        * mlib-utl.adb: Minor reformatting

        * osint.ads: Minor reformatting

2008-07-30  Jose Ruiz  <ruiz@adacore.com>

        * adaint.c
        (__gnat_file_exists): Do not use __gnat_stat for RTX.
        (__main for RTX in RTSS mode): Create this dummy procedure symbol to
        avoid the use of this symbol from libgcc.a in RTX kernel mode.

        * cio.c
        (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
        the function RtPrintf for console output.

        * argv.c Do not use the environ variable for RTX.

        * gnatlink.adb (gnatlink): The part that handles the --RTS option has
        been moved before the call to Osint.Add_Default_Search_Dirs in order
        to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
        from the appropriate run time.

        * targparm.ads
        (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
        target is a RTSS module for RTX.

        * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
        RTX_RTSS_Kernel_Module
        (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.

        * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
        exception handling mechanism for Windows and RTX in Win32 mode, but
        not for RTX in kernel mode (RTSS).
        (LIBGNAT_SRCS): Remove ada.h

2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

        * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
        T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
        (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
        * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
        X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
        ALL_ADA_CFLAGS): Remove.
        (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
        replace ALL_ADA_CFLAGS with ADA_CFLAGS.
        (GCC_CFLAGS): Remove X_CFLAGS.
        (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
        (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
        (ADA_CFLAGS): Substitute.

2008-07-30  Laurent Guerby  <laurent@guerby.net>

        PR ada/5911
        * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
        Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
        Replace stamp-gnatlib* by stamp-gnatlib*-rts.
        * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
        by stamp-gnatlib2-rts.

2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        PR documentation/15479
        * gnat-style.texi: Remove AdaCore copyright statement and GPL
        statement for GNAT.  Add @copying stanza, use it.  Update to
        GFDL 1.2.  Do not list GFDL as Invariant Section, do not list
        title as Front-Cover Text.
        * gnat_rm.texi: Likewise.
        * gnat_ugn.texi: Likewise.

2008-07-29  Jan Hubicka  <jh@suse.cz>

        * trans.c (process_inlined_subprograms): Remove tree_really_inline
        check.

2008-07-29  Arnaud Charlet  <charlet@adacore.com>

        * gcc-interface: New directory.

        * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
        utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
        config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
        to gcc-interface subdirectory.

2008-07-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

        * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.

2008-07-28  Jan Hubicka  <jh@suse.cz>

        * misc.c (gnat_post_options): Do not set flag_no_inline.

2008-07-28  Richard Guenther  <rguenther@suse.de>

        Merge from gimple-tuples-branch.

        2008-07-22  Olivier Hainque  <hainque@adacore.com>

        * gigi.h (end_subprog_body): New ELAB_P argument, saying if
        this is called for an elab proc to be discarded if empty.
        * utils.c (end_subprog_body): Honor ELAB_P.
        (build_function_stub): Adjust call to end_subprog_body.
        * trans.c (Subprogram_Body_to_gnu): Likewise.
        (gigi): Reorganize processing of elab procs to prevent
        gimplifying twice, using the new end_subprog_body argument.

        2008-07-19  Richard Guenther  <rguenther@suse.de>

        * Make-lang.in (trans.o): Add tree-iterator.h dependency.
        (utils.o): Likewise.
        * trans.c: Include tree-iterator.h.
        (gnat_gimplify_expr): Adjust prototype.  Fix typo.
        (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
        (set_expr_location_from_node): Likewise.
        (gigi): Tuplify.
        * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
        of GENERIC_NEXT.
        * utils.c: Include tree-iterator.h.
        * gigi.h (gnat_gimplify_expr): Adjust prototype.

        2008-07-18  Aldy Hernandez  <aldyh@redhat.com>

        * trans.c: Include gimple.h instead of tree-gimple.h.
        * utils.c: Same.

        2008-07-14  Aldy Hernandez  <aldyh@redhat.com>

        * trans.c (gnat_gimplify_expr): Use gimplify_assign.

2008-07-25  Jan Hubicka  <jh@suse.cz>

        * utils.c (end_subprog_body): Remove inline trees check.
        * misc.c (gnat_post_options): Do not set flag_inline_trees.

2008-07-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

        * raise-gcc.c: Move tsystem.h before tm.h.

2008-07-20  Arnaud Charlet  <charlet@adacore.com>

        * gnathtml.pl: New file.

2008-07-19  Olivier Hainque  <hainque@adacore.com>

        * targtyps.c (get_target_default_allocator_alignment): Use
        MALLOC_ABI_ALIGNMENT.

2008-07-17  Olivier Hainque  <hainque@adacore.com>

        * adaint.c (__MINGW32__ section): Include ctype.h and define
        a fallback ISALPHA if IN_RTS.
        (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.

2008-07-17  Olivier Hainque  <hainque@adacore.com>

        * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
        argument, to apply to references in addition to definitions.  Prevent
        setting TREE_STATIC on externals.
        (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.

2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        PR documentation/15479
        * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
        Replace backets around optional parameters with @ovar
        where possible, use @r{[}, @r{]} otherwise.
        Replace some @r, @i, and @emph with @var where appropriate.

2008-07-02  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.

2008-06-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

        * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
        -Wc++-compat warnings.
        * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
        __gnat_locate_exec_on_path): Likewise.
        * decl.c (annotate_value): Likewise.
        * misc.c (gnat_handle_option): Likewise.
        * trans.c (gnat_to_gnu, extract_encoding, decode_name,
        post_error_ne_tree): Likewise.

2008-06-27  Eric Botcazou  <ebotcazou@adacore.com>

        * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
        version of its type, attempt to first convert its elements.

2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>

        * Makefile.in: Fix *86 kfreebsd target specific pairs.

2008-06-25  Samuel Tardieu  <sam@rfc1149.net>

        * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.

2008-06-24  Eric Botcazou  <ebotcazou@adacore.com>

        * utils2.c (known_alignment): Derive the alignment from pointed-to
        types only if it is otherwise unknown.
        <INTEGER_CST>: Tidy.
        <MULT_EXPR>: Likewise.
        <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
        that of the base.

2008-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

        PR ada/36573
        * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.

2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * gnat_rm.texi (Implementation Defined Characteristics)
        (Standard Library Routines): Use @smallexample for indented
        text.  Drop Indentation outside examples.
        * gnat_ugn.texi: Likewise.

2008-06-13  Olivier Hainque  <hainque@adacore.com>

        * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
        if undefined.
        (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
        realignment with force_align_arg_pointer attribute on foreign
        convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.

2008-06-13  Olivier Hainque  <hainque@adacore.com>

        * utils.c (rest_of_record_type_compilation): When computing
        encodings for the components of a variable size type, early
        strip conversions on the current position expression to make
        sure it's shape is visible.  Use remove_conversions for this
        purpose.

2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
        constrained subtype of a discriminated type, discard the fields that
        are beyond its limits according to its size.

2008-06-10  Olivier Hainque  <hainque@adacore.com>

        * utils.c (create_subprog_decl): If this is for the 'main' entry
        point according to the asm name, redirect main_identifier_node.

2008-06-09  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (components_to_record): Adjust the packedness for the
        qualified union as well.

2008-06-09  Arnaud Charlet  <charlet@adacore.com>

        * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
        checks non fatal.

2008-06-07  Samuel Tardieu  <sam@rfc1149.net>

        * sem_res.adb (Large_Storage_Type): A type is large if it
        requires as many bits as Positive to store its values and its
        bounds are known at compile time.
        * sem_ch13.adb (Minimum_Size): Note that this function returns
        0 if the size is not known at compile time.

2008-06-06  Nicolas Setton  <setton@adacore.com>
            Olivier Hainque  <hainque@adacore.com>

        * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
        attribute, parallel descriptive type attached to another
        type for debug info generation purposes.
        * utils.c (add_parallel_type): New function, register
        parallel type to be attached to a type.
        (get_parallel_type): New function, fetch a registered
        parallel type, if any.
        (rest_of_record_type_compilation): Register the parallel
        type we make for variable size records.
        * gigi.h (add_parallel_type, get_parallel_type): Declare.
        * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
        parallel debug types we make.
        * trans.c (extract_encoding, decode_name): New functions.
        (gigi): If the DWARF attribute extensions are available, setup
        to use them.
        * lang.opt: Register language specific processing request
        for -gdwarf+.
        * misc.c (gnat_dwarf_extensions): New global variable. How much
        do we want of our DWARF extensions. 0 by default.
        (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
        (gnat_post_options): Map gnat_dwarf_extensions to the
        commonuse_gnu_debug_info_extensions for later processing.

2008-06-04  Samuel Tardieu  <sam@rfc1149.net>

        * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.

2008-06-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * Makefile.in (common_tools): Fix typos in $(exeext) extension.
        * gnat_ugn.texi (Style Checking)
        (Adding the Results of Compiler Checks to gnatcheck Output)
        (Example of Binder Output File): Fix typos.
        * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
        exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
        s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
        s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
        sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
        sinfo.ads, utils.c: Fix typos in comments.
        * sem_ch6.adb, vms_data.ads: Fix typos in strings.

2008-05-29  Thomas Quinot  <quinot@adacore.com>

        * sem_eval.adb: Minor reformatting

2008-05-29  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
        is abstract, do not apply abstractness check on subprogram if this is
        a renaming declaration.

2008-05-29  Arnaud Charlet  <charlet@adacore.com>

        PR ada/864
        * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
        allow recognition of program suffix in addition to prefix.

        * gnatchop.adb (Locate_Executable): Add support for prefix.

        * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
        mlib-utl.adb: Adjust calls to Program_Name.

2008-05-29  Robert Dewar  <dewar@adacore.com>

        * sem_ch3.adb: Minor reformatting
        * sem_prag.adb: Minor reformatting
        * sem_res.adb: Minor reformatting
        * sinput-p.ads: Minor reformatting

2008-05-29  Javier Miranda  <miranda@adacore.com>

        * sem_util.adb:
        (Abstract_Interface_List): Add missing support for full type-declaration
        associated with synchronized types.

2008-05-29  Robert Dewar  <dewar@adacore.com>

        * sem_eval.adb (Is_Same_Value): Take care of several more cases

2008-05-28  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
        access type, wrap the expression in a conversion to force an
        accessibility check.

        * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
        accessibility checks even when expansion is disabled in order to
        generate messages in the presence of previous errors or in
        semantics-only mode.

2008-05-28  Eric Botcazou  <ebotcazou@adacore.com>

        * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
        * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.

2008-05-28  Vincent Celier  <celier@adacore.com>

        PR ada/34446
        * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
        preprocessing expressions

2008-05-28  Vincent Celier  <celier@adacore.com>

        * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
        for preprocessing

        * sinput-p.ads: Minor comment update and reformatting

2008-05-28  Ed Schonberg  <schonberg@adacore.com>

        * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
        type has a deeper level than any master only when it is the type of an
        access parameter.

2008-05-28  Javier Miranda  <miranda@adacore.com>

        * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.

2008-05-28  Javier Miranda  <miranda@adacore.com>

        * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
        * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
        * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
        Add code that was previously located in
        Find_Overridden_Synchronized_Primitive because it is only used here.

2008-05-28  Sergey Rybin  <rybin@adacore.com>

        * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
        Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.

2008-05-28  Robert Dewar  <dewar@adacore.com>

        * restrict.ads:
        Add missing restrictions, and properly label all GNAT defined ones

        * rtsfind.ads:
        Add entry for Ada_Real_Time.Timing_Events.Timing_Event
        Add entry for Ada.Task_Termination.Set_Specific_Handler
        Add entry for Ada.Task_Termination.Specific_Handler

        * s-rident.ads:
        Add missing restrictions and properly mark all gnat defined ones

        * sem_ch3.adb:
        (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction

        * sem_res.adb:
        (Resolve_Call): Check violation of No_Specific_Termination_Handlers

        * gnat_rm.texi: Add missing restrictions, and properly label all
        GNAT defined ones

2008-05-28  Robert Dewar  <dewar@adacore.com>

        * restrict.adb:
        (Check_Restriction): violation of restriction No_Finalization is
        treated as a serious error to stop expansion

2008-05-28  Robert Dewar  <dewar@adacore.com>

        * exp_util.adb: Minor reformatting
        * exp_util.ads: Minor reformatting.

2008-05-28  Arnaud Charlet  <charlet@adacore.com>

        * Make-lang.in: Remove gprmake.

        * gprmake.adb, makegpr.ads, makegpr.adb: Removed.

2008-05-28  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
        improper progenitor names, and avoid cascaded errors.

2008-05-28  Robert Dewar  <dewar@adacore.com>

        * gnat_rm.texi: Add note on Old giving warning when applied to constant

        * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
        a constant

2008-05-28  Robert Dewar  <dewar@adacore.com>

        * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
        size

2008-05-28  Robert Dewar  <dewar@adacore.com>

        * exp_ch5.adb:
        (Expand_Simple_Function_Return): Copy unaligned result into temporary

2008-05-28  Javier Miranda  <miranda@adacore.com>

        * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
        for user-defined predefined primitives.

        * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
        (Find_Overridden_Synchronized_Primitive): Ditto.

        * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.

2008-05-27  Arnaud Charlet  <charlet@adacore.com>

        * a-ststio.adb, s-direio.adb:
        Further code clean up of previous change.
        Update comments.

2008-05-27  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb: Minor reformatting

2008-05-27  Bob Duff  <duff@adacore.com>

        * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
        untagged private type with a tagged full type, where the full type has
        a self reference, create the corresponding class-wide type early, in
        case the self reference is "access T'Class".

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

        * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
        tasks and context is an object declaration. create master entity before
        expansion.

2008-05-27  Robert Dewar  <dewar@adacore.com>

        * mlib-prj.adb: Minor reformatting

        * prj-part.adb: Minor reformatting

        * prj.ads: Minor reformatting

        * exp_ch3.adb: Minor reformatting.

        * sem_ch3.ads: Minor reformatting

        * sem_eval.adb: Minor reformatting

2008-05-27  Vincent Celier  <celier@adacore.com>

        * gnatcmd.adb:
        <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

        * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
        tasks, create an activation chain now, before the expansion into
        assignments and build-in-place calls that require the presence of an
        activation chain.
        (Backend_Processing_Possible): If the component type is inherently
        limited, the aggregate must be expanded into individual built-in-place
        assignments.

        * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
        determine whether an allocation extra parameter must be built, to
        handle case of a private type whose full type is a discriminated type
        with defaults.

2008-05-27  Bob Duff  <duff@adacore.com>

        * gnat_rm.texi:
        Document the new behavior regarding trampolines.

2008-05-27  Arnaud Charlet  <charlet@adacore.com>

        * a-direio.adb, a-sequio.adb: Replace address clause by
        unrestricted_access, simpler and compatible with .NET.

2008-05-27  Vincent Celier  <celier@adacore.com>

        * prj-part.adb:
        (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
        a project file, so that symbolic links are not resolved.

2008-05-27  Arnaud Charlet  <charlet@adacore.com>

        * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
        Replace heavy address clause by 'Unrestricted_Access, cleaner and more
        portable across GNAT targets, since this kind of address clause is not
        supported by VM back-ends (.NET/JGNAT).

2008-05-27  Arnaud Charlet  <charlet@adacore.com>

        * bindgen.adb: Update comments.

        * s-tasinf-mingw.adb: Add "with" of System.OS_Interface

2008-05-27  Vincent Celier  <celier@adacore.com>

        * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
        prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
        mlib-tgt.adb, prj-env.adb, prj-env.ads:
        (Path_Information): New record type
        Use component of type Path_Information when there are two paths, one in
        canonical format and one in display format.
        Update the project manager to these new components.

2008-05-27  Robert Dewar  <dewar@adacore.com>

        * makeutl.adb: Minor reformatting
        * prj-nmsc.adb: Minor reformatting
        * s-stausa.adb: Minor reformatting
        * s-stausa.ads: Minor reformatting
        * sem_ch6.adb: Minor reformatting

2008-05-27  Thomas Quinot  <quinot@adacore.com>

        * sem_res.adb: Minor comment fixes

2008-05-27  Thomas Quinot  <quinot@adacore.com>

        * makeutl.adb: Minor code reorganization

        * exp_aggr.adb: Add ??? comment
        Fix typo

        * exp_ch6.adb: Minor reformatting

2008-05-27  Quentin Ochem  <ochem@adacore.com>

        * s-stausa.adb (Initialize): Updated result initialization, and
        initialization of environment stack.
        (Fill_Stack): Improved computation of the pattern zone, taking into
        account already filled at the calling point.
        (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
        Measure and Overflow_Guard.
        (Report_Result): Fixed computation of the result using new fields of
        Stack_Analyzer.

        * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
        params by more explicit Stack_Size / Max_Pattern_Size params.
        (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
        Added Stack_Used_When_Filling field.
        (Task_Result): Replaced Measure / Overflow_Guard by more explicit
        Min_Measure and Max_Measure fields.

        * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.

2008-05-27  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb:
        (Check_File): Make sure that a unit that replaces the same unit in a
         project being extended is properly processed.

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb:
        (Get_Discr_Value): Remove obsolete code that failed to find the value
        of a discriminant for an inherited task component appearing in a type
        extension.

2008-05-27  Thomas Quinot  <quinot@adacore.com>

        (System.File_IO.{Close, Delete, Reset}):
        Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".

        (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
        Pass File parameter by reference.

2008-05-27  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb:
        (Process_Sources_In_Multi_Language_Mode): Check that there are not two
        sources of the same project that have the same object file name.
        (Find_Explicit_Sources): Always remove a source exception that was not
        found.

2008-05-27  Thomas Quinot  <quinot@adacore.com>

        * sem_ch3.adb: Minor reformatting

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch6.adb:
        (Is_Interface_Conformant): Handle properly a primitive operation that
        overrides an interface function with a controlling access result.
        (Type_Conformance): If Skip_Controlling_Formals is true, when matching
        inherited and overriding operations, omit as well the conformance check
        on result types, to prevent spurious errors.

2008-05-27  Vincent Celier  <celier@adacore.com>

        * makeutl.ads, makeutl.adb:
        (Set_Location): New procedure
        (Get_Location): New function
        (Update_Main): New procedure

2008-05-27  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb:
        (Check_Library): Allow standard project to be extended as a static
        library project.
        (Get_Mains): Do not inherit attribute Main in an extending library
        project.

2008-05-27  Eric Botcazou  <ebotcazou@adacore.com>

        * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
        * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
        * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
        * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
        * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
        * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
        * system-mingw.ads (Always_Compatible_Rep): Likewise.
        * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
        * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
        * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

        * sem_attr.adb: add guard to previous patch.

2008-05-27  Ed Schonberg  <schonberg@adacore.com>

        * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
        a synchronized tagged type, do not attempt to build dispatch table for
        full view. The table is built for the corresponding record type, which
        has its own declaration.

2008-05-27  Gary Dismukes  <dismukes@adacore.com>

        * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
        to the known type entity E, rather than setting it to Any_Type. Fixes
        possible blowup in function Base_Init_Proc, as called from Freeze_Entity
        for objects whose type had an illegal constraint.

2008-05-27  Vincent Celier  <celier@adacore.com>

        * gnat_ugn.texi:
        Add succinct documentation for attribute Excluded_Source_List_File

2008-05-27  Vincent Celier  <celier@adacore.com>

        * prj-attr.adb: Add new project level attribute Map_File_Option

        * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option

        * prj.ads: Minor reformatting and comment update
        (Project_Configuration): New component Map_File_Option

        * snames.adb: New standard name Map_File_Option

        * snames.ads: New standard name Map_File_Option

2008-05-27  Vincent Celier  <celier@adacore.com>

        * xsnames.adb: Remove unused variable Oname

2008-05-27  Doug Rupp  <rupp@adacore.com>

        * exp_ch6.adb:
        (Expand_N_Function_Call): Fix comments. Minor reformatting.

        * exp_vfpt.ads:
        (Expand_Vax_Foreign_Return): Fix comments.

2008-05-27  Thomas Quinot  <quinot@adacore.com>

        * exp_dist.adb: Minor reformating

2008-05-26  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
        No_Default_Initialization, which is now delayed until the freeze point
        of the object. Add a comment about deferral of the check.

        * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
        on objects is moved here.

2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>

        * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
        (Compare_Array_S16): Adjust for above change.
        * s-casi32.adb (Uword): Likewise.
        (Compare_Array_S32): Likewise.
        * s-casi64.adb (Uword): Likewise.
        (Compare_Array_S64): Likewise.
        * s-caun16.adb (Uhalf): Likewise.
        (Compare_Array_U16): Likewise.
        * s-caun32.adb (Uword): Likewise.
        (Compare_Array_U32): Likewise.
        * s-caun64.adb (Uword): Likewise.
        (Compare_Array_U64): Likewise.

2008-05-26  Robert Dewar  <dewar@adacore.com>

        * exp_ch6.adb: Add ??? comment for previous change

        * exp_vfpt.adb: Minor reformatting

        * exp_vfpt.ads: Add ??? comment for last change

        * sem_attr.adb: Add some ??? comments for previous change

        * s-vaflop.ads: Add comments for previous change

2008-05-26  Doug Rupp  <rupp@adacore.com>

        * s-vaflop-vms-alpha.adb:
        Remove System.IO use clause, to prevent spurious ambiguities when
        package is access through rtsfind.

2008-05-26  Sergey Rybin  <rybin@adacore.com>

        * tree_io.ads (ASIS_Version_Number): Update because of the changes
        made in front-end

2008-05-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_attr.adb:
        (Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
        converted to S (A)'address only if A .. B is known to be a non-null
        range.

2008-05-26  Doug Rupp  <rupp@adacore.com>

        * s-vaflop.adb:
        (Return_D, Return_F, Return_G): New functions.

        * s-vaflop.ads:
        (Return_D, Return_F, Return_G): New functions.

        * exp_vfpt.adb:
        (Expand_Vax_Foreign_Return): New procedure

        * exp_vfpt.ads:
        (Expand_Vax_Foreign_Return): New procedure

        * rtsfind.ads:
        (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
        (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements

        * exp_ch6.adb:
        Import Exp_Vfpt
        (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.

        * s-vaflop-vms-alpha.adb:
        (Return_D, Return_F, Return_G): New functions.

2008-05-26  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
        init proc entity when there is actual default initialization associated
        with the component type, to avoid spurious errors on objects of scalar
        array types that are marked Is_Public when No_Default_Initialization
        applies.

2008-05-26  Thomas Quinot  <quinot@adacore.com>

        * rtsfind.ads, rtsfind.adb:
        (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
        (Check_RPC): Support per-PCS-kind API versioning.

        exp_dist.ads, exp_dist.adb:
        (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
        (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
         library function Get_RACW.
        (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
        library function Get_Reference.
        (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
        through an intermediate Any.
        (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
        going through an intermediate Any.

        * sem_dist.adb: Minor reformatting.

2008-05-26  Javier Miranda  <miranda@adacore.com>

        * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
        (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
        (Is_Internal): Adding documentation on internal entities that have
        attribute Interface_Alias (old attribute Abstract_Interface_Alias)

        * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
        (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
        Added assertion to force entities with this attribute to have
        attribute Is_Internal set to True.
        (Next_Tag_Component): Simplify assertion using attribute Is_Tag.

        * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
        renamed as Derive_Progenitor_Subprograms. In addition, its code is
        a new implementation.
        (Add_Interface_Tag_Components): Remove special management of
        synchronized interfaces.
        (Analyze_Interface_Declaration): Minor reformating
        (Build_Derived_Record_Type): Minor reformating
        (Check_Abstract_Overriding): Avoid reporting error in case of abstract
        predefined primitive inherited from interface type because the body of
        internally generated predefined primitives of tagged types are generated
        later by Freeze_Type
        (Derive_Subprogram): Avoid generating an internal name if the parent
        subprogram overrides an interface primitive.
        (Derive_Subprograms): New implementation that keeps separate the
        management of tagged types not implementing interfaces, from tagged
        types that implement interfaces.
        (Is_Progenitor): New implementation.
        (Process_Full_View): Add documentation
        (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
        by call to Derive_Progenitor_Subprograms.

        * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
        (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
        Skip_Controlling_Formals.

        * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
        (Check_Conventions): New implementation. Remove local subprogram
        Skip_Check. Remove formal Search_From of routine Check_Convention.
        (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
        Skip_Controlling_Formals.
        (New_Overloaded_Entity): Enable addition of predefined dispatching
        operations.

        * sem_disp.ads
        (Find_Primitive_Covering_Interface): New subprogram.

        * sem_disp.adb (Check_Dispatching_Operation): Disable registering
        the task body procedure as a primitive of the corresponding tagged
        type.
        (Check_Operation_From_Private_Type): Avoid adding twice an entity
        to the list of primitives.
        (Find_Primitive_Covering_Interface): New subprogram.
        (Override_Dispatching_Operation): Add documentation.

        * sem_type.adb (Covers): Minor reformatings

        * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
        Collect_Interfaces.
        Rename formal.
        (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
        (Implements_Interface): New subprogram.
        (Is_Parent): Removed.
        (Primitive_Names_Match): New subprogram.
        (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
        (Ultimate_Alias): New subprogram.

        * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
        Collect_Interfaces.
        Remove special management for synchronized types. Rename formal. Remove
        internal subprograms Interface_Present_In_Parent and Add_Interface.
        (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
        on non-record types by code to return false in such case.
        (Implements_Interface): New subprogram.
        (Is_Parent): Removed. No special management is now required for
        synchronized types covering interfaces.
        (Primitive_Names_Match): New subprogram.
        (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
        (Ultimate_Alias): New subprogram.

        * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
        Add internal entities associated with secondary dispatch tables to
        the list of tagged type primitives that are not interfaces.
        (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
        (Make_Predefined_Primitive_Specs): Code reorganization to improve
        the management of predefined equality operator. In addition, if
        the type has an equality function corresponding with a primitive
        defined in an interface type, the inherited equality is abstract
        as well, and no body can be created for it.

        * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
        exp_util to exp_disp.
        (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
        an entity corresponds with one of the predefined primitives required
        to implement interfaces.
        Update copyright notice.

        * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
        final check on abstract subprograms all the primitives associated with
        interface primitives because they must be visible in the public and
        private part.
        (Write_DT): Use Find_Dispatching_Type to locate the name of the
        interface type. This allows the use of this routine, for debugging
        purposes, when the tagged type is not fully decorated.
        (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
        Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
        (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
        entity corresponds with one of the predefined primitives required to
        implement interfaces.

        * exp_util.adb (Find_Interface_ADT): New implementation
        (Find_Interface): Removed.

        * sprint.adb (Sprint_Node_Actual): Generate missing output for the
        list of interfaces associated with nodes
        N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.

2008-05-26  Thomas Quinot  <quinot@adacore.com>

        * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
        condition for assignment to temporary.

2008-05-26  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
        checks on the upper bound if the index type is a modular type, to
        prevent wrap-around computations when size is close to upper bound of
        type.

2008-05-26  Robert Dewar  <dewar@adacore.com>

        * sem_ch3.adb: Minor reformatting

2008-05-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb (Remove_Parent): Use specification of instance
        to retrieve generic parent,
        to handle properly the case where the instance is a child unit.
        Add guard to handle properly wrapper packages.
        Minor reformatting

2008-05-26  Thomas Quinot  <quinot@adacore.com>

        * sinfo.ads: Minor reformatting

2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
        Generate a tag check when the result subtype of a function, defined by
        an access definition, designates a specific tagged type.
        (Make_Tag_Check): New routine.

2008-05-26  Arnaud Charlet  <charlet@adacore.com>

        * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.

2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>

        * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
        (builtin_decl_for): Likewise.
        * trans.c (gigi): Likewise.
        * utils.c (def_builtin_1): Fix formatting.

2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
        Create the statements which map a string name to protected or task
        entry indix.

        * exp_ch9.adb: Add with and use clause for Stringt.
        Minor code reformatting.
        (Build_Entry_Names): New routine.
        (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
        for flag Build_Entry_Names which controls the allocation of the data
        structure for the string names of entries.

        * exp_ch9.ads (Build_Entry_Names): New subprogram.

        * exp_util.adb (Entry_Names_OK): New function.

        * exp_util.ads (Entry_Names_OK): New function.

        * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
        enumerations RE_Id and RE_Unit_Table.

        * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
        (Free_Entry_Names_Array): New routine.

        * s-taskin.ads: Comment reformatting.
        Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
        Add component Entry_Names to record Ada_Task_Control_Block.
        (Free_Entry_Names_Array): New routine.

        * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
        dynamically allocate an array
        of string pointers. This structure holds string entry names.
        (Free_Entry_Names): New routine.
        (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
        (Set_Entry_Names): New routine.

        * s-tassta.ads:
        (Create_Task): Add formal Build_Entry_Names. The flag is used to
        control the allocation of the data structure which stores entry names.
        (Set_Entry_Name): New routine.

        * s-tpoben.adb:
        Add with and use clause for Ada.Unchecked_Conversion.
        (Finalize): Deallocate the entry names array.
        (Free_Entry_Names): New routine.
        (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
        create an array of string pointers to hold the entry names.
        (Set_Entry_Name): New routine.

        * s-tpoben.ads:
        Add field Entry_Names to record Protection_Entries.
        (Initialize_Protection_Entries): Add formal Build_Entry_Names.
        (Set_Entry_Name): New routine.

2008-05-26  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb:
        (Process_Project_Level_Simple_Attributes): process attribute Library_GCC

        * prj.ads:
        (Project_Configuration): New component Shared_Lib_Driver

2008-05-26  Ed Schonberg  <schonberg@adacore.com>

        * inline.adb:
        (Cleanup_Scopes): For a protected operation, transfer finalization list
        to protected body subprogram, to force cleanup actions when needed.

2008-05-26  Robert Dewar  <dewar@adacore.com>

        * sem_cat.adb: Minor reformatting

        * gnatname.adb: Minor reformatting

        * osint.ads: Minor reformatting

        * s-carun8.ads: Minor reformatting

        * g-heasor.ads: Minor comment fix (unit is now pure)

2008-05-26  Robert Dewar  <dewar@adacore.com>

        * exp_ch2.adb:
        (Expand_Current_Value): Properly type generated integer literal

2008-05-26  Sergey Rybin  <rybin@adacore.com>

        * gnat_ugn.texi: Add description for the new gnatcheck rule -
        Separate_Numeric_Error_Handlers.

2008-05-26  Pascal Obry  <obry@adacore.com>

        * sem_aggr.adb: Minor reformatting.

2008-05-26  Jose Ruiz  <ruiz@adacore.com>

        * s-osinte-aix.adb:
        (To_Target_Priority): Setting the time slice value to 0 or greater sets
        the scheduling policy to FIFO within priorities or round-robin
        respectively.
        Hence, the priority must be set in this case to the one selected by the
        user.

2008-05-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb:
        (Remove_Parent): If the enclosing scope is an instance whose generic
        parent is declared within some parent scope of the just completed
        instance, make full views of the entities in that parent visible, when
        applicable.

2008-05-26  Kai Tietz  <kai.tietz@onevision.com>

        * mingw32.h (STD_MINGW): Set to true for target w64.

2008-05-25  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
        instead of TREE_STATIC on the ADDR_EXPR.

2008-05-24  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
        (Sloc_to_locus): Do not overwrite known GCC locations when translating
        GNAT standard locations.

2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>

        * gigi.h (mark_visited): Declare.
        * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
        only the topmost node of expressions.
        (elaborate_expression_1): Look deeper for read-only variables.
        * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
        (mark_visited): Move logic to mark_visited_r.  Invoke walk_tree.
        (mark_visited_r): New function.

2008-05-23  Vincent Celier  <celier@adacore.com>

        * snames.adb: New standard name Excluded_Source_List_File.

        * snames.ads: New standard name Excluded_Source_List_File.

        * prj-attr.adb: New project level attribute Excluded_Source_List_File.

        * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
        Get excluded sources from
        file indicated by attribute Excluded_Source_List_File, when present and
        neither Excluded_Source_Files nor Locally_Removed_Files are declared.

2008-05-23  Robert Dewar  <dewar@adacore.com>

        * exp_dist.adb: Minor reformatting

2008-05-23  Ed Schonberg  <schonberg@adacore.com>

        * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
        slice, convert it to an indexed component, which is equivalent, more
        efficient, and usable even if the slice itself is not addressable.

2008-05-23  Olivier Hainque  <hainque@adacore.com>

        * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
        convention also allows access to named compiler built-in subprograms
        such as the GCC __builtin family.

2008-05-23  Vincent Celier  <celier@adacore.com>

        * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
        sep. If there are several possibilities, choose the one with the
        longer prefix.

2008-05-23  Vincent Celier  <celier@adacore.com>

        * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
        back end switches when executable specified with --GCC= is same as
        default, even if there are additional options.

        * gnat_ugn.texi:
        Document when the back end switches from the ALI file are taken into
        account when gnatlink is invoked with --GCC=

2008-05-23  Thomas Quinot  <quinot@adacore.com>

        * s-os_lib.adb:
        (copy_File): Do not open destination file if source file is unreadable.

2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>

        * utils.c (handle_type_generic_attribute): Adjust to accept
        fixed arguments before an elipsis.

2008-05-21  Thomas Quinot  <quinot@adacore.com>

        * g-sothco.ads, g-sothco.adb: New files.

2008-05-20  Thomas Quinot  <quinot@adacore.com>

        * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.

        * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
        Add missing "with" of Ada.Unchecked_Conversion

        * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
        g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
        g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
        g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
        g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
        g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
        Move common code out of GNAT.Sockets.Thin implementations and into
        Thin_Common.
        New constant SIZEOF_fd_set
        New flag Has_Sockaddr_Len
        New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6

        * g-stsifd-sockets.adb
        (Create): Remove call to Set_Length; use Set_Family to set the family
        and (on appropriate platforms) length fields in struct sockaddr.

        * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
        g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
        g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
        Move common code out of GNAT.Sockets.Thin implementations and into
        Thin_Common.

        * g-socket.ads, g-socket.adb:
        Move common code out of GNAT.Sockets.Thin implementations and into
        Thin_Common.
        (Connect_Socket, Accept_Socket): Provide new versions of these two
        routines that operate with a user specified timeout.
        (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
        this is now handled automatically by Set_Family on platforms that
        require it.

        * gen-soccon.c:
        Move common code out of GNAT.Sockets.Thin implementations and into
        Thin_Common.
        (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
        this constant to 0 (not -1) because we use it to initialize an
        unsigned_char value.
        Align values for numeric constants only.
        Handle the case of systems that do not support AF_INET6.
        New constant SIZEOF_fd_set
        New flag Has_Sockaddr_Len
        New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6

        * gsocket.h: New flag Has_Sockaddr_Len
        New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6

2008-05-20  Santiago Uruena  <uruena@adacore.com>

        * i-cobol.ads: Interfaces.COBOL should be preelaborate.

2008-05-20  Arnaud Charlet  <charlet@adacore.com>

        * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
        the underlying issue with malloc/free has been fixed. Remove associated
        comments.
        Minor reformatting.
        Related to PR ada/24533

2008-05-20  Robert Dewar  <dewar@adacore.com>

        * ali.adb: Correct casing of ASCII.NUL

        * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
        properly.

2008-05-20  Robert Dewar  <dewar@adacore.com>
            Gary Dismukes  <dismukes@adacore.com>

        * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
        overflow if result converted to wider integer type.
        (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
        discriminated types when discriminant checks are suppressed.

2008-05-20  Vincent Celier  <celier@adacore.com>

        * cstand.adb (Print_Standard): Issue the correct Size clause for type
        Wide_Wide_Character.

2008-05-20  Tristan Gingold  <gingold@adacore.com>

        * decl.c: Do not emit a variable for a object that has an address
        representation clause whose value is known at compile time.
        When a variable has an address clause whose value is known at compile
        time, refer to this variable by using directly the address instead of
        dereferencing a pointer.

2008-05-20  Robert Dewar  <dewar@adacore.com>

        PR ada/30740
        * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
        subtypes, always False for non-modular types.
        Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
        entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
        for Shared_Storage package.
        (Is_RACW_Stub_Type): New entity flag.

        * exp_ch4.adb
        (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
        case where we have a modular type with a non-binary modules.
        Comments reformattings.

        * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
        all types.

2008-05-20  Javier Miranda  <miranda@adacore.com>

        * exp_aggr.adb
        (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
        tests did not covered the case in which the type of the aggregate has
        no progenitors but some its parents has progenitors.

2008-05-20  Gary Dismukes  <dismukes@adacore.com>
            Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_ch3.adb
        (Expand_N_Object_Declaration): Correct the condition which triggers the
        generation of a call to Displace when initializing a class-wide object.
        (Build_Dcheck_Functions): Build discriminant-checking for null variants
        when Frontend_Layout_On_Target is true to ensure that they're available
        for calling when a record variant size function is built in Layout.

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch5.adb (Expand_Assign_Record): Within an initialization
        procedure for a derived type retrieve the discriminant values from the
        parent using the corresponding discriminant.
        (Expand_N_Assignment_Statement): Skip generation of implicit
        if-statement associated with controlled types if we are
        compiling with restriction No_Finalization.

2008-05-20  Vincent Celier  <celier@adacore.com>

        * prj.adb (Hash (Project_Id)): New function
        (Project_Empty): Add new component Interfaces_Defined

        * prj.ads (Source_Data): New component Object_Linked
        (Language_Config): New components Object_Generated and Objects_Linked
        (Hash (Project_Id)): New function
        (Source_Data): New Boolean components In_Interfaces and
        Declared_In_Interfaces.
        (Project_Data): New Boolean component Interfaces_Defined

        * prj-attr.adb:
        New project level attribute Object_Generated and Objects_Linked
        Add new project level attribute Interfaces

        * prj-dect.adb: Use functions Present and No throughout
        (Parse_Variable_Declaration): If a string type is specified as a simple
        name and is not found in the current project, look for it also in the
        ancestors of the project.

        * prj-makr.adb:
        Replace procedure Make with procedures Initialize, Process and Finalize
        to implement H414-023: process different directories with different
        patterns.
        Use functions Present and No throughout

        * prj-makr.ads:
        Replace procedure Make with procedures Initialize, Process and Finalize

        * prj-nmsc.adb
        (Add_Source): Set component Object_Exists and Object_Linked accordnig to
        the language configuration.
        (Process_Project_Level_Array_Attributes): Process new attributes
        Object_Generated and Object_Linked.
        (Report_No_Sources): New Boolean parameter Continuation, defaulted to
        False, to indicate that the erreor/warning is a continuation.
        (Check): Call Report_No_Sources with Contnuation = True after the first
        call.
        (Error_Msg): Process successively contnuation character and warning
        character.
        (Find_Explicit_Sources): Check that all declared sources have been found
        (Check_File): Indicate in hash table Source_Names when a declared source
        is found.
        (Check_File): Set Other_Part when found
        (Find_Explicit_Sources): In multi language mode, check if all exceptions
        to the naming scheme have been found. For Ada, report an error if an
        exception has not been found. Otherwise, disregard the exception.
        (Check_Interfaces): New procedure
        (Add_Source): When Other_Part is defined, set mutual pointers in spec
        and body.
        (Check): In multi-language mode, call Check_Interfaces
        (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
        for an excluded source.
        (Remove_Source): A source replacing a source in the interfaces is also
        in the interfaces.

        * prj-pars.adb: Use function Present

        * prj-part.adb: Use functions Present and No throughout
        (Parse_Single_Project): Set the parent project for child projects
        (Create_Virtual_Extending_Project): Register project with no qualifier
        (Parse_Single_Project): Allow an abstract project to be extend several
        times. Do not allow an abstract project to extend a non abstract
        project.

        * prj-pp.adb: Use functions Present and No throughout
        (Print): Take into account the full associative array attribute
        declarations.

        * prj-proc.adb: Use functions Present and No throughout
        (Expression): Call itself with the same From_Project_Node for the
        default value of an external reference.

        * prj-strt.adb: Use functions Present and No throughout
        (Parse_Variable_Reference): If a variable is specified as a simple name
        and is not found in the current project, look for it also in the
        ancestors of the project.

        * prj-tree.ads, prj-tree.adb (Present): New function
        (No): New function
        Use functions Present and No throughout
        (Parent_Project_Of): New function
        (Set_Parent_Project_Of): New procedure

        * snames.ads, snames.adb:
        Add new standard names Object_Generated and Objects_Linked

2008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>

        * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
        and the derived type are of the same kind.
        (Expand_Call): Generate type conversions for actuals of
        record or array types when the parent and the derived types differ in
        size and/or packed status.

2008-05-20  Javier Miranda  <miranda@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>

        * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
        generating dispatch tables of locally defined tagged types statically.
        Remove implicit if-statement that is no longer required.
        (Expand_Dispatching_Call): If this is a call to an instance of the
        generic dispatching constructor, the type of the first argument may be
        a subtype of Tag, so always use the base type to recognize this case.

2008-05-20  Thomas Quinot  <quinot@adacore.com>

        * exp_dist.adb
        (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
        and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
        assigning NULL into the result, to avoid a spurious warning.
        (Add_RACW_Features, case Same_Scope): Add assertion that designated type
        is not frozen.
        (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
        type.
        (Build_From_Any_Function, Build_To_Any_Function,
        Build_TypeCode_Function): For a type that has user-specified stream
        attributes, use an opaque sequence of octets as the representation.

2008-05-20  Kevin Pouget  <pouget@adacore.com>

        * exp_smem.ads, exp_smem.adb: Construction of access and assign
        routines has been replaced by an instantiation of
        System.Shared_Storage.Shared_Var_Procs generic package, while expanding
        shared variable declaration.
        Calls to access and assign routines have been replaced by calls to
        Read/Write routines of System.Shared_Storage.Shared_Var_Procs
        instantiated package.

        * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
        It identifies the new generic package added in s-shasto.

        * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
        is instantiated for each shared passive variable. It provides
        supporting procedures called upon each read or write access by the
        expanded code.

        * sem_attr.adb:
        For this runtime unit (always compiled in GNAT mode), we allow
        stream attributes references for limited types for the case where
        shared passive objects are implemented using stream attributes,
        which is the default in GNAT's persistent storage implementation.

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * freeze.adb
        (Freeze_Enumeration_Type): For a subtype that inherits a foreign
        convention from its base type, do not set the type to that of integer,
        because it may inherit a size clause.
        Warn on a size clause with a size different
        from that of Integer, if the type has convention C.

2008-05-20  Vincent Celier  <celier@adacore.com>

        * gnatname.adb
        (Scan_Args): Rewrite to take into account new switch --and to separate
        arguments into sections.
        (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
        section, then Finalize.

2008-05-20  Tristan Gingold  <gingold@adacore.com>

        * init.c: Enable stack probing on ppc-linux.

        * tracebak.c: Add symbolic traceback for ppc-linux.

        * system-linux-ppc.ads: Enable stack probing on ppc-linux.

2008-05-20  Arnaud Charlet  <charlet@adacore.com>

        * Makefile.in
        (common-tools): New rule, to avoid parallel build failure on gnat tools.
        Reenable parallel builds on this Makefile.

        * Make-lang.in: Update dependencies.

2008-05-20  Robert Dewar  <dewar@adacore.com>

        * opt.ads (Treat_Restrictions_As_Warnings): New switch

        * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
        Treat_Restrictions_As_Warnings.

        * switch-c.adb: Recognize new switch -gnatr

        * usage.adb: Add line for -gnatr

2008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>

        * par-ch3.adb
        (P_Access_Definition): Change the error message when parsing "access
        all" in Ada 95 mode. The message no longer forces the user to recompile
        in 05 mode only to discover that anonymous access types are not allowed
        to have "all".

2008-05-20  Hristian Kirtchev  <kirtchev@adacore.com>

        * par-ch9.adb
        (P_Protected): Update the error message on missing "-gnat05" switch when
        using interfaces in conjunction with protected types. Remove the
        incorrect error message associated with the presence of "private" after
        a "with".

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_aggr.adb: Update comments.
        Improve previous change for PR ada/17985

2008-05-20  Thomas Quinot  <quinot@adacore.com>

        * sem_cat.adb
        (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
        the visible part of the spec of a remote types unit.
        (Validate_Remote_Access_Object_Type_Declaration):
        New local subprogram Is_Valid_Remote_Object_Type, replaces
        Is_Recursively_Limited_Private.
        (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
        non-controlling formals (and the return type, even though this is not
        explicit in the standard) must support external streaming.
        (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
        as above for of RAS types and RCI subprograms. (The return type is not
        checked yet).
        Update comments related to RACWs designating limited interfaces per
        ARG ruling on AI05-060.

        * sem_util.ads, sem_util.adb
        (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
        Is_Remote_Call_Interface to identify RACW types in a stable and
        consistent way. We used to rely in this predicate on the privateness of
        the designated type and its ancestors, but depending on the currently
        visible private parts, this caused false negatives. We now uniformly
        rely on checks made at the point where the RACW type is declared.
        (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.

2008-05-20  Javier Miranda  <miranda@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>
            Hristian Kirtchev  <kirtchev@adacore.com>

        * sem_ch3.adb
        (Analyze_Object_Declaration): Fix over-conservative condition
        restricting use of predefined assignment with tagged types that have
        convention CPP.
        (Analyze_Object_Declaration): Relax the check regarding deferred
        constants declared in scopes other than packages since they can be
        completed with pragma Import.
        Add missing escaping of all-caps word 'CPP' in error messages.
        (Build_Discriminated_Subtype): Do not inherit representation clauses
        from parent type if subtype already carries them, because they are
        inherited earlier during derivation and already include those that may
        come from a partial view.

        * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
        Check the declarations of a subprogram body for proper deferred
        constant completion.

        * sem_ch7.ads, sem_ch7.adb
        (Inspect_Deferred_Constant_Completion): Moved to sem_util.

2008-05-20  Ed Schonberg  <schonberg@adacore.com>
            Thomas Quinot  <quinot@adacore.com>

        * sem_ch4.adb
        (Try_Indexed_Call): Handle properly a construct of the form F(S) where
        F is a parameterless function that returns an array, and S is a subtype
        mark.
        (Analyze_Call): Insert dereference when the prefix is a parameterless
        function that returns an access to subprogram and the call has
        parameters.
        Reject a non-overloaded call whose name resolves to denote
        a primitive operation of the stub type generated to support a remote
        access-to-class-wide type.

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch8.adb
        (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
        when there is a use clause for the same entity in the context.
        (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
        created for a stream attribute of an abstract type or interface type.

2008-05-20  Thomas Quinot  <quinot@adacore.com>

        * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
        subprogram.

        * sem_type.adb
        (Add_One_Interp): Ignore any interpretation that is a primitive
        operation of an RACW stub type (these primitives are only executed
        through dispatching, never through static calls).
        (Collect_Interps): When only one interpretation has been found, set N's
        Entity and Etype to that interpretation, otherwise Entity and Etype may
        still refer to an interpretation that was ignored by Add_One_Interp,
        in which case would end up with being marked as not overloaded but with
        an Entity attribute not pointing to its (unique) correct interpretation.

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * sem_eval.adb
        (Eval_Slice): Warn when a slice whose discrete range is a subtype name
        denotes the whole array of its prefix.

2008-05-20  Robert Dewar  <dewar@adacore.com>

        * sem_res.adb (Resolve_Op_Not): Warn on double negation

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * sprint.adb
        (Print_Itype): Do not modify the sloc of the component type of a
        (packed) array itype, because it is an unrelated type whose source
        location is independent of the point of creation of the itype itself.

2008-05-20  Thomas Quinot  <quinot@adacore.com>

        * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
        Append.

2008-05-20  Robert Dewar  <dewar@adacore.com>
            Vincent Celier  <celier@adacore.com>

        * vms_data.ads: Add entry for -gnatr
        Put GNAT SYNC section in proper alpha order
        Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d

        * gnat_ugn.texi: Add documentation for new gnatname switch --and
        Update the style checks section
        Add documentation of -gnatr
        Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
        subsection the explanation how compiler checks should be disabled for
        gnatcheck.
        Update the list of Ada 95 reserved words used by in the project language
        Add documentation for project qualifiers.
        Document that abstract projects may be extended by different projects in
        the same project tree.
        Add documentation for gnatmake switch -d

        * ug_words: Add -gnatyy VMS equivalence string.
        Add entry for -gnatr

2008-05-20  Bob Duff  <duff@adacore.com>

        * a-rttiev.adb
        (Set_Handler): Remove code from both of these that implements
        RM-D.15(15/2), because it causes a race condition and potential
        deadlock.
        (Process_Queued_Events): Add comment explaining "exception when others
        => null". Add clarifying ".all", even though implicit .all is legal
        here.

2008-05-20  Arnaud Charlet  <charlet@adacore.com>

        * s-winext.ads: Replace representation clause by pragma Pack. Gives
        equivalent representation, but has the advantage of allowing
        compilation of this file under 64 bits platforms.

        * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.

        * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.

        * adaint.c:
        Don't define dummy implementation of convert_addresses on ppc-linux.

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

        * exp_ch7.adb
        (Expand_Ctrl_Function_Call): Do not attach result to finalization list
        if expression is aggregate component.

2008-05-20  Robert Dewar  <dewar@adacore.com>

        * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
        sem_ch12.adb: Update comments. Minor reformatting.

        * exp_ch2.adb: Typo

        * s-unstyp.ads: Fixed some typos in comments.

2008-05-20  Arnaud Charlet  <charlet@adacore.com>

        * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
        type/constant.

        * g-socthi-vxworks.ads: Update to latest socket changes.

        * a-caldel-vms.adb: Resync with a-caldel spec.

        * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
        Update comments.

2008-05-17  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
        for dummy types pointed to by the converted pointer types.

2008-05-15  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
        of records and unions.
        (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.

2008-05-14  Samuel Tardieu  <sam@rfc1149.net>
            Robert Dewar <dewar@adacore.com>

        * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
        restrictions to the prefix of 'Old.
        * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
        * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
        variables.

2008-05-13  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/24880
        PR ada/26635
        * utils.c (convert) <INTEGER_TYPE>: When converting an additive
        expression to an integral type with lower precision, use NOP_EXPR
        directly in a couple of special cases.

2008-05-12  Samuel Tardieu  <sam@rfc1149.net>
            Ed Schonberg <schonberg@adacore.com>

        * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
        constraint expressions.

2008-05-12  Tomas Bily  <tbily@suse.cz>

        * utils2.c (known_alignment, contains_save_expr_p)
        (gnat_mark_addressable): Use CASE_CONVERT.
        * decl.c (annotate_value): Likewise.
        * trans.c (maybe_stabilize_reference): Likewise.
        * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
        * utils.c (rest_of_record_type_compilation): Likewise.
        * trans.c (protect_multiple_eval, Attribute_to_gnu)
        (protect_multiple_eval): Likewise.

2008-05-08  Andreas Schwab  <schwab@suse.de>

        * utils.c (handle_pure_attribute, init_gigi_decls): Rename
        DECL_IS_PURE to DECL_PURE_P.

2008-05-05  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (maybe_pad_type): Add ??? comment.

2008-05-03  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (components_to_record): Zero the alignment of the qualified
        union built for the variant part upon creating it.

2008-05-03  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (maybe_pad_type): Try to get a form of the type with integral
        mode even if the alignment is not a factor of the original size.  But
        make sure to create the inner field with the original size.  Reorder.
        * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
        record as always addressable.
        * utils.c (convert): Deal specially with conversions between original
        and packable versions of a record type.
        * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
        recognizing an assignment between padded objects.

2008-05-01  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (make_packable_type): Resize the last component to its RM size
        only if it is of an aggregate type.
        * trans.c (call_to_gnu): Fix nit in comment.
        (gnat_to_gnu): Likewise.

2008-04-30  Samuel Tardieu  <sam@rfc1149.net>

        * Makefile.in: Adapt sh4-linux target.

2008-04-29  Ed Schonberg  <schonberg@adacore.com>

        PR ada/35792
        * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
        tagged type by an untagged protected or task type.

2008-04-28  Eric Botcazou  <ebotcazou@adacore.com>
            Tristan Gingold  <gingold@adacore.com>

        PR ada/36007
        * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
        of aliased objects with an unconstrained nominal subtype.
        Cap the promotion to the effective alignment of the word mode.

2008-04-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
        (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
        Use '&&' instead of ';'.

2008-04-24  Olivier Hainque  <hainque@adacore.com>

        * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
        doesn't require signed arithmetic anymore.

2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
        (call_to_gnu): Don't set TREE_INVARIANT.
        * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.

2008-04-22  Joel Sherrill <joel.sherrill@oarcorp.com>

        * s-osinte-rtems.adb: Add sigalstack function.
        * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
        function. Add Alternate_Stack and Alternate_Stack_Size.
        Add missing process_shared field to pthread_condattr_t
        and change ss_low_priority to int from timespec.

2008-04-22  Samuel Tardieu  <sam@rfc1149.net>

        * i-forbla.adb: Link against -llapack and -lblas by default
        instead of the private -lgnalasup.

2008-04-21  Olivier Hainque  <hainque@adacore.com>

        Access to most C builtins from Ada
        * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
        (handle_pure_attribute, handle_novops_attribute,
        handle_nonnull_attribute, handle_sentinel_attribute,
        handle_noreturn_attribute, handle_malloc_attribute,
        handle_type_generic_attribute): New attribute handlers, from C fe.
        (gnat_internal_attribute_table): Map the new handlers.
        (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
        (init_gigi_decls): ... here.
        (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
        Move to a section dedicated to builtins processing.
        (build_void_list_node, builtin_type_for_size): New functions.
        (def_fn_type, get_nonnull_operand): Likewise.
        (install_builtin_elementary_type, install_builtin_function_types,
        install_builtin_attributes): Likewise.
        (fake_attribute_handler): Fake handler for attributes we don't
        support in Ada.
        (def_builtin_1): New function, worker for DEF_BUILTIN.
        (install_builtin_functions): New function.
        (gnat_install_builtins): Move to the builtins processing section.
        Now calling the newly introduced installers.

2008-04-20  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
        constant objects, but not exceptions.
        * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
        compatibility test.
        * utils.c (create_var_decl_1): Likewise.
        * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
        the type when copying to padded object and the source is a constructor.

2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
        alignment, reset it to zero if it would end up not being greater
        than that of the type.

2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (maybe_pad_type): Only generate the XVS parallel type if
        the padded type has a variable size.

2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
        target pointer mechanism as soon as the size is not constant.

2008-04-18  Eric Botcazou  <ebotcazou@adacore.com>

        * gigi.h (create_var_decl_1): Declare.
        (create_var_decl): Turn into a macro invoking create_var_decl_1.
        (create_true_var_decl): Likewise.
        * utils.c (create_var_decl_1): Make global and reorder parameters.
        (create_var_decl): Delete.
        (create_true_var_decl): Likewise.

2008-04-17  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
        objects by default.
        * fe.h (Debug_Flag_Dot_A): Delete.
        * debug.adb (-gnatd.a): Update documentation.

2008-04-17  Samuel Tardieu  <sam@rfc1149.net>

        * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
        "not null" parameter.

2008-04-17  Samuel Tardieu  <sam@rfc1149.net>

        * g-socket.adb: Add a message "IPv6 not supported" to the
        Socket_Error exception.

2008-04-16  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/29015
        * sem_ch12.adb (Instantiate_Type): Check whether the full view of
        the type is known instead of the underlying type.

2008-04-15  Ed Schonberg  <schonberg@adacore.com>

        PR ada/22387
        * exp_ch5.adb (Expand_Assign_Record): Within an initialization
        procedure for a derived type retrieve the discriminant values from
        the parent using the corresponding discriminant.

2008-04-15  Samuel Tardieu  <sam@rfc1149.net>
            Gary Dismukes  <dismukes@adacore.com>

        PR ada/28733
        * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
        which is not an entity (and hence not a package).
        (End_Use_Package): Ditto.

2008-04-15  Ed Schonberg  <schonberg@adacore.com>

        PR ada/16086
        * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
        protected operation that matches the signature, not only an entry, a
        regular subprogram or a literal.

2008-04-15  Eric Botcazou  <ebotcazou@adacore.com>

        * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
        * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
        if a size or alignment is specified.  Do not take into account
        alignment promotions for the computation of the object's size.
        <type>: Call maybe_pad_type only if a size or alignment is specified.
        (maybe_pad_type): Really reuse the RM_Size of the original type if
        requested.
        * trans.c (Attribute_to_gnu): Fix a couple of nits.
        * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
        statements.  Use the padded view of the type when copying between
        padded objects of the same underlying type.

2008-04-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * vms_data.ads: Fix typo in constant.
        * gen-soccon.c: Fix typo in error string.
        * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
        Fix typos.
        * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
        bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
        erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
        exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
        exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
        g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
        mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
        s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
        s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
        sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
        sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
        sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
        sinfo.ads: Fix typos in comments.

2008-04-14  Robert Dewar  <dewar@adacore.com>

        * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
        to every non-object and change error message.

2008-04-14  Robert Dewar  <dewar@adacore.com>

        * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
        * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
        directly.

2008-04-14  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/18680
        * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
        apply pragma Linker_Section on type.

2008-04-14  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/16098
        * sem_prag.adb (Error_Pragma_Ref): New.
        (Process_Convention): Specialized message for non-local
        subprogram renaming. Detect the problem in homonyms as well.

2008-04-14  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/15915
        * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
        * sem_ch12.adb (Instantiate_Object): Use it.
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
        storage pool denotes a variable as per RM 13.11(15).

2008-04-14  Samuel Tardieu  <sam@rfc1149.net>

        * sem_util.ads, sem_util.adb (In_Subprogram): New function.
        * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it.

2008-04-14  Rolf Ebert  <rolf.ebert.gcc@gmx.de>

        PR ada/20822
        * xgnatugn.adb (Put_Line): New procedure, ensuring Unix
        line endings even on non-Unix platforms.

2008-04-14  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/35050
        * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the
        renaming information.

2008-04-13  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/17985
        * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of
        itself.

2008-04-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * sfn_scan.adb, sfn_scan.ads, sinfo.ads,
        sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads,
        snames.ads, sprint.adb, stand.ads, stringt.ads,
        styleg.adb, styleg.ads, stylesw.adb, stylesw.ads,
        switch.ads, sysdep.c, table.adb, table.ads,
        targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c,
        trans.c, tree_io.adb, treepr.adb, types.adb, types.ads,
        uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads,
        vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb,
        widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb,
        xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb:
        Fix comment typos.

        * sem_ch10.adb, sem_ch10.ads,
        sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads,
        sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
        sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
        sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb,
        sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads,
        sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads,
        sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb,
        sem_warn.ads: Fix comment typos.

        * s-secsta.adb, s-sequio.ads, s-shasto.ads,
        s-soflin.ads, s-stalib.ads, s-stausa.adb,
        s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads,
        s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
        s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb,
        s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
        s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb,
        s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads,
        s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads,
        s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
        s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb,
        s-tposen.ads, s-traceb-hpux.adb, s-traces.ads,
        s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads,
        s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb,
        s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads,
        scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb,
        sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
        sem_cat.adb, sem_cat.ads: Fix comment typos.

2008-04-12  Joel Sherrill  <joel@oarcorp.com>

        PR ada/35825
        * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported.

2008-04-12  Arnaud Charlet  <charlet@adacore.com>

        * s-linux-hppa.ads: Fix syntax errors.

2008-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * gnat_ugn.texi: Fix typos.
        * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb,
        restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads,
        s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads,
        s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads,
        s-fatllf.ads, s-fatsfl.ads, s-filofl.ads,
        s-finimp.adb, s-finroo.ads, s-fishfl.ads,
        s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads,
        s-hibaen.ads, s-htable.ads, s-imgcha.adb,
        s-imgenu.ads, s-imgint.adb, s-imgrea.adb,
        s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb,
        s-interr-vxworks.adb, s-interr.adb, s-interr.ads,
        s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb,
        s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads,
        s-osinte-darwin.ads, s-osinte-freebsd.ads,
        s-osinte-hpux.ads, s-osinte-lynxos-3.adb,
        s-osinte-lynxos-3.ads, s-osinte-lynxos.ads,
        s-osinte-rtems.ads, s-osinte-solaris-posix.ads,
        s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads,
        s-parame-hpux.ads, s-parame-vms-alpha.ads,
        s-parame-vms-ia64.ads, s-parame-vms-restrict.ads,
        s-parame-vxworks.ads, s-parame.ads, s-parint.adb,
        s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads,
        s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads,
        s-rident.ads: Fix comment typos.

2008-04-09  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/28305
        * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore
        environment if generic instance is a top-level one.

2008-04-09  Doug Rupp  <rupp@adacore.com>

        * decl.c (validate_size): Set minimum size for fat pointers same as
        access types. Code clean ups.

        * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise
        (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS

        * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant

        * s-crtl.ads (malloc32) New function, alias for malloc
        (realloc32) New function, alias for realloc

        * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS

        * utils2.c (build_call_alloc_dealloc): Return call to short malloc if
        allocator size is 32 and default pointer size is 64.
        (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of
        lhs type if smaller, whatever the modes.

        * gigi.h (malloc32_decl): New macro definition

        * utils.c (init_gigi_decls): New malloc32_decl
        Various code clean ups.

        * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
        Task_Address vice System.Address.

        * s-taspri-vms.ads: Import System.Aux_DEC
        (Task_Address): New subtype of System.Aux_DEC.Short_Address
        (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address

        * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to
        Task_Address vice System.Address.

        * s-inmaop-vms.adb: Import System.Task_Primitives
        (To_Address): Unchecked convert to Task_Address vice System.Address

        * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay
        expires now.
        (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address
        (To_Address) Unchecked convert to Task_Address vice System.Address

        * s-tpopde-vms.adb: Remove unnecessary warning pragmas

        * g-socthi-vms.ads: Add 32bit size clauses on socket access types.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

        * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc.
        (fdesc_type_node): Define.
        (null_fdesc_node): Likewise.
        * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target
        uses descriptors for vtables and the type comes from a dispatch table,
        return the descriptor type.
        * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target
        uses descriptors for vtables and the type comes from a dispatch table,
        build a descriptor in the static case and copy the existing one in the
        non-static case.
        (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and
        the type is a pointer-to-subprogram coming from a dispatch table,
        return the null descriptor.
        <N_Unchecked_Type_Conversion>: If the target uses descriptors for
        vtables, the source type is the descriptor type and the target type
        is a pointer type, first build the pointer.
        * utils.c (init_gigi_decls): If the target uses descriptors for vtables
        build the descriptor type and the null descriptor.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (prepend_attributes): Fix typo.
        * trans.c (Pragma_to_gnu): Likewise.
        * utils.c (gnat_genericize): Likewise.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
            Richard Kenner  <kenner@adacore.com>

        * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
        * decl.c (gnat_to_gnu_entity): Adjust for above change.
        <E_Record_Type>: Try to get a better form of the component for
        packing, even if it has an integral mode.
        <E_Record_Subtype>: Likewise.
        * trans.c (gnat_to_gnu): Do not require BLKmode for the special
        exception suppressing the final conversion between record types.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
        alignment for space, promote the alignment of non-scalar variables with
        no size and alignment.
        * gigi.h (gnat_types_compatible_p): Declare.
        * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
        * trans.c (gnat_to_gnu): Revert revision 129339 change.  Minor cleanup.
        * utils.c (gnat_types_compatible_p) : New predicate.
        (convert): Use it throughout to test for cases where a mere view
        conversion is sufficient.
        * utils2.c (build_binary_op): Minor tweaks.
        (build_unary_op): Likewise.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (adjust_packed): Expand comment.

2008-04-08  Arnaud Charlet  <charlet@adacore.com>

        * s-tasuti.ads: Use Task_Address instead of System.Address.

        * makeutl.adb (Path_Or_File_Name): New function

        * nlists.ads, itypes.ads: Update comments.

        * s-crtl.ads (malloc32, realloc32): New functions.

        * s-auxdec.ads (Short_Address_Size): New constant.

        * a-taside.adb, s-tasdeb.adb: Use Task_Address.

        * s-ststop.ads, s-ststop.adb: New file.

        * exp_tss.ads, s-taprop-lynxos.adb: Update comments.
        Minor reformatting.

2008-04-08  Pascal Obry  <obry@adacore.com>

        * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200.
        (Stop_Bits_Number): New type.
        (Parity_Check): Likewise.
        (Set): Add parameter to set the number of stop bits and
        the parity. Parameter timeout is now a duration instead
        of a plain integer.

        * g-sercom-linux.adb:
        Implement the stop bits and parity support for GNU/Linux.
        Fix handling of timeout, it must be given in tenth of seconds.

        * g-sercom-mingw.adb:
        Implement the stop bits and parity support for Windows.
        Use new s-win32.ads unit instead of declaring Win32 services
        directly into this body.
        Update handling of timeout as now a duration.

        * s-win32.ads, s-winext.ads: New files.

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>
            Arnaud Charlet  <charlet@adacore.com>

        * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed.

        s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads,
        s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux.

        * s-osinte-lynxos-3.ads,
        (Alternate_Stack): Remove when not needed. Simplify declaration
        otherwise.
        (Alternate_Stack_Size): New constant.

        s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of
        'Unrestricted_Access.

        * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads,
        s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads,
        s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads,
        s-osinte-solaris.ads, s-osinte-vms.ads
        (SA_ONSTACK): New constant.
        (stack_t): New record type.
        (sigaltstack): New imported function.
        (Alternate_Stack): New imported variable.
        (Alternate_Stack_Size): New constant.

        * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True.

        * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads,
        s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads,
        s-taspri-vms.ads (Task_Address): New subtype of System.Address
        (Task_Address_Size): New constant size of System.Address
        (Alternate_Stack_Size): New constant.

        * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete.
        (Enter_Task): Do not notify stack to System.Stack_Checking.Operations.
        Establish the alternate stack if the platform makes use of n alternate
        signal stack for stack overflows.
        (Create_Task): Take into account the alternate stack in the stack size.
        (Initialize): Save the address of the alternate stack into the ATCB for
        the environment task.
        (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads).

        * s-parame.adb (Minimum_Stack_Size): Increase value to 16K

        * system-linux-x86.ads: (Stack_Check_Probes): Set to True.

        * s-intman-posix.adb:
        (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an
        alternate signal stack for stack overflows.

        * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and
        x86-64, adjust the saved value of the stack pointer if the signal was
        raised by a stack checking probe.
        (HP-UX section): Use global __gnat_alternate_stack as signal handler
        stack and only for SIGSEGV.
        (Linux section): Likewise on x86 and x86-64.
        [VxWorks section]
        (__gnat_map_signal): Now static.
        (__gnat_error_handler): Not static any more.
        (__gnat_adjust_context_for_raise): New function. Signal context
        adjustment for PPC && !VTHREADS && !RTP, as required by the zcx
        propagation circuitry.
        (__gnat_error_handler): Second argument of a sigaction handler is a
        pointer, not an int, and is unused.
        Adjust signal context before mapping to exception.
        Install signal handlers for LynxOS case.

        * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack.
        (Task_Id): Set size to Task_Address_Size
        (To_Task_id): Unchecked convert from Task_Address vice System.Address
        (To_Address): Unchecked convert to Task_Address vice System.Address

        * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its
        address into the ATCB if the platform makes use of an alternate signal
        stack for stack overflows.
        (Free_Task): Add call to Finalize_Attributes_Link.
        Add argument Relative_Deadline to pass the value specified for
        the task. This is not yet used for any target.

        * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass
        the value specified for the task.

2008-04-08  Arnaud Charlet  <charlet@adacore.com>

        (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb
        (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads,
        s-vxwext-rtp.adb): New files.

        * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb:
        Minor updates to accomodate changes above.

2008-04-08  Pascal Obry  <obry@adacore.com>

        * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb,
        s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads:
        Use new s-win32.ads unit instead of declaration
        from s-osinte-mingw.ads.

        * s-osinte-mingw.ads:
        Move all non tasking based interface to s-win32.ads.

        * s-osprim-mingw.adb:
        Remove duplicated declarations and use s-win32.ads
        unit instead.

2008-04-08  Vincent Celier  <celier@adacore.com>
            Arnaud Charlet  <charlet@adacore.com>

        * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb,
        mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb,
        mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
        mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
        mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into...

        * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
        mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb,
        mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb,
        mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb,
        mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads,
        mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
        mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb,
        mlib-tgt-specific-mingw.adb: New names.

        * Makefile.in:
        On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads
        Get rid of gnatbl.
        (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o
        Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb
        Minor updates for VMS

        * gnatbl.c: Removed.

2008-04-08  Thomas Quinot  <quinot@adacore.com>

        * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb,
        g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb,
        gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads,
        a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb,
        s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of
        ASCII.NUL throughout.

2008-04-08  Arnaud Charlet  <charlet@adacore.com>
            Matthew Heaney  <heaney@adacore.com>

        * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex
        renaming.

        * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads,
        a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform
        to convention for non-RM specs.
        Add descriptive header, and documented each operation
        document each operation

2008-04-08  Robert Dewar  <dewar@adacore.com>
            Bob Duff  <duff@adacore.com>
            Gary Dismukes  <dismukes@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>

        * alloc.ads: Add entries for Obsolescent_Warnings table

        * einfo.ads, einfo.adb: Minor reformatting.
        (Is_Discriminal): New subprogram.
        (Is_Prival): New subprogram.
        (Is_Protected_Component): New subprogram.
        (Is_Protected_Private): Removed.
        (Object_Ref, Set_Object_Ref): Removed.
        (Prival, Set_Prival): Change assertion.
        (Privals_Chain, Set_Privals_Chain): Removed.
        (Prival_Link, Set_Prival_Link): New subprogram.
        (Protected_Operation, Set_Protected_Operation): Removed.
        (Protection_Object, Set_Protection_Object): New subprogram.
        (Write_Field17_Name): Remove case for Object_Ref.
        (Write_Field20_Name): Add case for Prival_Link.
        (Write_Field22_Name): Remove case for Protected_Operation,
        Privals_Chain.
        Add case for Protection_Object.
        (Can_Use_Internal_Rep): Make this into a [base type only] attribute,
        so clients
        (Overlays_Constant): New flag
        (Is_Constant_Object): New predicate
        (Is_Standard_Character_Type): New predicate
        (Optimize_Alignment_Space): New flag
        (Optimize_Alignment_Time): New flag
        (Has_Postconditions): New flag
        (Obsolescent_Warrning): Field removed
        (Spec_PPC_List): New field
        (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add
        subprograms to get and set the relative deadline associated to a task.

        * exp_attr.adb (May_Be_External_Call): Account for the case where the
        Access attribute is part of a named parameter association.
        (Expand_Access_To_Protected_Op): Test for the attribute occurring
        within an init proc and use that directly as the scope rather than
        traversing up to the protected operation's enclosing scope. Only apply
        assertion on Is_Open_Scopes in the case the scope traversal is done.
        For the init proc case use the address of the first formal (_init) as
        the protected object reference.
        Implement Invalid_Value attribute
        (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access.
        contents of the dispatch table there is no need to duplicate the
        itypes associated with record types (i.e. the implicit full view
        of private types).
        Implement Enum_Val attribute
        (Expand_N_Attribute_Reference, case Old): Properly handle appearence
        within _Postconditions procedure
        (Expand_N_Attribute_Reference, case Result): Implement new attribute

        * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which
        a return statement calls a function that is not available in
        configurable runtime.
        (Analyze_If_Statement): don't optimize simple True/False cases in -O0
        (Expand_Non_Function_Return): Generate call to _Postconditions proc
        (Expand_Simple_Function_Return): Ditto

        * frontend.adb: Add call to Sem_Aux.Initialize

        * sem_aux.ads, sem_aux.adb: New file.

        * par-prag.adb: Add entries for pragmas Precondition/Postcondition
        Add new Pragma_Relative_Deadline.
        Add support for pragmas Check and Check_Policy

        * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram.
        (Check_Stream_Attribute): Add missing check (not allowed in CPP types)
        (Analyze_Attribute): In case of attributes 'Alignment and 'size add
        missing check because they are not allowed in CPP tagged types.
        Add Sure parameter to Note_Possible_Modification calls
        Add implementation of Invalid_Value attribute
        Implement new attribute Has_Tagged_Values
        Implement Enum_Val attribute
        (Analyze_Attribute, case Range): Set Name_Req True for prefix of
        generated attributes.
        (Analyze_Attribute, case Result): If prefix of the attribute is
        overloaded, it always resolves to the enclosing function.
        (Analyze_Attribute, case Result): Properly deal with analysis when
        Postconditions are not active.
        (Resolve_Attribute, case Result): Properly deal with appearence during
        preanalysis in spec.
        Add processing for attribute Result

        * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup
        for operators.
        (Analyze_Subprogram_Body): Install private_with_clauses when the body
        acts as a spec.
        (Check_Inline_Pragma): recognize an inline pragma that appears within
        the subprogram body to which it applies.
        (Analyze_Function_Return): Check that type of the expression of a return
        statement in a function with a class-wide result is not declared at a
        deeper level than the function.
        (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag
        (Verify_Overriding_Indicator): Handle properly subprogram bodies for
        user- defined operators.
        (Install_Formals): Moved to spec to allow use from Sem_Prag for
        analysis of precondition/postcondition pragmas.
        (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for
        Last_Formal, along with lots of comments on what this is about
        (Analyze_Subprogram_Body): Fix case where we move entities from the
        spec to the body when there are no body entities (now possible with
        precondition and postcondition pragmas).
        (Process_PPCs): New procedure
        (Analyze_Subprogram_Body): Add call to Process_PPCs

        * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type
        clause.
        (Pop_Scope): Restore Check_Policy_List on scope exit
        (Push_Scope): Save Check_Policy_List on scope entry
        Change name In_Default_Expression      => In_Spec_Expression
        Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
        Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
        (Analyze_Object_Renaming): Allow 'Reference as object
        (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma
        (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling
        of restriction identifier.
        Add Sure parameter to Note_Possible_Modication calls

        * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert):
        Don't check for primitive operations when calling Rep_Item_Too_Late.
        (Process_Import_Or_Interface): Do not place flag on formal
        subprograms.
        (Analyze_Pragma, case Export): If the entity is a deferred constant,
        propagate information to full view, which is the one elaborated by the
        back-end.
        (Make_Inline): the pragma is effective if it applies to an internally
        generated subprogram declaration for a body that carries the pragma.
        (Analyze_Pragma, case Optimize_Alignment): Set new flag
        Optimize_Alignment_Local.
        (Analyze_PPC_In_Decl_Part): New procedure
        (Get_Pragma_Arg): Moved to outer level
        (Check_Precondition_Postcondition): Change to allow new visibility
        rules for package spec
        (Analyze_Pragma, case Check_Policy): Change placement rules to be
        same as pragma Suppress/Unsuppress.
        Change name In_Default_Expression      => In_Spec_Expression
        Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
        Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
        (Check_Precondition_Postcondition): Do proper visibility preanalysis
        for the case of these pragmas appearing in the spec.
        (Check_Enabled): New function
        (Initialize): New procedure
        (Tree_Read): New procedure
        (Tree_Write): New procedure
        (Check_Precondition_Postcondition): New procedure
        Implement pragmas Check and Check_Policy
        Merge Assert processing with Check

        * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check
        New warning flag -gnatw.e

        * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function
        returning whether a task (or main procedure) has a pragma
        Relative_Deadline.
        (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task
        (or main procedure) has a pragma Relative_Deadline.
        Add Next_Pragma field to N_Pragma node
        (PPC_Enabled): New flag
        (Next_Pragma): Now used for Pre/Postcondition processing

        * snames.h, snames.ads, snames.adb: New standard name
        Inherit_Source_Path
        Add entry for 'Invalid_Value attribute
        Add entry for new attribute Has_Tagged_Values
        Add entry for Enum_Val attribute
        Add new standard names Aggregate, Configuration and Library.
        Add _Postconditions
        Add _Result
        Add Pragma_Precondition
        Add Pragma_Postcondition
        Add Attribute_Result
        New standard name Archive_Builder_Append_Option
        (Preset_Names): Add _relative_deadline and relative_deadline definitions
        There was also a missing non_preemptive_within_priorities.
        (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma
        Relative_Deadline.
        Add support for pragmas Check and Check_Policy

        * tree_gen.adb: Call Sem_Aux.Tree_Write

        * tree_in.adb: Call Sem_Aux.Tree_Read

        * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling
        sequence

        * exp_intr.adb (Expand_Source_Info): New Build_Location calling
        sequence

        * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure.
        (Expand_N_Pragma): Call the appropriate procedure for expanding pragma
        Relative_Deadline.
        (Expand_Pragma_Check): New procedure

        * sinput.ads, sinput.adb (Build_Location_String): Now appends to name
        buffer.

        * sinfo.adb (PPC_Enabled): New flag

2008-04-08  Robert Dewar  <dewar@adacore.com>
            Gary Dismukes  <dismukes@adacore.com>
            Javier Miranda  <miranda@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>

        * fe.h: Remove global Optimize_Alignment flag, no longer used

        * layout.adb: Test Optimize_Alignment flags rather than global switch

        * lib.ads, lib.adb: New OA_Setting field in library record

        * lib-load.adb: New OA_Setting field in library record

        * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
        units mentioned in limited_with_ clauses in the ali file, with an
        'Y' marker.
        New Ox fields in U line

        * opt.adb: New flag Optimize_Alignment_Local
        (Check_Policy_List[_Config]): New flags

        * opt.ads (Invalid_Value_Used): New flag
        New switch Optimize_Alignment_Local
        (Warn_On_Parameter_Order): New flag
        (Check_Policy_List[_Config]): New flags

        * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
        limited_with clauses.
        New data structures for Optimize_Alignment

        * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
        New procedure
        (Check_Consistent_Optimize_Alignment): Rework for new structure
        (Check_Consistent_Restrictions): Fix incorrect error message

        sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
        created class-wide type (to the Parent field of the specific type).
        (Install_Siblings): Handle properly private_with_clauses on subprogram
        bodies and on generic units.
        (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
        illegal limited_with_clause that names a non-existent package.
        (Check_Body_Required): Determine whether a unit named a limited_with
        clause needs a body.
        (Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
        Capture Optimize_Alignment settings to set new OA_Setting field in
        library record.
        (Build_Limited_Views): Include task and protected type declarations.

        * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
        case of a possible constant redeclaration where the current object is
        an entry index constant.
        (Analyze_Object_Declaration): Generate an error in case of CPP
        class-wide object initialization.
        (Analyze_Object_Declaration): Add extra information on warnings for
        declaration of unconstrained objects.
        (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
        conflicts with the setting of Stored_Constraint in the case where the
        access type entity has already been created as an E_Incomplete_Type due
        to a limited with clause.
        Use new Is_Standard_Character_Type predicate
        (Analyze_Object_Declaration): Apply access_constant check only after
        expression has been resolved, given that it may be overloaded with
        several access types.
        (Constant_Redeclaration): Additional legality checks for deferred
        constant declarations tha involve anonymous access types and/or null
        exclusion indicators.
        (Analyze_Type_Declaration): Set Optimize_Alignment flags
        (Analyze_Subtype_Declaration): Ditto
        (Analyze_Object_Declaration): Ditto
        (Analyze_Object_Declaration): Don't count tasks in generics
        Change name In_Default_Expression      => In_Spec_Expression
        Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
        Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve
        (Process_Discriminants): Additional check for illegal use of default
        expressions in access discriminant specifications in a type that is not
        explicitly limited.
        (Check_Abstract_Overriding): If an inherited function dispaches on an
        access result, it must be overridden, even if the type is a null
        extension.
        (Derive_Subprogram): The formals of the derived subprogram have the
        names and defaults of the parent subprogram, even if the type is
        obtained from the actual subprogram.
        (Derive_Subprogram): In the presence of interfaces, a formal of an
        inherited operation has the derived type not only if it descends from
        the type of the formal of the parent operation, but also if it
        implements it. This is relevant for the renamings created for the
        primitive operations of the actual for a formal derived type.
        (Is_Progenitor): New predicate, to determine whether the type of a
        formal in the parent operation must be replaced by the derived type.

        * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
        predicate recursive to handle components that have a user-defined
        Initialize procedure. Handle controlled derived types whose ancestor
        has a user-defined Initialize procedured.
        (Note_Possible_Modification): Add Sure parameter, generate warning if
        sure modification of constant
        Use new Is_Standard_Character_Type predicate
        (Find_Parameter_Type): when determining whether a protected operation
        implements an interface operation, retrieve the type of the formal from
        the entity when the formal is an access parameter or an
        anonymous-access-to-subprogram.
        Move Copy_Parameter_List to sem_util, for use when building stubbed
        subprogram bodies.
        (Has_Access_Values): Tagged types now return False
        (Within_HSS_Or_If): New procedure
        (Set_Optimize_Alignment_Flags): New procedure
        Change name In_Default_Expression      => In_Spec_Expression
        Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
        Change name Pre_Analyze_And_Resolve    => Preanalyze_And_Resolve

2008-04-08  Tristan Gingold  <gingold@adacore.com>

        * s-fileio.adb: Name_Error shouldn't be raised for a tempory file.

2008-04-08  Tristan Gingold  <gingold@adacore.com>

PR ada/10768

        * cuintp.c: Fix 16 bits issue for AVR.
        On AVR, integer is 16 bits, so it can't be used to do math with
        Base (=32768).
        So use long_integer instead.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for
        System.OS_Primitives.
        Change type of various constants, parameters and local variables from
        Time to representation type OS_Time.
        (To_Ada_Time, To_Unix_Time): Correct sign of origin shift.
        Remove the declaration of constant Mili_F from several routines. New
        body for internal package Conversions_Operations.
        (Time_Of): Add default parameters for several formals.

        * a-caldel.adb: Minor reformatting

        * a-calend.ads, a-calend.adb: New body for internal package
        Conversions_Operations.
        (Time_Of): Add default parameters for several formals.

        * Makefile.rtl: Add a-ststop
        Add Ada.Calendar.Conversions to the list of runtime files.
        Add g-timsta

        * a-calcon.adb, a-calcon.ads: New files.

2008-04-08  Jose Ruiz  <ruiz@adacore.com>
            Tristan Gingold  <gingold@adacore.com>

        * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb
        (Install_Restricted_Handlers): New procedure
        which is a simplified version of Install_Handlers that does not store
        previously installed.

        * s-interr-vxworks.adb: Fix ACATS cxc3001
        On VxWorks interrupts can't be detached.
        (Install_Restricted_Handlers): New procedure.

        * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New
        procedure.

2008-04-08  Olivier Hainque  <hainque@adacore.com>

        * s-intman-vxworks.ads, s-intman-vxworks.adb
        (Map_And_Raise_Exception): Remove. Was an import of only part of the
        required services already implemented elsewhere.
        (Notify_Exception): Delete body, import __gnat_error_handler instead.
        (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext
        argument passed to the handler, which we need for ZCX propagation
        purposes.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * adaint.h, adaint.c (__gnat_current_time_string): New routine.

        * g-timsta.adb, g-timsta.ads: New files.

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb
        (Raise_Exception): In accordance with AI-446, raise CE for Null_Id
        (Raise_Exception_Always): Fix documentation accordingly

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by
        Stream_Convert)

        * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets
        FOnly

2008-04-08  Javier Miranda  <miranda@adacore.com>
            Robert Dewar  <dewar@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>

        * a-tags.adb (Register_Interface_Offset): New subprogram.
        (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment).
        (To_Predef_Prims_Table_Ptr): Removed.
        (Acc_Size): Removed.
        (To_Acc_Size): Removed.
        (Parent_Size): Modified to the call the subprogram returning the size of
        the parent by means of the new TSD component Size_Func.

        * a-tags.ads (Offset_To_Top_Ptr): New access type declaration.
        (DT_Offset_To_Top_Offset): New constant value that is used to generate
        code referencing the Offset_To_Top component of the dispatch table's
        prologue.
        (Prim_Ptr): New declaration of access to procedure. Used to avoid the
        use of 'address to initialize dispatch table slots.
        (Size_Func): New component of the TSD. Used by the run-time to call the
        size primitive of the tagged type.

        * checks.adb (Apply_Access_Check): Avoid check when accessing the
        Offset_To_Top component of a dispatch table.
        (Null_Exclusion_Static_Checks): If the non-null access type appears in a
        deferred constant declaration. do not add a null expression, to prevent
        spurious errors when full declaration is analyzed.
        (Apply_Discriminant_Check): If both discriminant constraints share a
        node which is not static but has no side effects, do not generate a
        check for that discriminant.
        (Generate_Index_Checks): Set Name_Req to true in call to duplicate
        subexpr, since the prefix of an attribute is a name.

        * checks.ads: Fix nit in comment.

        * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec
        and body of predefined primitives in case of CPP tagged type
        derivations.
        (Freeze_Type): Deal properly with no storage pool case
        (Make_Predefined_Primitive_Specs): Generate specification of abstract
        primitive Deep_Adjust if a nonlimited interface is derived from a
        limited interface.
        (Build_Dcheck_Functions): Create discriminant-checking functions only
        for variants that have some component(s).
        (Build_Slice_Assignment): In expanded code for slice assignment, handle
        properly the case where the slice bounds extend to the last value of the
        underlying representation.
        (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value
        (Is_Variable_Size_Record): An array component has a static size if
        index bounds are enumeration literals.

        * exp_disp.adb (Make_DT): Use the first subtype to determine whether
        an external tag has been specified for the type.
        (Building_Static_DT): Add missing support for private types.
        (Make_DT): Add declaration of Parent_Typ to ensure consistent access
        to the entity associated with the parent of Typ. This is done to
        avoid wrong access when the parent is a private type.
        (Expand_Interface_Conversion): Improve error message when the
        configurable runtime has no support for dynamic interface conversion.
        (Expand_Interface_Thunk): Add missing support to interface types in
        configurable runtime.
        (Expand_Dispatching_Call): remove obsolete code.
        (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and
        ensure that all subtypes and aggregates associated with dispatch
        tables have the attribute Is_Dispatch_Table_Entity set to true.
        (Register_Primitive): Rename one variable to improve code reading.
        Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o
        of the pointer to the 'size primitive in the TSD.

        * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity.
        (RE_Offset_To_Top_Ptr): New entity.
        (RE_Register_Interface_Offset): New entity.
        (RE_Set_Dynamic_Offset_To_Top): New entity.
        (RE_Set_Offset_To_Top): Removed entity.
        (RE_Prim_Ptr): New entity
        (RE_Size_Func): New entity
        (RE_Size_Ptr): New entity
        (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF.
        (Ada_Dispatching_Child): Define this new subrange.
        (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock,
         RE_Time_Span, and RE_Time_Span_Zero).
        (RE_Unit_Table): Add new required run-time calls

        * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching
        children.

        * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram.
        (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that
         initializes the Offset_To_Top component of a dispatch table.
        (Build_Predef_Prims): Removed.
        (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by
         its actual code.
        (Build_Set_Size_Function): New subprogram.

        * exp_ch13.adb: Do not generate storage variable for storage_size zero
        (Expand): Handle setting/restoring flag Inside_Freezing_Actions

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in
        computing Fore when Exp > 0

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * back_end.adb: Remove Big_String_Ptr declarations (now in Types)

        * errout.adb: Remove Big_String_Ptr declarations (now in Types)
        Change name Is_Style_Msg to Is_Style_Or_Info_Msg

        * fmap.adb: Remove Big_String declarations (now in Types)
        (No_Mapping_File): New Boolean global variable
        (Initialize): When mapping file cannot be read, set No_Mapping_File to
        False.
        (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the
        tables were empty before adding entries, open the mapping file
        with Truncate = True, instead of delete/re-create.

        * fname-sf.adb: Remove Big_String declarations (now in Types)

        * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb,
        s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for
        big pointer types

        * table.ads: Add for Table_Ptr'Storage_Size use 0

        * types.ads: Add Big_String declarations
        Add Size_Clause of zero for big pointer types

2008-04-08  Vincent Celier  <celier@adacore.com>

        * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs=
        (Usage): Add line for switch --subdirs=
        Add new switch -eL, to follow symbolic links when processing project
        files.

        * gnatcmd.adb: Process switches -eL and --subdirs=
        (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call
        Program_Name to get proper tool names when AAMP_On_Target is set.
        (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get
        AAMP_On_Target set properly for use of GNAAMP tools (this is needed by
        Osint.Program_Name).

        * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs=
        (Usage): Add lines for switches -eL and --subdirs=

        * makeusg.adb: Add line for switch --subdirs=

        * prj.ads:
        (Source_Data): New Boolean component Compiled, defaulted to True
        (Empty_File_Name: New global variable in private part, initialized in
        procedure Initialize.
        (Subdirs_Option): New constant string
        (Subdirs): New String_Ptr global variable
        (Language_Config): New component Include_Compatible_Languages
        (Project_Qualifier): New type for project qualifiers
        (Project_Data): New component Qualifier
        (Project_Configuration): New component Archive_Builder_Append_Option

        * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in
        another imported project indicate the name of this imported project.
        (Check_File): When a unit is in two project files, indicate the project
        names and the paths of the source files for each project.
        (Add_Source): Set Compiled to False if compiler driver is empty. Only
        set object, dependency and switches file names if Compiled is True.
        (Process_Compiler): Allow the empty string for value of attribute Driver
        (Get_Directories): When Subdirs is not null and Object_Dir is not
         specified, locate and create if necessary the actual object dir.
        (Locate_Directory): When Subdirs is not empty and Create is not the
        empty string, locate and create if necessary the actual directory
        as a subdirectory of directory Name.
        (Check_Library_Attributes.Check_Library): Allow a project where the only
        "sources" are header files of file based languages to be imported by
        library projects, in multi-language mode (gprbuild).
        (Check_Library_Attributes.Check_Library): In multi-language mode
        (gprbuild), allow a library project to import a project with no
        sources, even when this is not declared explicitly.
        (Check_If_Externally_Built): A virtual project extending an externally
        built project is also externally built.
        (Check_Library_Attributes): For a virtual project extending a library
        project, inherit the library directory.
        (Process_Project_Level_Array_Attributes): Process new attribute
        Inherit_Source_Path.
        For projects with specified qualifiers "standard", "library" or
        "abstract", check that the project conforms to the qualifier.
        (Process_Project_Level_Simple_Attributes): Process new attribute
         Archive_Builder_Append_Option.

        * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs=
        (Normalize_Compiler_Switches): Only keep compiler switches that are
        passed to gnat1 by the gcc driver and that are stored in the ALI file
        by gnat1.
        Do not take into account switc -save-temps

        * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if
        gprmake is called with -eL.
        (Scan_Arg): Recognize switch -eL
        (Usage): Add line for switch -eL

        * prj.adb (Initialize): Initialize Empty_File_Name
        (Project_Empty): New component Qualifier

        * prj-attr.ads, prj-attr.adb: New project level attribute
        Inherit_Source_Path.
        New project level attribute Archive_Builder_Append_Option

        * prj-dect.adb: Replace System.Strings by GNAT.Strings.

        * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add
        <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for
        upward compatibility.

        * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put
        each Trying ..." on different lines.
        (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier
        is "configuration" when not in configuration. Fail when in configuration
        when a specified qualifier is other than "configuration".

        * prj-proc.adb (Process_Declarative_Items): Link new elements of copied
        full associative array together.
        (Recursive_Process): Put the project qualifier in the project data

        * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function
        (Set_Project_Qualifier_Of): New procedure

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * errout.ads: Update comments for new handling of info: messages

        * erroutc.adb (Matches): New procedure
        (Warning_Specifically_Suppressed): Modified to handle multiple * chars
        (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for
         info messages as well as style messages.

        * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry

        * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed
        subprograms.
        (Check_A_Call): Special "info: " warnings now have ? in the text
        (Elab_Warning): Use info message in static case

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

        * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine
        whether an array aggregate with static bounds and scalar components
        should be expanded into a static constant.

2008-04-08  Gary Dismukes  <dismukes@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>
            Robert Dewar  <dewar@adacore.com>

        * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of
        Has_Stream_Attribute_ Definition when checking for available stream
        attributes on parameters of a limited type in Ada 2005. Necessary for
        proper recognition of visible stream attribute clauses.
        (Has_Stream_Attribute_Definition): If the type is derived from a
        private type, then use the derived type's underlying type for checking
        whether it has stream attributes.
        (Validate_Object_Declaration): The check for a user-defined Initialize
        procedure applies also to types with controlled components or a
        controlled ancestor.
        Reject an object declaration in a preelaborated unit if the type is a
        controlled type with an overriding Initialize procedure.
        (Validate_Remote_Access_To_Class_Wide_Type): Return without further
        checking when the parent of a dereference is a selected component and
        the name has not been analyzed.

        * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected
        prefixes that are invalid explicit dereferences of remote
        access-to-class-wide values, first checking whether the selected
        component is a prefixed form of call to a tagged operation.
        (Analyze_Call): Remove code that issues an error for limited function
        calls in illegal contexts, as we now support all of the contexts that
        were forbidden here.
        Allow a function call that returns a task.and appears as the
        prefix of a selected component.
        (Analyze_Reference): Give error message if we try to make a 'Reference
        for an object that is atomic/aliased without its type having the
        corresponding attribute.
        (Analyze_Call): Remove condition checking for attributes to allow
        calls to functions with inherently limited results as prefixes of
        attributes. Remove related comment about Class attributes.
        (Analyze_Selected_Component): If the prefix is a remote type, check
        whether this is a prefixed call before reporting an error.
        (Complete_Object_Operation): If the controlling formal is an access to
        variable reject an actual that is a constant or an access to one.
        (Try_Object_Operation): If prefix is a tagged protected object,retrieve
        primitive operations from base type.

        * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a
        build-in-place
        function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
        (Expand_N_Selected_Component): Test for prefix that is a build-in-place
        function call and call Make_Build_In_Place_Call_In_Anonymous_Context.
        (Expand_N_Slice): Test for prefix that is a build-in-place function call
        and call Make_Build_In_Place_Call_In_Anonymous_Context.
        (Analyze_Call): Remove code that issues an error for limited function
        calls in illegal contexts, as we now support all of the contexts that
        were forbidden here.
        New calling sequence for Get_Simple_Init_Val
        (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test
        (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>
            Robert Dewar  <dewar@adacore.com>

        * exp_ch2.adb: Minor reformatting.
        (Expand_Entry_Index_Parameter): Set the type of the identifier.
        (Expand_Entry_Reference): Add call to Expand_Protected_Component.
        (Expand_Protected_Component): New routine.
        (Expand_Protected_Private): Removed.
        Add Sure parameter to Note_Possible_Modification calls

        * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The
        generated subprogram declaration must inherit the overriding indicator
        from the instantiation node.
        (Validate_Access_Type_Instance): If the designated type of the actual is
        a limited view, use the available view in all cases, not only if the
        type is an incomplete type.
        (Instantiate_Object):  Actual is illegal if the formal is null-excluding
        and the actual subtype does not exclude null.
        (Process_Default): Handle properly abstract formal subprograms.
        (Check_Formal_Package_Instance): Handle properly defaulted formal
        subprograms in a partially parameterized formal package.
        Add Sure parameter to Note_Possible_Modification calls
        (Validate_Derived_Type_Instance): if the formal is non-limited, the
        actual cannot be limited.
        (Collect_Previous_Instances): Generate instance bodies for subprograms
        as well.

        * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't
        try to set RM_Size.
        Add Sure parameter to Note_Possible_Modification calls
        (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call
        (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for
        constant overlaid by variable and issue warning.
        Use new Is_Standard_Character_Type predicate
        (Analyze_Record_Representation_Clause): Check that the specified
        Last_Bit is not less than First_Bit - 1.
        (Analyze_Attribute_Definition_Clause, case Address): Check for
        self-referential address clause

        * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the
        detection mechanism when the lhs is a prival.
        (Analyze_Assignment): Call Check_Unprotected_Access to detect
        assignment of a pointer to protected data, to an object declared
        outside of the protected object.
        (Analyze_Loop_Statement): Check for unreachable code after loop
        Add Sure parameter to Note_Possible_Modication calls
        Protect analysis from previous syntax error such as a scope mismatch
        or a missing begin.
        (Analyze_Assignment_Statement): The assignment is illegal if the
        left-hand is an interface.

        * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check
        violation of restriction No_Implicit_Conditionals
        Add Sure parameter to Note_Possible_Modication calls
        Use new Is_Standard_Character_Type predicate
        (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting
        call as operator. Fixes problems (e.g. validity checking) which
        come from the result looking as though it does not come from source).
        (Resolve_Call): Check case of name in named parameter if style checks
        are enabled.
        (Resolve_Call): Exclude calls to Current_Task as entry formal defaults
        from the checking that such calls should not occur from an entry body.
        (Resolve_Call): If the return type of an Inline_Always function
        requires the secondary stack, create a transient scope for the call
        if the body of the function is not available for inlining.
        (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays
        that are actuals for in-out formals.
        (Try_Object_Operation): If prefix is a tagged protected object,retrieve
        primitive operations from base type.
        (Analyze_Selected_Component): If the context is a call to a protected
        operation the parent may be an indexed component prior to expansion.
        (Resolve_Actuals): If an actual is of a protected subtype, use its
        base type to determine whether a conversion to the corresponding record
        is needed.
        (Resolve_Short_Circuit): Handle pragma Check

        * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object)
        Use new Is_Standard_Character_Type predicate
        (Eval_Relational_Op): Catch more cases of string comparison

2008-04-08  Robert Dewar  <dewar@adacore.com>
            Gary Dismukes  <dismukes@adacore.com>

        * s-rident.ads: Add No_Default_Initialization restriction

        * exp_tss.adb:
        (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case
        (Set_TSS): Handle No_Default_Initialization case

        * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction
        No_Default_Initialization
        (Expand_N_Subprogram_Body): Remove redundant initialization of out
        parameters when Normalize_Scalars is active.
        (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp
        Fix casing error in formal parameter name in call
        (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by
        (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
        dispatching call on VM targets.

2008-04-08  Gary Dismukes  <dismukes@adacore.com>
            Thomas Quinot  <quinot@adacore.com>

        * exp_ch7.adb (Find_Final_List): Change the test for generating a
        selected component from an access type's Associated_Final_Chain to
        check for the presence of that field, rather than assuming it exists
        for all named access types.
        (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a
        procedure to call at the end of the generated cleanup procedure.
        (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and
        and an At_End_Proc already exists in the handled sequence of statements
        for which cleanup actions are being expanded, the original cleanup
        action must be preserved.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>
            Robert Dewar  <dewar@adacore.com>
            Gary Dismukes  <dismukes@adacore.com>

        * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry,
        Build_Unprotected_Subprogram_Body): Generate debug info for
        declarations related to the handling of private data in task and
        protected types.
        (Debug_Private_Data_Declarations): New subprogram.
        (Install_Private_Data_Declarations): Remove all debug info flagging.
        This is now done by Debug_Private_Data_Declarations at the correct
        stage of expansion.
        (Build_Simple_Entry_Call): If the task name is a function call, expand
        the prefix into an object declaration, and make the surrounding block a
        task master.
        (Build_Master_Entity): An internal block is a master if it wraps a call.
        Code reformatting, update comments. Code clean up.
        (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address.
        (Replicate_Entry_Formals): If the formal is an access parameter or
        anonymous access to subprogram, copy the original tree to create new
        entities for the formals of the subprogram.
        (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable
        for tasks to store the value passed using pragma Relative_Deadline.
        (Make_Task_Create_Call): Add the Relative_Deadline argument to the
        run-time call to create a task.
        (Build_Wrapper_Spec): If the controlling argument of the interface
        operation is an access parameter with a non-null indicator, use the
        non-null indicator on the wrapper.

        * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when
        present, which it may not be in the case where the type entity is an
        incomplete view brought in by a limited with.
        (Analyze_Task_Type): Only retrieve the full view when present, which it
        may not be in the case where the type entity is an incomplete view brought
        in by a limited with.
        (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for
        private components of a protected type, to prevent the generation of freeze
        nodes for which there is no proper scope of elaboration.

        * exp_util.ads, exp_util.adb
        (Remove_Side_Effects): If the expression is a function call that returns a
        task, expand into a declaration to invoke the build_in_place machinery.
        (Find_Protection_Object): New routine.
        (Remove_Side_Effects): Also make a copy of the value
        for attributes whose result is of an elementary type.
        (Silly_Boolean_Array_Not_Test): New procedure
        (Silly_Boolean_Array_Xor_Test): New procedure
        (Is_Volatile_Reference): New function
        (Remove_Side_Effects): Use Is_Volatile_Reference
        (Possible_Bit_Aligned_Component): Handle slice case properly

        * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false
        case test to Exp_Util
        (Expand_Packed_Xor): Move silly true/true case test to Exp_Util

2008-04-08  Thomas Quinot  <quinot@adacore.com>

        * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name
        in call
        (Add_RACW_Features): When processing an RACW in another unit than the
        main unit, set Body_Decls to No_List to indicate that the bodies of
        the type's TSS must not be generated.
        (GARLIC_Support.Add_RACW_Read_Attribute,
        GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if
        Body_Decls is No_List.
        (PolyORB_Support.Add_RACW_Read_Attribute,
        PolyORB_Support.Add_RACW_Write_Attribute,
        PolyORB_Support.Add_RACW_From_Any,
        PolyORB_Support.Add_RACW_To_Any,
        PolyORB_Support.Add_RACW_TypeCode): Same.
        (Transmit_As_Unconstrained): New function.
        (Build_Ordered_Parameters_List): Use the above to order parameters.
        (GARLIC_Support.Build_General_Calling_Stubs):
        Use the above to determine which parameters to unmarshall using 'Input
        at the point where their temporary is declared (as opposed to later on
        with a 'Read call).
        (PolyORB_Support.Build_General_Calling_Stubs):
        Use the above to determine which parameters to unmarshall using From_Any
        at the point where their temporary is declared (as opposed to later on
        with an assignment).

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

        * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is
        an Input function for an access type, do not perform default
        initialization on the local variable that receives the value, to
        prevent spurious warnings when the type is null-excluding.

2008-04-08  Robert Dewar  <dewar@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>

        * freeze.adb (Freeze_Entity): Improve warnings on access types in pure
        units.
        (Size_Known): Generic formal scalar types have known at compile
        time size, so remove check.
        Fix casing error in formal parameter name in call
        (Freeze_Subprogram): If the subprogram is a user-defined operator,
        recheck its overriding indication.

2008-04-08  Vincent Celier  <celier@adacore.com>

        * gnat1drv.adb: Send all messages indicating an error to standard error

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * gnatbind.adb (Restriction_Could_Be_Set): New procedure
        (List_Applicable_Restrictions): Do not list existing restrictions

2008-04-08  Thomas Quinot  <quinot@adacore.com>

        * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets:
        add a pointer to generic sockets literature
        do not mention that the given example is "typical" usage.
        Remove obsolete comment about multicast not being supported on Windows.
        (Connect_Socket): Make Server mode IN rather than IN OUT
        since this formal is never modified.

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to
        the declaration for some different entity.
        (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface
        list is precent (following the parent subtype indication), display
        appropriate "and" keyword.

        * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize
        Remove unnecessary calls to Init_Size_Align and Init_Esize.
        Add notes on use of Parent field of an Itype

2008-04-08  Ed Schonberg  <schonberg@adacore.com>
            Robert Dewar  <dewar@adacore.com>
            Gary Dismukes  <dismukes@adacore.com>

        * lib-xref.adb (Is_On_LHS): Remove dead code
        (Output_Overriden_Op): If the overridden operation is itself inherited,
        list the ancestor operation, which is the one whose body or absstract
        specification is actually being overridden. For source navigation
        purposes.

        * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether
        operation is primitive for the type.
        (Declare_Inherited_Private_Subprograms): If the new operation overrides
        an inherited private subprogram, set properly the Overridden_Operation
        attribute, for better cross-reference information.
        (Analyze_Package_Specification): Do late analysis of spec PPCs
        (Install_Private_Declaration, Uninstall_Declarations): Save/restore
        properly the full view and underlying full views of a private type in a
        child unit, whose full view is derived from a private type in a parent
        unit, and whose own full view becomes visible in the child body.

        * sem_disp.adb (Check_Dispatching_Operation): When a body declares a
        primitive operation after the type has been frozen, add an explicit
        reference to the type and the operation, because other primitive
        references have been emitted already.
        (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a
        dispatching call on VM targets.

2008-04-08  Vincent Celier  <celier@adacore.com>
            Thomas Quinot  <quinot@adacore.com>

        * make.adb: (Gnatmake_Called): Remove, no longer necessary
        (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called
        is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files".
        (Insert_Project_Sources): Take into account index in multi-unit source
        files.
        After building a library project, delete all temporary files.
        (Initialize): Reset current output after parsing project file.
        (Collect_Arguments_And_Compile): Never insert in the queue the sources
        of library projects that are externally built.
        Put file name in error and inform messages if -df is used
        (Display): If invoked with -d7, do not display path names, but only
        file names.

        * makeutl.ads (Path_Or_File_Name): New function
        (Path_Or_File_Name): New function

2008-04-08  Arnaud Charlet  <charlet@adacore.com>

        * Make-lang.in: Disable warnings during first stage of bootstrap
        Get rid of gnatbl.
        Update dependencies.

2008-04-08  Vincent Celier  <celier@adacore.com>

        * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
        case to decide if ALI object file is included in library.
        (Build_Library): Never attempt to build a library if the project is
        externally built.

2008-04-08  Thomas Quinot  <quinot@adacore.com>

        * nlists.adb (Is_Non_Empty_List): Remove redundant test. First
        (No_List) is defined to return Empty.

2008-04-08  Jose Ruiz  <ruiz@adacore.com>

        * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve
        documentation.
        Update comments.
        (Read_Default_Search_Dirs): Do not consider spaces as path separators
        because spaces may be part of legal paths.

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * par-ch11.adb (P_Exception_Handler): Check indentation level for
        handler

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

        * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized"
        in a type declaration, if this is not an interface declaration or
        private type extension.

2008-04-08  Vincent Celier  <celier@adacore.com>

        * prj-util.adb (Executable_Of): New String parameter Language. When
        Ada_Main is False and Language is not empty, attempt to remove the body
        suffix or the spec suffix of the language to get the base of the
        executable file name.
        (Put): New Boolean parameter Lower_Case, defauilted to False. When
        Lower_Case is True, put the value in lower case in the name list.
        (Executable_Of): If there is no executable suffix in the configuration,
        then do not modify Executable_Extension_On_Target.

        * prj-util.ads (Executable_Of): New String parameter Language,
        defaulted to the empty string.
        (Put): New Boolean parameter Lower_Case, defauilted to False

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * scng.adb (Scan_Identifier): Handle case of identifier starting with
        wide character using UTF-8 encoding.

2008-04-08  Javier Miranda  <miranda@adacore.com>

        * sem.adb (Analyze): Consider case in which we analyze an empty node
        that was generated by a call to a runtime function that is not
        available under the configurable runtime.

        * sem.ads (Inside_Freezing_Actions): New flag.
        (Save_Check_Policy_List): New field in scope stack entry

2008-04-08  Ed Schonberg  <schonberg@adacore.com>
            Robert Dewar  <dewar@adacore.com>

        * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
        the ancestor part of an extension aggregate for a limited type.
        (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
        enumeration index bounds.
        (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
        when array is too short.
        (Check_Expr_OK_In_Limited_Aggregate): Move function
        Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
        change name).
        (Resolve_Array_Aggregate.Resolve_Aggr_Expr):
        Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
        component associations.
        (Check_Non_Limited_Type): Moved to outer level and renamed.
        (Resolve_Record_Aggregate): In an extension aggregate, an association
        with a box initialization can only designate a component of the
        extension, not a component inherited from the given ancestor

        * sem_case.adb: Use new Is_Standard_Character_Type predicate

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
        negative scale
        (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
        Properly handle case where Aft > Scale and input number is less than
        one.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * s-stoele.ads, s-soflin.ads: Move the location of
        Dummy_Communication_Block from System.Storage_Elements to
        System.Soft_Links.

        * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
        emulate Communication_Block in certain scenarios.

2008-04-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
        subprogram.
        Add new subtype S_WWC, unchecked conversion routines From_WWC and
        To_WWC.
        (I_WWC, O_WWC): New routines for input and output of
        Wide_Wide_Character.

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * stringt.adb (Write_String_Table_Entry): Handle wide characters
        properly

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * styleg.adb (Check_Comment): Allow special char after -- in
        non-end-of-line case

2008-04-08  Robert Dewar  <dewar@adacore.com>

        * stylesw.adb: Implement -gnaty + - y options
        (Set_GNAT_Style_Check_Options): Includ I in style check string

        * stylesw.ads: Add comments for new style switch options

2008-04-08  Sergey Rybin  <rybin@adacore.com>

        * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
        to the set of the GNAT components needed by ASIS.

2008-04-08  Bob Duff  <duff@adacore.com>

        * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9).

2008-04-08  Tristan Gingold  <gingold@adacore.com>

        * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type.
        Improve error message generation.

2008-04-08  Vincent Celier  <celier@adacore.com>

        * a-direct.adb (Start_Search): Check for Name_Error before checking for
        Use_Error, as specified in the RM. Check if directory is open and raise
        Use_Error if it is not.

2008-04-08  Vincent Celier  <celier@adacore.com>
            Robert Dewar  <dewar@adacore.com>

        * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
        AAMP_On_Target is set.

        * vms_data.ads: Add NOxxx to style check switch list
        Add entry COMPONENTS for -gnatVe
        Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
        (/SUBDIRS=).
        (GCC_Switches): Add /ALL_BACK_END_WARNINGS.
        Add qualifiers for gnatmetric coupling options
        Add note that -gnata enables all checks
        Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
        Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
        New warning flag -gnatw.e

        * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
        Add entry for -gnatyN (forgotten before)
        Line for new warning switch -gnatw.p
        New warning flag -gnatw.e

        * gnat_ugn.texi: Add documentation fpr project file switch -aP
        Document -gnaty - + y
        Replace occurences of "package specification" with "package spec"
        Define preprocessing symbols in documentation of gnatprep
        Clarify reason for distinguishing overflow checking
        Add documentation for project-aware tool switches -eL and --subdirs=
        Complete list of configuration pragmas
        Specify that, even when gnatmake switch -x is used, mains on the command
        line need to be sources of project files.
        Editing of gnatcheck/gnatmetric doc.
        Add documentation for -gnatw.p/-gnatw.P
        Add missing documentation for -fno-inline-functions.
        Add documentation for -gnatw.e

        * gnat_rm.texi: Add documentation for No_Default_Initialization
        Replace occurences of "package specification" with "package spec"
        Document use of * in Warnings Off string
        Update documentation of alignment/component clauses.
        Add documentation for Invalid_Value
        Document new consistency rule for Optimize_Alignment
        Add documentation for Precondition and Postcondition pragmas
        Add documentation for Check and Check_Policy pragmas
        Document new Enum_Val attribute
        Remove requirement for static string in pragma Assert
        Add documentation on GNAT.Time_Stamp

        * ug_words: add entry for -gnatVe
        Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
        Add entry for -gnatw.e

        * debug.adb: Add missing documentation for d.a flag
        Document new -gnatd.a switch.
        Add documentation for new gnatmake debug switch -df

2008-04-08  Thomas Quinot  <quinot@adacore.com>

        * gen-soccon.c: Bump year in copyright notices.

        * g-soccon-vxworks.ads: Add new constant IP_PKTINFO

2008-04-08  Eric Botcazou  <ebotcazou@adacore.com>

        * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows.
        Minor reformatting.

2008-04-08  Robert Dewar  <dewar@adacore.com>
            Bob Duff  <duff@adacore.com>

        * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
        Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp

        * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly

        * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly

        * g-trasym.ads: Minor comment improvements

        * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly

        * a-sequio.ads, a-direio.ads: improve message for tagged type

        * a-strunb.ads: Minor reformatting

        * a-tifiio.adb: Minor reformatting

        * atree.adb (Fix_Parents): Use clearer names for formals
        Cleanup and simplify code
        Use named notation in calls

        * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
        confusing calls

        * uintp.adb: Used named notation for some confusing calls

        * bindusg.adb: Minor change in one line of output

        * cstand.adb: Minor reformatting of src representation of Standard

        * a-assert.ads: Add comment.

        * g-decstr.adb: Fix bad indentation

        * expander.ads, expander.adb: Code clean up.

        * sem_dist.ads: Minor comment improvement

        * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
        s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting

        * i-cstrin.adb: Fix casing error in formal parameter name in call

2008-04-08  Ed Schonberg  <schonberg@adacore.com>

        * binde.adb (Gather_All_Links, Gather_Dependencies): units that are
        mentioned in limited_with_clauses to do create semantic dependencies
        even though they appear in the ali file.

2008-04-08  Emmanuel Briot  <briot@adacore.com>

        * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
        statement.
        (Get_Configuration): New subprogram.

        * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
        These optional parameters help preserve the casing of the project's name
        when pretty-printing.

2008-04-08  Jerome Lambourg  <lambourg@adacore.com>
            Arnaud Charlet  <charlet@adacore.com>

        * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
        then use __gnat_set_exit_status to report the returned status code.

        * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
        messages on .NET, since some constructs of the language are not
        properly supported.

        * gnatlink.adb (Gnatlink): In case the command line is too long for the
        .NET linker, gnatlink now concatenate all .il files and pass this to
        ilasm.

2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
            Xavier Grave  <grave@ipno.in2p3.fr>

        * Makefile.in: Add make ifeq define for mips/mipsel support.
        * g-soccon-linux-mips.ads, system-linux-mipsel.ads,
        system-linux-mips.ads: New files.

2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>

        * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to
        detect systems using GNU libc.
        * gsocket.h: ditto.
        * socket.c: ditto.
        * adaint.c: ditto.
        * link.c: ditto.

2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>

        * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New
        constant constant for sysconf call.
        (bit_field): New packed boolean type used by cpu_set_t.
        (cpu_set_t): New type corresponding to the C type with
        the same name. Note that on the Ada side we use a bit
        field array for the affinity mask. There is not need
        for the C macro for setting individual bit.
        (pthread_setaffinity_np): New imported routine.
        * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
        on GNU/kFreeBSD.

2008-04-07  Eric Botcazou  <ebotcazou@adacore.com>

        * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.

2008-04-07  Eric Botcazou  <ebotcazou@adacore.com>

        * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
        * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
        * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
        * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
        Return by Depressed Stack Pointer.

2008-04-06  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (is_variable_size): Do not unconditionally return false
        on non-strict alignment platforms.

2008-04-06  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (rest_of_type_decl_compilation_no_defer): New local function
        used to process all the variants of the specified type.
        (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
        types too.  Call rest_of_type_decl_compilation_no_defer if undeferring.
        (rest_of_type_decl_compilation): Likewise.
        * utils.c (gnat_pushdecl): Propagate the name to all variants of type.

2008-04-03  Paolo Bonzini  <bonzini@gnu.org>

        * gigi.h (insert_block): Kill.
        * utils.c (insert_block): Kill.

2008-04-02  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
        type has self-referential size, get the size from the initializing
        expression directly if it is also a constant whose nominal type
        has self-referential size.

2008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

        PR ada/33688
        * g-soccon-darwin.ads: Define new constant IP_PKTINFO.

        PR ada/33857
        * env.c: Always include crt_externs.h if __APPLE__ is defined.
        (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.

2008-04-01  Andreas Jaeger  <aj@suse.de>

        * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
        IP_PKTINFO.

2008-03-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * g-table.adb, g-tasloc.adb, g-traceb.ads,
        g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
        gnatbind.adb, gnatchop.adb, gnatcmd.adb,
        gnatcmd.ads, gnatdll.adb, gnatfind.adb,
        gnatlink.adb, gnatmem.adb, gprep.adb,
        i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
        i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
        layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
        lib-xref.ads, lib.adb, link.c, live.ads,
        make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
        mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
        misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
        mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
        namet.adb, namet.h, nlists.adb, nlists.ads,
        nlists.h, opt.ads, osint-b.ads, osint-c.adb,
        osint-c.ads, osint.adb, osint.ads, output.ads,
        par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
        par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
        par-endh.adb, par-labl.adb, par-prag.adb,
        par-sync.adb, par-tchk.adb, par-util.adb,
        par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
        prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
        prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
        prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.

2008-03-31  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
        size if it has overflowed.

2008-03-31  Olivier Hainque  <hainque@adacore.com>
            Eric Botcazou  <ebotcazou@adacore.com>

        * utils2.c (find_common_type): Document assumption on t1/t2 vs
        lhs/rhs. Force use of lhs type if smaller, whatever the modes.

2008-03-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
        einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
        exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
        exp_pakd.ads, exp_prag.adb, exp_smem.adb,
        exp_tss.ads, exp_util.adb, exp_util.ads,
        exp_vfpt.adb, freeze.adb, freeze.ads,
        frontend.adb, g-alleve.adb, g-altcon.adb,
        g-altive.ads, g-alveop.ads, g-alvevi.ads,
        g-arrspl.adb, g-busorg.ads, g-calend.adb,
        g-calend.ads, g-casuti.ads, g-cgideb.adb,
        g-comlin.adb, g-comlin.ads, g-curexc.ads,
        g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
        g-dirope.adb, g-dirope.ads, g-dynhta.ads,
        g-dyntab.adb, g-encstr.ads, g-excact.ads,
        g-except.ads, g-expect.ads, g-heasor.adb,
        g-hesora.adb, g-hesorg.adb, g-htable.ads,
        g-locfil.ads, g-md5.adb, g-md5.ads,
        g-memdum.ads, g-moreex.ads, g-os_lib.adb,
        g-pehage.adb, g-pehage.ads, g-regexp.adb,
        g-regexp.ads, g-regpat.adb, g-regpat.ads,
        g-soccon-aix.ads, g-soccon-darwin.ads,
        g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
        g-soccon-hpux.ads, g-soccon-irix.ads,
        g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
        g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
        g-soccon-mingw.ads, g-soccon-solaris-64.ads,
        g-soccon-solaris.ads, g-soccon-tru64.ads,
        g-soccon-vms.ads, g-soccon-vxworks.ads,
        g-soccon.ads, g-socket.adb, g-socket.ads,
        g-socthi-mingw.adb, g-socthi-vms.adb,
        g-socthi-vxworks.adb, g-soliop-mingw.ads,
        g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
        g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
        typos.

2008-03-27  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
        if the procedure is imported.

2008-03-26  Arnaud Charlet  <charlet@adacore.com>

        * adaint.c: Fix warnings.

2008-03-26  Arnaud Charlet  <charlet@adacore.com>

        * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.

2008-03-26  Arnaud Charlet  <charlet@adacore.com>

        * a-witeio.adb: Fix problem with Current_Output (introduce Self).
        Fix problem of status check for null file

2008-03-26  Arnaud Charlet  <charlet@adacore.com>

        * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
        s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
        s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
        i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
        s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
        comments.

2008-03-26  Thomas Quinot  <quinot@adacore.com>

        PR ada/33688
        * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
        Get_Socket_Option): Add support for Receive_Packet_Info.

        * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
        g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
        g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
        g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
        g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
        new constants SO_REUSEPORT and IP_PKTINFO

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
        a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
        a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
        a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
        a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
        a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
        s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
        s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
        a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
        s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
        s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
        s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
        s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
        s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
        s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
        s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
        s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
        s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
        s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
        s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
        a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
        a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
        s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
        s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
        s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
        s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
        s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
        a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
        a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
        s-tasloc.adb: Minor reformatting.
        Update comments.
        Remove "used for" sections from comments.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
        s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
        s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
        s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
        s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
        a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
        a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
        a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
        a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
        a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
        a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
        i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
        a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
        s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
        s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
        double spaced if it fits on one line and otherwise single spaced.

2008-03-26  Arnaud Charlet  <charlet@adacore.com>

        * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb,
        s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
        s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
        or task info if the thread could not be created.

2008-03-26  Arnaud Charlet  <charlet@adacore.com>

        * gnatvsn.ads (Library_Version): Bump to 4.4.
        (Current_Year): Bump to 2008.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record

        * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure

        * debug.adb: Add debug flags d.r and d.v
        Add debug flag .T (Optimize_Alignment (Time))
        Add debug flag .S (Optimize_Alignment (Space))

        * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
        depending on setting of relevant debug flags.
        Replace use of Warnings_Off by Has_Warnings_Off
        (Freeze_Entity): In circuit for warning on suspicious convention
        actuals, do not give warning if subprogram has same entity as formal
        type, or if subprogram does not come from source.
        (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
        if Optimize_Alignment set to Space.

        * frontend.adb: Add call to Sem_Warn.Initialize
        Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
        Reset Optimize_Alignment mode from debug switches .S and .T

        * layout.adb (Layout_Composite_Object): Rewritten for
        Optimize_Aligment pragma.

        * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
        mode.

        * opt.ads, opt.adb: (Optimize_Alignment): New global switch

        * par-prag.adb (N_Pragma): Chars field removed, use Chars
        (Pragma_Identifier (..  instead, adjustments throughout to accomodate
        this change. Add entry for pragma Optimize_Alignment

        * sem_prag.adb (N_Pragma): Chars field removed, use Chars
        (Pragma_Identifier (..
        instead, adjustments throughout to accomodate this change.
        (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
        (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
        Add implementation of pragma Optimize_Alignment

2008-03-26  Vincent Celier  <celier@adacore.com>

        * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
        Improve memory usage to avoid use of stack.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * a-teioed.ads: Correct value of Default_Fill

        * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
        with Current_Output (introduce Self).

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * checks.adb (Ensure_Valid): Capture valid status if possible
        (eliminate checks)

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * stand.ads: Deal with reordering of package standard declarations

        * cstand.adb: Put package Standard declarations in proper order

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
        (Pragma_Identifier (.. instead.
        (OK_To_Reorder_Components): New flag
        (Has_Entries): Code cleanup.
        (Warnings_Off_Used): New flag
        (Warnings_Off_Used_Unmodified): New flag
        (Warnings_Off_Used_Unreferenced): New flag
        (Has_Warnings_Off): New function
        (Has_Unmodified): New function
        (Has_Unreferenced): New function
        (Is_Trivial_Subprogram): New flag
        (Is_Static_Dispatch_Table_Entity): New attribute.
        Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
        (more consistent with other similar names)
        (Access_Subprogram_Type): New classification function

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * errout.ads: Document new !! insertion sequence

        * errout.adb (N_Pragma): Chars field removed, use Chars
        (Pragma_Identifier (..  instead.
        Replace use of Warnings_Off by Has_Warnings_Off
        (Error_Msg_Internal): Don't delete warning ending in !!

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * par.adb (Check_No_Right_Paren): Removed no longer used

        * par-ch10.adb (N_Pragma): Chars field removed, use Chars
        (Pragma_Identifier (..  instead.

        * par-ch10.adb (P_Subunit): Improvement in error recovery and message

        * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
        par-ch4.adb: Minor improvements in error recovery and messages.

        * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
        non-serious

        * par-ch9.adb: Minor improvements in error recovery and messages
        (P_Protected): Better error recovery for "protected type x;"

        * par-util.adb: Minor improvements in error recovery and messages
        (Check_No_Right_Paren): Removed no longer used

2008-03-26  Ed Schonberg  <schonberg@adacore.com>

        * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
        that the prefix of an attribute is the type of the aggregate being
        expanded.

2008-03-26  Javier Miranda  <miranda@adacore.com>
            Robert Dewar  <dewar@adacore.com>

        * exp_attr.adb (N_Pragma): Chars field removed.
        (Expand_N_Attribute_Reference): If the designated type associated with
        attribute 'Unrestricted_Access is a subprogram entity then replace it
        by an E_Subprogram_Type itype.
        Implement attribute Old

        * sem_attr.ads (Attribute_Class_Array): Move to snames.ads

        * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
        Replace call to
        New_Internal_Entity by call to Create_Itype to centralize calls
        building itypes, ad propagate the convention of the designated
        subprogram. In addition, disable the machinery cleaning constant
        indications from all entities in current scope when 'Unrestricted_Access
        corresponds with a node initializing a dispatch table slot.
        (Analyze_Attribute): Parameterless attributes returning a string or a
        type will not be called with improper arguments, so we can remove junk
        code that was dealing with this case.
        Implement attribute Old

        * snames.ads, snames.h, snames.adb: Add entries for attribute Old
        Add entry for pragma Optimize_Alignment
        New standard names Sync and Synchronize

2008-03-26  Robert Dewar  <dewar@adacore.com>
            Arnaud Charlet  <charlet@adacore.com>

        * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
        stmt.
        (No_Exception_Propagation_Active): New function.
        (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
        Update comments, and review all uses of No_Exception_Propagation, which
        are now correct and in sync with what gigi expects.

        * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
        function.
        (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
        Update comments, and review all uses of No_Exception_Propagation, which
        are now correct and in sync with what gigi expects.

2008-03-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch3.adb (Access_Definition): If the access type is the return
        result of a protected function, create an itype reference for it
        because usage will be in an inner scope from the point of declaration.
        (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
        OK_To_Reorder_Components.
        (Make_Index): If an overloaded range includes a universal integer
        interpretation, resolve to Standard.Integer.
        (Analyze_Subtype_Indication): Copy Convention to subtype
        (Check_Abstract_Interfaces): Complete semantic checks on the legality of
        limited an synchronized progenitors in type declaration and private
        extension declarations.

        * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
        protected subprogram body, determine proper scope from subprogram
        declaration.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
        No_Run_Time_Mode

2008-03-26  Gary Dismukes  <dismukes@adacore.com>

        * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
        of a heap allocator for a limited unconstrained function return when
        resstriction No_Allocators is active.
        (Analyze_Allocator): The restriction No_Allocators is now only checked
        on allocators that have Comes_From_Source set, as per RM-H.4(7).

        * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
        of a heap allocator for a limited unconstrained function return when
        resstriction No_Allocators is active.
        (Analyze_Allocator): The restriction No_Allocators is now only checked
        on allocators that have Comes_From_Source set, as per RM-H.4(7).
        (Has_Fixed_Op):  If the name in a function call is Standard."*" and the
        operands are fixed-point types, the universal_fixed predefined operation
        is used, regardless of whether the operand type (s) have a primitive
        operation of the same name.

2008-03-26  Javier Miranda  <miranda@adacore.com>

        * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
        Is_Static_Dispatch_Table
        (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
        to Exchange_Declarations to exchange the private and full-view. Bug
        found working in this issue.
        (Expand_Dispatching_Call): Propagate the convention of the subprogram
        to the subprogram pointer type.
        (Make_Secondary_DT): Replace generation of Prim'Address by
        Address (Prim'Unrestricted_Access)
        (Make_DT): Replace generation of Prim'Address by
        Address (Prim'Unrestricted_Access)
        (Make_Disp_*_Bodies): When compiling for a restricted profile, use
        simple call form for single entry.
        (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
        tables of predefined primitives).
        (Make_Secondary_DT): Add support to handle access to dispatch tables of
        predefined primitives.
        (Make_Tags): Add entities to Access_Dispatch_Table associated with
        access to dispatch tables containing predefined primitives.

        * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
        (Pragma_Identifier (..  instead, adjustments throughout to accomodate
        this change.
        (Register_Predefined_DT_Entry): Updated to handle the new contents
        of attribute Access_Disp_Table (pointers to dispatch tables containing
        predefined primitives).

        * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
        subprogram.
        (Find_Interface_ADT): Updated to skip the new contents of attribute
        Access_Dispatch_Table (pointers to dispatch tables containing predefined
        primitives).

        * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
        concurrent types.
        (Set_Convention): Use new function Is_Access_Subprogram_Type
        (Collect_Interfaces_Info): Updated to skip the new contents of attribute
        Access_Dispatch_Table (pointers to dispatch tables containing predefined
        primitives).

        * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
        expanded code avoiding calls to Build_Predef_Prims.
        (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
        call to Build_Get_Predefined_Prim_Op_Address.

2008-03-26  Javier Miranda  <miranda@adacore.com>

        * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
        subprogram Corresponding_Runtime_Package to know the runtime package
        that will provide support to a given protected type.

        * exp_ch9.adb (Add_Private_Declarations,
        Build_Protected_Subprogram_Call,
        Build_Protected_Entry, Build_Simple_Entry_Call,
        Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
        Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
        cleanup using the new centralized subprogram Corresponding_Runtime
        Package to know the runtime package that provides support to
        a given protected type.

2008-03-26  Ed Schonberg  <schonberg@adacore.com>

        * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
        assignment is within the initialization procedure for a packed array,
        and Initialize_Scalars is enabled, compile right-hand side with checks
        off, because the value is purposely out of range.

2008-03-26  Vincent Celier  <celier@adacore.com>

        * gnatcmd.adb: Add processing for GNAT SYNC

        * vms_conv.ads: (Command_Type): Add command Sync

        * vms_conv.adb (Initialize): Add Command_List data for new command Sync

        * vms_data.ads: Add entries for -gnatw.w
        Add qualifier for gnatstub --header-file option
        Add switches for GNAT SYNC

        * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
        (Add_Package_Name): New procedure
        (Package_Name_List): New function
        (Initialize): Add known package names to the list
        (Register_New_Package): Add the new package name to the list

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
        s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
        Raise_Exception by "raise with" construct.

2008-03-26  Pascal Obry  <obry@adacore.com>

        * Makefile.in: Add proper GNAT.Serial_Communications implementation on
        supported platforms.

        * Makefile.rtl: Add g-sercom.o.

        * impunit.adb: Add g-sercom.adb.

        * s-crtl.ads (open): New routine.
        (close): Likewise.
        (write): Likewise.

        * s-osinte-mingw.ads (BYTE): New type.
        (CHAR): Likewise.
        (OVERLAPPED): Likewise.
        (GENERIC_READ): New constant.
        (GENERIC_WRITE): Likewise.
        (OPEN_EXISTING): Likewise.
        (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
        type instead.
        (CreateFile): New routine.
        (WriteFile): Likewise.
        (ReadFile): Likewise.
        (CloseHandle): Move next to the other file oriented routines.

        * g-sercom.ads: New unit.

        * g-sercom.adb: Default implementation, calls to this unit will raise
        a program error exception.

        * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
        GNU/Linux implementations.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind

        * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
        unchecked conversion for different conventions only for subprogram
        pointers or on VMS.

2008-03-26  Vincent Celier  <celier@adacore.com>

        * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
        to check if the specified object file is correct.

2008-03-26  Thomas Quinot  <quinot@adacore.com>

        * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
        Comes_From_Source to exclude primitives from being checked. We want to
        exclude predefined primitives only, so use the appropriate specific
        predicate. Also, flag a formal parameter of an anonymous
        access-to-subprogram type as illegal for a primitive operation of a
        remote access to class-wide type.

2008-03-26  Vincent Celier  <celier@adacore.com>

        * prj-dect.adb (Parse_Package_Declaration): When a package name is not
        known, check if it may be a missspelling of a known package name. In
        not verbose, not mode, issue warnings only if the package name is a
        possible misspelling.
        In verbose mode, always issue a warning for a not known package name,
        plus a warning if the name is a misspelling of a known package name.

        * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
        limited withs or limited withs are parse during one call.
        (Parse_Single_Project): Post parse context clause in two passes: non
        limited withs before current project and limited withs after current
        project.

        * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
        project with the name With_Name, even if it is only extended indirectly.
        (Recursive_Process): Process projects in order: first single withs, then
        current project, then limited withs.

        * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
        project with the name With_Name, even if it is only extended indirectly.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * scn.adb (Initialize_Scanner): Format messages belong on standard error

2008-03-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
        a generic subprogram that is imported, do not attempt to compile
        non-existent body.

        * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
        imported, do not generate a raise_program_error for the non-existent
        body.
        (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
        perform minimal name resolution on the generic to avoid spurious
        warnings.
        (Find_Actual_Type): the designated type of the actual in a child unit
        may be declared in a parent unit without being an actual.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
        * sinfo.ads, sinfo.adb (From_At_End): New flag

2008-03-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
        operations that have an interface parameter.
        (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
        Don't treat No_Return call as raise.

        * sem_disp.adb (Check_Dispatching_Operations): apply check for
        non-primitive interface primitives to access parameters, not to all
        parameters of an access type.

2008-03-26  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
        declarations of a parent unit are made visible when compiling a child
        instance, the parent is not a hidden open scope, even though it may
        contain other pending instance.

        * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
        hidden open scope for some child instance, it does affect the
        visibility status of other stach entries.
        (Analyze_Object_Renaming): Check that a class-wide object cannot be
        renamed as an object of a specific type.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
        recursion and raise SE directly.
        (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
        set for formal type for IN mode parameter.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
        (Initialize): New procedure
        (Output_Warnings_Off_Warnings): New procedure
        (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
        (Output_Non_Modifed_In_Out_Warnings): Ditto
        (Warn_On_Unreferenced_Entity): Ditto

2008-03-26  Vincent Celier  <celier@adacore.com>

        * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
        readable.

2008-03-26  Matthew Heaney  <heaney@adacore.com>

        * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads,
        a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
        Marked with clauses as private, and controlled operations as overriding

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * back_end.adb, back_end.ads: Minor reformatting

        * bindgen.adb: Minor clarification of comments

        * fname.ads: Minor comment fixes

        * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
        prj-nmsc.adb, sem_aggr.adb: Minor reformatting

        * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
        xsnames.adb: Remove warnings off pragma no longer needed

        * a-catizo.ads, a-calari.ads, a-calfor.adb,
        a-calfor.ads: Fix header.

2008-03-26  Tristan Gingold  <gingold@adacore.com>

        * init.c: Do not adjust pc for HPARITH on alpha/vms.

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * lib-xref.adb: (OK_To_Set_Reference): New function
        (Generate_Reference): Don't set referenced from occurrence in Warnings,
        Unmodified, or Unreferenced pragma

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * alloc.ads: Add entries for Warnings_Off_Pragmas table

2008-03-26  GNAT Script  <nobody@adacore.com>

        * Make-lang.in: Makefile automatically updated

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
        par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
        removed, use Chars (Pragma_Identifier (..  instead, adjustments
        throughout to accomodate this change.

        * s-pooglo.ads, s-pooloc.ads: Minor comment updates

        * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
        Einfo.Set_Needs_Debug_Info)

2008-03-26  Robert Dewar  <dewar@adacore.com>

        * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
        Add description for the new gnatstub option '--header-file'
        clarification of -gnatwz/-gnatwZ
        Add a "Irix-Specific Considerations" section to document the need to
        set LD_LIBRARY_PATH when using the default shared runtime library.
        Added documentation for both gcov and gprof.

        * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
        messages that are not suppressed when clients are compiled.
        Add documentation of s-pooglo s-pooloc
        Document the new GNAT.Serial_Communications API.
        Add documentation for 'Old attribute
        Add description of pragma Optimize_Alignment

        * ug_words: Add entries for -gnatw.w -gnatw.W

        * usage.adb: Add line for -gnatw.w (warn on warnings off)

2008-03-25  Eric Botcazou  <ebotcazou@adacore.com>

        Revert
        2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
        PR ada/35186
        * decl.c (maybe_pad_type): Avoid padding an integral type when
        bumping its alignment is sufficient.

2008-03-25  Arnaud Charlet  <charlet@adacore.com>

        * exp_ch6.adb, exp_disp.adb: Update copyright notice.
        Fix wrong formatting (lines too long)

2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
        a-calend-vms.adb, a-calend.adb, a-calend.ads,
        a-calfor.adb, a-chahan.ads, a-chtgke.adb,
        a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
        a-cohama.ads, a-comlin.ads, a-coorse.adb,
        a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
        a-except-2005.ads, a-except.adb, a-except.ads,
        a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
        a-exextr.adb, a-filico.ads, a-finali.ads,
        a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
        a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
        a-sequio.ads, a-strbou.ads, a-strfix.adb,
        checks.adb, exp_ch3.adb, exp_ch4.adb,
        exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
        exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
        exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
        exp_dbug.ads, exp_disp.adb, exp_dist.adb,
        exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.

2008-03-24  Robert Dewar  <dewar@adacore.com>

        * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
        s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
        s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
        s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
        s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
        a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
        a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
        a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
        a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
        a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
        a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
        i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
        a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
        s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
        s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
        double spaced if it fits on one line and otherwise single spaced.

2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        PR documentation/15479
        * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
        (doc/gnat_ugn_unw.texi): ... this, and adjusted.
        (doc/gnat_ugn.info): Renamed from ...
        (doc/gnat_ugn_unw.info): ... this.
        (doc/gnat_ugn.dvi): Renamed from ...
        (doc/gnat_ugn_unw.dvi): ... this.
        (doc/gnat_ugn.pdf): Renamed from ...
        (doc/gnat_ugn_unw.pdf): ... this.
        (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
        Adjusted.
        * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
        unconditionally to gnat_ugn.info.  Fix cross references to the
        GNAT Reference Manual.  Convert links to the GCC, GDB, Emacs,
        and GNU make manuals to be proper texinfo links.
        * gnat_rm.texi: Fix cross references to the GNAT User's Guide.

2008-03-21  Olivier Hainque  <hainque@adacore.com>

        * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
        ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).

2008-03-21  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (addressable_p): Add notes on addressability issues.

2008-03-21  Olivier Hainque  <hainque@adacore.com>
            Ed Schonberg  <schonberg@adacore.com>

        * trans.c (addressable_p): Accept COND_EXPR when both arms
        are addressable.
        (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
        (call_to_gnu): Do not use name reference in the error message
        for a misaligned by_reference_parameter. The actual may be a
        general expression.

2008-03-18  Paolo Bonzini  <bonzini@gnu.org>

        * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.

2008-03-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * gnat_rm.texi (Implementation Defined Characteristics)
        (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
        appropriate.
        * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
        (Switches for gnatchop, Installing a library): Likewise.

2008-03-10  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (emit_range_check): Do not emit the check if the base type
        of the expression is the type against which its range must be checked.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (maybe_pad_type): Use value_factor_p.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * lang.opt (nostdlib): Move around.
        * misc.c (gnat_handle_option): Fix formatting.
        (gnat_dwarf_name): Move around.
        * trans.c (Case_Statement_to_gnu): Fix formatting.
        (gnat_to_gnu): Likewise.
        * utils.c (aggregate_type_contains_array_p): Likewise.
        (create_subprog_decl): Likewise.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
        bother propagating the TYPE_USER_ALIGN flag when creating a JM type.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
        BIGGEST_ALIGNMENT when capping the alignment of records with
        strict alignment and size clause.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * lang-specs.h: Pass -gnatwa if -Wall is passed.
        * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
        and -Wuninitialized.
        (gnat_post_options): Clear warn_unused_parameter.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
        aligned bit-fields, bumping the alignment of the record type if deemed
        profitable.
        (value_factor_p): Return false instead of 0.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
        for scalar types with small alignment.

2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
        from that of the front-end's end label.
        (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
        from that of the loop label.

2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
        comment for the packed array type case.
        * utils.c (build_template): Use a loop to strip padding or
        containing records for justified modular types.

2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
        large alignments specified for types.
        (validate_alignment): Minor cleanup.

2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
        (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
        the component for packing, if possible, as well as if a component
        size clause is specified.
        <E_Record_Subtype>: For an array type used to implement a packed
        array, get the component type from the original array type.
        Try to get a smaller form of the component for packing, if possible,
        as well as if a component size clause is specified.
        (round_up_to_align): New function.
        (make_packable_type): Add in_record parameter.
        For a padding record, preserve the size.  If not in_record and the
        size is too large for an integral mode, attempt to shrink the size
        by lowering the alignment.
        Ditch the padding bits of the last component.
        Compute sizes and mode manually, and propagate the RM size.
        Return a BLKmode record type if its size has shrunk.
        (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
        Use Original_Array_Type to retrieve the type in case of an error.
        Adjust call to make_packable_type.
        (gnat_to_gnu_field): Likewise.
        (concat_id_with_name): Minor tweak.
        * trans.c (larger_record_type_p): New predicate.
        (call_to_gnu): Compute the nominal type of the object only if the
        parameter is by-reference.  Do the conversion actual type -> nominal
        type if the nominal type is a larger record.
        (gnat_to_gnu): Do not require integral modes on the source type to
        avoid the conversion for types with identical names.
        (addressable_p): Add gnu_type parameter.  If it is specified, do not
        return true if the expression is not addressable in gnu_type.
        Adjust recursive calls.
        * utils.c (finish_record_type): Remove dead code.

2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>

        PR ada/35186
        * decl.c (maybe_pad_type): Avoid padding an integral type when
        bumping its alignment is sufficient.

2008-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
        * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
        statement.
        * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
        gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
        sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
        code output strings.
        * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
        system-vms_64.ads: Fix typos in ada source code comments.
        * sinfo-cn.adb: Remove incomplete sentence.

        PR documentation/15479
        * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.

2008-02-27  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/22255
        * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.

2008-02-27  Samuel Tardieu  <sam@rfc1149.net>

        PR ada/34799
        * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
        that underlying type is present.

2008-02-26  Tom Tromey  <tromey@redhat.com>

        * misc.c (internal_error_function): Remove test of
        USE_MAPPED_LOCATION.
        * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
        (Sloc_to_locus): Remove old location code.

2008-02-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
        `i.e.' by adding comma or `@:' as appropriate.
        * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
        plain characters `C', use `@samp{C}'.
        * gnat_ugn.texi (File Naming Rules, About gnatkr)
        (Krunching Method): Likewise.

        * gnat_ugn.texi (Conventions): List environment variables and
        metasyntactic variables.
        (Compiling Programs): Fix notation of metasyntactic variables.
        Add @file where appropriate.  Use @file for file extensions,
        @samp for strings.
        * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
        instead of @file, @env instead of @code.

2008-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        PR documentation/15479
        * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
        and `...' with `@dots{}' or `@enddots{}'.

        PR documentation/15479
        * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
        use @command instead of @code, @option instead of @samp or @code,
        @code instead of @var, @samp instead of @file.

        PR documentation/15479
        * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
        in Makefile rules, by using `&&' rather than `;'.

2008-02-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        PR documentation/15479
        * gnat_ugn.texi: In non-code, avoid space before colon.
        (Regular Expressions in gnatfind and gnatxref): Fix indentation.
        (Examples of gnatxref Usage): Use @command{vi} instead of
        @file{vi}.
        (Character Set Control): Do not use @code for UTF-8.
        (Validity Checking): Fix typo "NaNs" instead of "NaN's".  Do not
        use @code for IEEE.
        * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
        sample.
        * gnat_rm.texi, gnat_ugn.texi: Fix typos.  Bump copyright years.

2008-02-11  Joel Sherrill  <joel.sherrill@oarcorp.com>

        PR ada/35143
        * env.c: Add __rtems__ to if defined.
        * s-osinte-rtems.adb: Add To_Target_Priority.  Fix formatting.
        * s-osinte-rtems.ads: Add To_Target_Priority prototype and
        PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants.  Add
        pragma Convention as required.
        * gsocket.h: Make compile in and out of RTS.
        * Makefile.in: Add system-rtems.ads.  Build DEC extensions.
        Use g-soccon-rtems.ads.
        * g-soccon-rtems.ads, system-rtems.ads: New files.

2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

        PR other/35107
        * Make-lang.in (gnat1): Add $(GMPLIBS).

2008-01-26  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (components_to_record): Improve comment.

2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (components_to_record): Do not reuse the empty union type
        if there is a representation clause on the record.
        * trans.c (addressable_p): Return true for INTEGER_CST.

2008-01-21  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
        in pointer arithmetics.
        * utils2.c (build_allocator): Likewise.

2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>

        * utils.c (build_function_stub): Properly build the call expression.

2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>

        * decl.c (gnat_to_gnu_entity) <object>: Process renamings
        before converting the expression to the type of the object.
        * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
        Stabilize constructors for special wrapping types.

2008-01-13  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (call_to_gnu): Invoke the addressable_p predicate only
        when necessary.  Merge some conditional statements.  Update comments.
        Rename unchecked_convert_p local variable to suppress_type_conversion.
        Do not suppress conversions in the In case.
        (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
        into account on non strict-alignment platforms.

2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>

        * utils.c (aggregate_type_contains_array_p): New predicate.
        (create_field_decl): In a packed record, force byte alignment
        for fields without specified position that contain an array.

2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>

        * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.

2008-01-10  John David Anglin  <dave.anglin.@nrc-cnrc.gc.ca>

        PR ada/34466
        * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
        sysconf call.
        (bit_field): New packed boolean type used by cpu_set_t.
        (cpu_set_t): New type corresponding to the C type with
        the same name. Note that on the Ada side we use a bit
        field array for the affinity mask. There is not need
        for the C macro for setting individual bit.
        (pthread_setaffinity_np): New imported routine.

2008-01-03  Tero Koskinen  <tero.koskinen@iki.fi>

        PR ada/34647
        * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
        on OpenBSD as is done on other BSD systems.

        PR ada/34645
        * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
        getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
        I/O.

        PR ada/34644
        * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
        clearenv().

        PR ada/34646
        * init.c (__gnat_error_handler, __gnat_install_handler,
        __gnat_init_float): Define for OpenBSD.

        * initialize.c (__gnat_initialize): Define for OpenBSD.



Copyright (C) 2008 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.