Changeset 3803 for branches/libc-0.6


Ignore:
Timestamp:
Feb 5, 2014, 8:25:05 PM (12 years ago)
Author:
bird
Message:

InnoTekLIBC/fork.h: Mark fork callback structures as used to try convince GCC to keep them.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/libc-0.6/src/emx/include/InnoTekLIBC/fork.h

    r3795 r3803  
    508508
    509509
     510/** @def _FORK_DATA_USED
     511 * Internal macro for convincing GCC to keep our fork callback structures. */
     512#if __GNUC_PREREQ__(4,2)
     513# define _FORK_DATA_USED() __attribute__((__used__))
     514#else
     515# define _FORK_DATA_USED()
     516#endif
     517
    510518/** @def _FORK_PARENT1
    511519 * This macro is used to setup automatic fork callbacks for
     
    518526 */
    519527#define _FORK_PARENT1(uPriority, pfnCallback) \
    520     static const __LIBC_FORKCALLBACK __fork_parent1_##pfnCallback = { pfnCallback, uPriority + (unsigned)(&__fork_parent1_##pfnCallback - &__fork_parent1_##pfnCallback) }; \
     528    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority + (unsigned)(&__fork_parent1_##pfnCallback - &__fork_parent1_##pfnCallback) }; \
    521529    __asm__ (".stabs \"___fork_parent1__\", 23, 0, 0, ___fork_parent1_" #pfnCallback);
    522530
     
    531539 */
    532540#define _FORK_CHILD1(uPriority, pfnCallback) \
    533     static const __LIBC_FORKCALLBACK __fork_child1_##pfnCallback  = { pfnCallback, uPriority + (unsigned)(&__fork_child1_##pfnCallback - &__fork_child1_##pfnCallback) }; \
     541    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback  = { pfnCallback, uPriority + (unsigned)(&__fork_child1_##pfnCallback - &__fork_child1_##pfnCallback) }; \
    534542    __asm__ (".stabs \"___fork_child1__\",  23, 0, 0, ___fork_child1_" #pfnCallback );
    535543
Note: See TracChangeset for help on using the changeset viewer.