diff options
author | obrien <obrien@FreeBSD.org> | 2002-02-01 18:16:02 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-02-01 18:16:02 +0000 |
commit | c9ab9ae440a8066b2c2b85b157b1fdadcf09916a (patch) | |
tree | 086d9d6c8fbd4fc8fe4495059332f66bc0f8d12b /contrib/gcc/config/nextstep.c | |
parent | 2ecfd8bd04b63f335c1ec6295740a4bfd97a4fa6 (diff) | |
download | FreeBSD-src-c9ab9ae440a8066b2c2b85b157b1fdadcf09916a.zip FreeBSD-src-c9ab9ae440a8066b2c2b85b157b1fdadcf09916a.tar.gz |
Enlist the FreeBSD-CURRENT users as testers of what is to become Gcc 3.1.0.
These bits are taken from the FSF anoncvs repo on 1-Feb-2002 08:20 PST.
Diffstat (limited to 'contrib/gcc/config/nextstep.c')
-rw-r--r-- | contrib/gcc/config/nextstep.c | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/contrib/gcc/config/nextstep.c b/contrib/gcc/config/nextstep.c index 1c658fb..228c566 100644 --- a/contrib/gcc/config/nextstep.c +++ b/contrib/gcc/config/nextstep.c @@ -1,5 +1,6 @@ /* Functions for generic NeXT as target machine for GNU C compiler. - Copyright (C) 1989, 90-93, 96, 1997 Free Software Foundation, Inc. + Copyright (C) 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998, + 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -19,9 +20,13 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "config.h" -#include <stdio.h> +#include "system.h" #include "flags.h" #include "tree.h" +#include "rtl.h" +#include "toplev.h" +#include "output.h" +#include "tm_p.h" /* Make everything that used to go in the text section really go there. */ @@ -37,8 +42,6 @@ static int pragma_initialized; static int initial_optimize_flag; -extern char *get_directive_line (); - /* Called from check_newline via the macro HANDLE_PRAGMA. FINPUT is the source file input stream. CH is the first character after `#pragma'. @@ -46,9 +49,9 @@ extern char *get_directive_line (); int handle_pragma (p_getc, p_ungetc, pname) - int (* p_getc) PROTO ((void)); - void (* p_ungetc) PROTO ((int)); - char * pname; + int (* p_getc) PARAMS ((void)) ATTRIBUTE_UNUSED; + void (* p_ungetc) PARAMS ((int)) ATTRIBUTE_UNUSED; + const char *pname; { int retval = 0; @@ -61,13 +64,13 @@ handle_pragma (p_getc, p_ungetc, pname) if (strcmp (pname, "CC_OPT_ON") == 0) { - optimize = 1, obey_regdecls = 0; + optimize = 1; warning ("optimization turned on"); retval = 1; } else if (strcmp (pname, "CC_OPT_OFF") == 0) { - optimize = 0, obey_regdecls = 1; + optimize = 0; warning ("optimization turned off"); retval = 1; } @@ -76,13 +79,7 @@ handle_pragma (p_getc, p_ungetc, pname) extern int initial_optimize_flag; if (optimize != initial_optimize_flag) - { - if (initial_optimize_flag) - obey_regdecls = 0; - else - obey_regdecls = 1; - optimize = initial_optimize_flag; - } + optimize = initial_optimize_flag; warning ("optimization level restored"); retval = 1; } @@ -95,3 +92,26 @@ handle_pragma (p_getc, p_ungetc, pname) return retval; } + +void +nextstep_asm_out_constructor (symbol, priority) + rtx symbol; + int priority ATTRIBUTE_UNUSED; +{ + constructor_section (); + assemble_align (POINTER_SIZE); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); + fprintf (asm_out_file, ".reference .constructors_used\n"); +} + +void +nextstep_asm_out_destructor (symbol, priority) + rtx symbol; + int priority ATTRIBUTE_UNUSED; +{ + destructor_section (); + assemble_align (POINTER_SIZE); + assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1); + fprintf (asm_out_file, ".reference .destructors_used\n"); +} + |