Ignore:
Timestamp:
Jun 26, 2014, 2:12:11 PM (11 years ago)
Author:
bird
Message:

More watcom compilation changes & fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libc/include/InnoTekLIBC/fork.h

    r3860 r3861  
    525525 * @param   pfnCallback     Callback function. See __LIBC_PFNFORKCALLBACK for prototype.
    526526 */
    527 #ifdef __WATCOMC__
    528 # define _FORK_PARENT1(uPriority, pfnCallback) \
    529     static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \
    530     const __LIBC_FORKCALLBACK * __based(__segname("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback
    531 
    532 #elif defined(_MSC_VER)
    533 # define _FORK_PARENT1(uPriority, pfnCallback) \
    534     __Pragma(section("forkpar1", read, write)); \
    535     static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \
    536     const __LIBC_FORKCALLBACK * __declspec(allocate("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback
    537 
    538 #else
    539 # define _FORK_PARENT1(uPriority, pfnCallback) \
    540     static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = \
    541     { pfnCallback, uPriority + (unsigned)(&__fork_parent1_##pfnCallback - &__fork_parent1_##pfnCallback) }; \
    542     __asm__ (".stabs \"___fork_parent1__\", 23, 0, 0, ___fork_parent1_" #pfnCallback)
    543 #endif
    544527
    545528/** @def _FORK_CHILD1
     
    552535 * @param   pfnCallback     Callback function. See __LIBC_PFNFORKCALLBACK for prototype.
    553536 */
    554 #ifdef __WATCOMC__
    555 # define _FORK_CHILD1(uPriority, pfnCallback) \
     537#ifdef __OS2__
     538# ifdef __WATCOMC__
     539#  define _FORK_PARENT1(uPriority, pfnCallback) \
     540    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \
     541    const __LIBC_FORKCALLBACK * __based(__segname("SET2___fork_parent1__")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback
     542#  define _FORK_CHILD1(uPriority, pfnCallback) \
     543    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \
     544    const __LIBC_FORKCALLBACK * __based(__segname("SET2___fork_child1__")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback
     545# else
     546#  define _FORK_PARENT1(uPriority, pfnCallback) \
     547    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = \
     548    { pfnCallback, uPriority + (unsigned)(&__fork_parent1_##pfnCallback - &__fork_parent1_##pfnCallback) }; \
     549    __asm__ (".stabs \"___fork_parent1__\", 23, 0, 0, ___fork_parent1_" #pfnCallback)
     550#  define _FORK_CHILD1(uPriority, pfnCallback) \
     551    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback  = { pfnCallback, uPriority + (unsigned)(&__fork_child1_##pfnCallback - &__fork_child1_##pfnCallback) }; \
     552    __asm__ (".stabs \"___fork_child1__\",  23, 0, 0, ___fork_child1_" #pfnCallback )
     553# endif
     554
     555#elif defined(__NT__) || defined(__WIN32__) || defined(__WIN64__)
     556# ifdef __WATCOMC__
     557#  define _FORK_PARENT1(uPriority, pfnCallback) \
     558    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \
     559    const __LIBC_FORKCALLBACK * __based(__segname("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback
     560#  define _FORK_CHILD1(uPriority, pfnCallback) \
    556561    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback = { pfnCallback, uPriority }; \
    557562    const __LIBC_FORKCALLBACK * __based(__segname("forkcld1")) __fork_child1_ptr_##pfnCallback = &__fork_child1_##pfnCallback
    558563
    559 #elif defined(_MSC_VER)
    560 # define _FORK_CHILD1(uPriority, pfnCallback) \
     564# elif defined(_MSC_VER)
     565#  define _FORK_PARENT1(uPriority, pfnCallback) \
    561566    __Pragma(section("forkpar1", read, write)); \
     567    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \
     568    const __LIBC_FORKCALLBACK * __declspec(allocate("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback
     569#  define _FORK_CHILD1(uPriority, pfnCallback) \
     570    __Pragma(section("forkcld1", read, write)); \
    562571    static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback = { pfnCallback, uPriority }; \
    563572    const __LIBC_FORKCALLBACK * __declspec(allocate("forkcld1")) __fork_child1_ptr_##pfnCallback = &__fork_child1_##pfnCallback
    564573
     574# else
     575#  error "Port me"
     576# endif
    565577#else
    566 # define _FORK_CHILD1(uPriority, pfnCallback) \
    567     static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback  = { pfnCallback, uPriority + (unsigned)(&__fork_child1_##pfnCallback - &__fork_child1_##pfnCallback) }; \
    568     __asm__ (".stabs \"___fork_child1__\",  23, 0, 0, ___fork_child1_" #pfnCallback )
     578# error "Port me"
    569579#endif
    570580
Note: See TracChangeset for help on using the changeset viewer.