r148314 - in /trunk/gcc: ada/ChangeLog ada/gcc-...

hainque@gcc.gnu.org hainque@gcc.gnu.org
Tue Jun 9 15:32:00 GMT 2009


Author: hainque
Date: Tue Jun  9 15:32:03 2009
New Revision: 148314

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=148314
Log:
        ada/
        * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
        helper for build_call_alloc_dealloc with arguments to be interpreted
        identically.  Process the case where a GNAT_PROC to call is provided.
        (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
        and return an allocator for DATA_SIZE bytes aimed at containing a
        DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
        DATA_TYPE alignments greater than what the latter offers.
        (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
        release a DATA_TYPE object designated by DATA_PTR using the
        __gnat_free entry point.
        (build_call_alloc_dealloc): Expect object data type instead of naked
        alignment constraint. Use the new helpers.
        (build_allocator): Remove special processing for the super-aligned
        case, now handled by build_call_alloc_dealloc.  Pass data type instead
        of the former alignment argument, as expected by the new interface.
        * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
        and comment.
        * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
        Remove special processing for the super-aligned case, now handled
        by build_call_alloc_dealloc.  Pass data type instead of the former
        alignment argument, as expected by the new interface.

        testsuite/
        * gnat.dg/align_max.adb: New test.



Added:
    trunk/gcc/testsuite/gnat.dg/align_max.adb
Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/gcc-interface/gigi.h
    trunk/gcc/ada/gcc-interface/trans.c
    trunk/gcc/ada/gcc-interface/utils2.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list