|
|
1.1 root 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:
1.1.1.2 ! root 22: extern char *get_directive_line ();
! 23:
1.1 root 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.