|
|
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:
22: /* Called from check_newline via the macro HANDLE_PRAGMA.
23: FINPUT is the source file input stream. */
24:
25: void
26: handle_pragma (finput)
27: FILE *finput;
28: {
29: register char *p = get_directive_line (finput);
30:
31: /* Record initial setting of optimize flag, so we can restore it. */
32: if (!pragma_initialized)
33: {
34: pragma_initialized = 1;
35: initial_optimize_flag = optimize;
36: }
37:
38: if (OPT_STRCMP ("CC_OPT_ON"))
39: optimize = 1, obey_regdecls = 0;
40: else if (OPT_STRCMP ("CC_OPT_OFF"))
41: optimize = 0, obey_regdecls = 1;
42: else if (OPT_STRCMP ("CC_OPT_RESTORE"))
43: {
44: extern int initial_optimize_flag;
45:
46: if (optimize != initial_optimize_flag)
47: {
48: if (initial_optimize_flag)
49: obey_regdecls = 0;
50: else
51: obey_regdecls = 1;
52: optimize = initial_optimize_flag;
53: }
54: }
55: else if (OPT_STRCMP ("CC_WRITABLE_STRINGS"))
56: flag_writable_strings = 1;
57: else if (OPT_STRCMP ("CC_NON_WRITABLE_STRINGS"))
58: flag_writable_strings = 0;
59: else if (OPT_STRCMP("CC_NO_MACH_TEXT_SECTIONS"))
60: flag_no_mach_text_sections = 1;
61: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.