home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / gnu / gcc-2.3.3-src.lha / GNU / src / amiga / gcc-2.3.3 / config / next.c < prev    next >
C/C++ Source or Header  |  1994-02-06  |  2KB  |  64 lines

  1. /* next.c:  Functions for NeXT as target machine for GNU C compiler.  */
  2.  
  3. /* Note that the include below means that we can't debug routines in
  4.    m68k.c when running on a COFF system.  */
  5.  
  6. #include "m68k.c"
  7.  
  8. /* Make everything that used to go in the text section really go there.  */
  9.  
  10. int flag_no_mach_text_sections = 0;
  11.  
  12. #define OPT_STRCMP(opt) (!strncmp (opt, p, sizeof (opt)-1))
  13.  
  14. /* 1 if handle_pragma has been called yet.  */
  15.  
  16. static int pragma_initialized;
  17.  
  18. /* Initial setting of `optimize'.  */
  19.  
  20. static int initial_optimize_flag;
  21.  
  22. extern char *get_directive_line ();
  23.  
  24. /* Called from check_newline via the macro HANDLE_PRAGMA.
  25.    FINPUT is the source file input stream.  */
  26.  
  27. void
  28. handle_pragma (finput)
  29.      FILE *finput;
  30. {
  31.   register char *p = get_directive_line (finput);
  32.  
  33.   /* Record initial setting of optimize flag, so we can restore it.  */
  34.   if (!pragma_initialized)
  35.     {
  36.       pragma_initialized = 1;
  37.       initial_optimize_flag = optimize;
  38.     }
  39.  
  40.   if (OPT_STRCMP ("CC_OPT_ON"))
  41.     optimize = 1, obey_regdecls = 0;
  42.   else if (OPT_STRCMP ("CC_OPT_OFF"))
  43.     optimize = 0, obey_regdecls = 1;
  44.   else if (OPT_STRCMP ("CC_OPT_RESTORE"))
  45.     {
  46.       extern int initial_optimize_flag;
  47.  
  48.       if (optimize != initial_optimize_flag)
  49.     {
  50.       if (initial_optimize_flag)
  51.         obey_regdecls = 0;
  52.       else
  53.         obey_regdecls = 1;
  54.       optimize = initial_optimize_flag;
  55.     }
  56.     }
  57.   else if (OPT_STRCMP ("CC_WRITABLE_STRINGS"))
  58.     flag_writable_strings = 1;
  59.   else if (OPT_STRCMP ("CC_NON_WRITABLE_STRINGS"))
  60.     flag_writable_strings = 0;
  61.   else if (OPT_STRCMP("CC_NO_MACH_TEXT_SECTIONS"))
  62.     flag_no_mach_text_sections = 1;
  63. }
  64.