home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / bbs / gnu / gcc-2.6.0-src.lha / GNU / src / amiga / gcc-2.6.0 / config / i386 / go32.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-29  |  1.4 KB  |  60 lines

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