home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Source / GNU / gcc / config / i386 / go32.h < prev    next >
C/C++ Source or Header  |  1995-05-12  |  2KB  |  65 lines

  1. /* Configuration for an i386 running MS-DOS with djgpp/go32.  */
  2.  
  3. /* Don't assume anything about the header files. */
  4. #define NO_IMPLICIT_EXTERN_C
  5.  
  6. #define HANDLE_SYSV_PRAGMA
  7.  
  8. #define YES_UNDERSCORES
  9.  
  10. #include "i386/gas.h"
  11.  
  12. #ifdef CPP_PREDEFINES
  13. #undef CPP_PREDEFINES
  14. #endif
  15. #define CPP_PREDEFINES "-Dunix -Di386 -DGO32 -DMSDOS \
  16.   -Asystem(unix) -Asystem(msdos) -Acpu(i386) -Amachine(i386)"
  17.  
  18. #undef EXTRA_SECTIONS
  19. #define EXTRA_SECTIONS in_ctor, in_dtor
  20.  
  21. #undef EXTRA_SECTION_FUNCTIONS
  22. #define EXTRA_SECTION_FUNCTIONS                    \
  23.   CTOR_SECTION_FUNCTION                        \
  24.   DTOR_SECTION_FUNCTION
  25.  
  26. #define CTOR_SECTION_FUNCTION                    \
  27. void                                \
  28. ctor_section ()                            \
  29. {                                \
  30.   if (in_section != in_ctor)                    \
  31.     {                                \
  32.       fprintf (asm_out_file, "\t.section .ctor\n");        \
  33.       in_section = in_ctor;                    \
  34.     }                                \
  35. }
  36.  
  37. #define DTOR_SECTION_FUNCTION                    \
  38. void                                \
  39. dtor_section ()                            \
  40. {                                \
  41.   if (in_section != in_dtor)                    \
  42.     {                                \
  43.       fprintf (asm_out_file, "\t.section .dtor\n");        \
  44.       in_section = in_dtor;                    \
  45.     }                                \
  46. }
  47.  
  48. #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME)    \
  49.   do {                        \
  50.     ctor_section ();                \
  51.     fprintf (FILE, "%s\t", ASM_LONG);        \
  52.     assemble_name (FILE, NAME);            \
  53.     fprintf (FILE, "\n");            \
  54.   } while (0)
  55.  
  56. #define ASM_OUTPUT_DESTRUCTOR(FILE,NAME)           \
  57.   do {                        \
  58.     dtor_section ();                           \
  59.     fprintf (FILE, "%s\t", ASM_LONG);        \
  60.     assemble_name (FILE, NAME);                  \
  61.     fprintf (FILE, "\n");            \
  62.   } while (0)
  63.  
  64.  
  65.