Commit a32f2771 by Neil Booth Committed by Neil Booth

c-common.c: Remove USE_CPPLIB conditional inclusions.

        * c-common.c: Remove USE_CPPLIB conditional inclusions.
        * c-common.h: Similarly.
        * c-decl.c: Similarly.
        * c-lang.c: Similarly.
        * c-lex.c: Similarly.
        * c-parse.in: Similarly.
        * c-pragma.c: Similarly.
        * c-pragma.h: Similarly.
        * gcc.c: Similarly.
        * toplev.c: Similarly.
        * cp/cp-tree.h: Similarly.
        * cp/decl2.c: Similarly.
        * cp/lang-specs.h: Similarly.
        * cp/lex.c: Similarly.
        * cp/lex.h: Similarly.
        * cp/spew.c: Similarly.
        * java/lang-options.h: Similarly.
        * objc/lang-specs.h: Similarly.
        * objc/objc-act.c: Similarly.

        * configure.in: Remove configure option.
        * config.in: Regenerate.
        * configure: Regenerate.

From-SVN: r37742
parent 3e8aa6e3
2000-11-25 Neil Booth <neilb@earthling.net>
* c-common.c: Remove USE_CPPLIB conditional inclusions.
* c-common.h: Similarly.
* c-decl.c: Similarly.
* c-lang.c: Similarly.
* c-lex.c: Similarly.
* c-parse.in: Similarly.
* c-pragma.c: Similarly.
* c-pragma.h: Similarly.
* gcc.c: Similarly.
* toplev.c: Similarly.
* cp/cp-tree.h: Similarly.
* cp/decl2.c: Similarly.
* cp/lang-specs.h: Similarly.
* cp/lex.c: Similarly.
* cp/lex.h: Similarly.
* cp/spew.c: Similarly.
* java/lang-options.h: Similarly.
* objc/lang-specs.h: Similarly.
* objc/objc-act.c: Similarly.
* configure.in: Remove configure option.
* config.in: Regenerate.
* configure: Regenerate.
2000-11-25 Richard Henderson <rth@redhat.com>
* haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
......
......@@ -34,11 +34,8 @@ Boston, MA 02111-1307, USA. */
#include "intl.h"
#include "diagnostic.h"
#include "obstack.h"
#if USE_CPPLIB
#include "cpplib.h"
cpp_reader parse_in;
#endif
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE TYPE_PRECISION (wchar_type_node)
......@@ -4710,91 +4707,6 @@ truthvalue_conversion (expr)
return build_binary_op (NE_EXPR, expr, integer_zero_node, 1);
}
#if !USE_CPPLIB
/* Read the rest of a #-directive from input stream FINPUT.
In normal use, the directive name and the white space after it
have already been read, so they won't be included in the result.
We allow for the fact that the directive line may contain
a newline embedded within a character or string literal which forms
a part of the directive.
The value is a string in a reusable buffer. It remains valid
only until the next time this function is called.
The terminating character ('\n' or EOF) is left in FINPUT for the
caller to re-read. */
char *
get_directive_line (finput)
register FILE *finput;
{
static char *directive_buffer = NULL;
static unsigned buffer_length = 0;
register char *p;
register char *buffer_limit;
register int looking_for = 0;
register int char_escaped = 0;
if (buffer_length == 0)
{
directive_buffer = (char *)xmalloc (128);
buffer_length = 128;
}
buffer_limit = &directive_buffer[buffer_length];
for (p = directive_buffer; ; )
{
int c;
/* Make buffer bigger if it is full. */
if (p >= buffer_limit)
{
register unsigned bytes_used = (p - directive_buffer);
buffer_length *= 2;
directive_buffer
= (char *)xrealloc (directive_buffer, buffer_length);
p = &directive_buffer[bytes_used];
buffer_limit = &directive_buffer[buffer_length];
}
c = getc (finput);
/* Discard initial whitespace. */
if ((c == ' ' || c == '\t') && p == directive_buffer)
continue;
/* Detect the end of the directive. */
if (looking_for == 0
&& (c == '\n' || c == EOF))
{
ungetc (c, finput);
c = '\0';
}
*p++ = c;
if (c == 0)
return directive_buffer;
/* Handle string and character constant syntax. */
if (looking_for)
{
if (looking_for == c && !char_escaped)
looking_for = 0; /* Found terminator... stop looking. */
}
else
if (c == '\'' || c == '"')
looking_for = c; /* Don't stop buffering until we see another
one of these (or an EOF). */
/* Handle backslash. */
char_escaped = (c == '\\' && ! char_escaped);
}
}
#endif /* USE_CPPLIB */
/* Make a variant type in the proper way for C/C++, propagating qualifiers
down to the element type of an array. */
......
......@@ -463,13 +463,8 @@ extern void overflow_warning PARAMS ((tree));
extern void unsigned_conversion_warning PARAMS ((tree, tree));
/* Read the rest of the current #-directive line. */
#if USE_CPPLIB
extern char *get_directive_line PARAMS ((void));
#define GET_DIRECTIVE_LINE() get_directive_line ()
#else
extern char *get_directive_line PARAMS ((FILE *));
#define GET_DIRECTIVE_LINE() get_directive_line (finput)
#endif
/* Subroutine of build_binary_op, used for comparison operations.
See if the operands have both been converted from subword integer types
......
......@@ -41,11 +41,8 @@ Boston, MA 02111-1307, USA. */
#include "defaults.h"
#include "ggc.h"
#include "tm_p.h"
#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
#endif
/* In grokdeclarator, distinguish syntactic contexts of declarators. */
enum decl_context
......@@ -512,11 +509,8 @@ c_decode_option (argc, argv)
int strings_processed;
const char *option_value = NULL;
char *p = argv[0];
#if USE_CPPLIB
strings_processed = cpp_handle_option (&parse_in, argc, argv);
#else
strings_processed = 0;
#endif /* ! USE_CPPLIB */
if (!strcmp (p, "-lang-objc"))
c_language = clk_objective_c;
......
......@@ -34,13 +34,10 @@ Boston, MA 02111-1307, USA. */
#include "expr.h"
#include "c-tree.h"
#include "c-lex.h"
static int c_tree_printer PARAMS ((output_buffer *));
#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
#endif
static int c_tree_printer PARAMS ((output_buffer *));
/* Each of the functions defined here
is an alternative to a function in objc-actions.c. */
......@@ -56,10 +53,9 @@ lang_decode_option (argc, argv)
void
lang_init_options ()
{
#if USE_CPPLIB
cpp_init ();
cpp_reader_init (&parse_in, CLK_GNUC89);
#endif
/* Mark as "unspecified". */
flag_bounds_check = -1;
}
......@@ -80,13 +76,6 @@ lang_init ()
mesg_implicit_function_declaration = 0;
}
/* the beginning of the file is a new line; check for # */
/* With luck, we discover the real source file's name from that
and put it in input_filename. */
#if !USE_CPPLIB
ungetc (check_newline (), finput);
#endif
save_lang_status = &push_c_function_context;
restore_lang_status = &pop_c_function_context;
mark_lang_status = &mark_c_function_context;
......
......@@ -2830,9 +2830,7 @@ end ifobjc
cpplib.h's token codes into yacc's token codes. */
static enum cpp_ttype last_token;
#if USE_CPPLIB
extern cpp_reader parse_in;
#endif
/* The reserved keyword table. */
struct resword
......@@ -3137,25 +3135,11 @@ init_parse (filename)
void
finish_parse ()
{
#if USE_CPPLIB
cpp_finish (&parse_in);
errorcount += parse_in.errors;
#else
fclose (finput);
#endif
}
#if USE_CPPLIB
#define NAME(type) cpp_type2name (type)
#else
/* Bleah */
#include "symcat.h"
#define OP(e, s) s,
#define TK(e, s) STRINGX(e),
static const char *type2name[N_TTYPES] = { TTYPE_TABLE };
#define NAME(type) type2name[type]
#endif
static void
yyerror (msgid)
......@@ -3248,10 +3232,8 @@ _yylex ()
case CPP_DOT: return '.';
case CPP_EOF:
#if USE_CPPLIB
cpp_pop_buffer (&parse_in);
if (! CPP_BUFFER (&parse_in))
#endif
return 0;
goto retry;
......
......@@ -32,16 +32,7 @@ Boston, MA 02111-1307, USA. */
#include "c-lex.h"
#include "tm_p.h"
#if USE_CPPLIB
extern cpp_reader parse_in;
#else
struct pragma_entry;
static struct pragma_entry *pragmas;
void cpp_register_pragma PARAMS ((cpp_reader *, const char *, const char *,
void (*) PARAMS ((cpp_reader *)) ));
void cpp_register_pragma_space PARAMS ((cpp_reader *, const char *));
#endif
#define BAD(msgid) do { warning (msgid); return; } while (0)
#define BAD2(msgid, arg) do { warning (msgid, arg); return; } while (0)
......@@ -312,151 +303,11 @@ handle_pragma_weak (dummy)
}
#endif
#if !USE_CPPLIB
/* Glue version of cpplib's pragma registration and dispatch system. */
struct pragma_entry
{
struct pragma_entry *next;
const char *name;
size_t len;
int isnspace;
union {
void (*handler) PARAMS ((cpp_reader *));
struct pragma_entry *space;
} u;
};
void
cpp_register_pragma_space (pfile, space)
cpp_reader *pfile ATTRIBUTE_UNUSED;
const char *space;
{
struct pragma_entry *new;
const struct pragma_entry *p = pragmas;
size_t len = strlen (space);
while (p)
{
if (p->isnspace && p->len == len && !memcmp (p->name, space, len))
return;
p = p->next;
}
new = (struct pragma_entry *) xmalloc (sizeof (struct pragma_entry));
new->name = space;
new->len = len;
new->isnspace = 1;
new->u.space = 0;
new->next = pragmas;
pragmas = new;
}
void
cpp_register_pragma (pfile, space, name, handler)
cpp_reader *pfile ATTRIBUTE_UNUSED;
const char *space;
const char *name;
void (*handler) PARAMS ((cpp_reader *));
{
struct pragma_entry **x, *new;
size_t len;
x = &pragmas;
if (space)
{
struct pragma_entry *p = pragmas;
len = strlen (space);
while (p)
{
if (p->isnspace && p->len == len && !memcmp (p->name, space, len))
{
x = &p->u.space;
goto found;
}
p = p->next;
}
abort ();
}
found:
new = (struct pragma_entry *) xmalloc (sizeof (struct pragma_entry));
new->name = name;
new->len = strlen (name);
new->isnspace = 0;
new->u.handler = handler;
new->next = *x;
*x = new;
}
/* Called from process_directive() for #pragma lines. */
void
dispatch_pragma ()
{
enum cpp_ttype t;
tree x;
const struct pragma_entry *p;
const char *name, *space = 0;
size_t len;
p = pragmas;
new_space:
t = c_lex (&x);
if (t == CPP_EOF)
return;
if (t != CPP_NAME)
{
warning ("malformed #pragma directive");
return;
}
name = IDENTIFIER_POINTER (x);
len = IDENTIFIER_LENGTH (x);
while (p)
{
if (strlen (p->name) == len && !memcmp (p->name, name, len))
{
if (p->isnspace)
{
space = p->name;
p = p->u.space;
goto new_space;
}
else
{
(*p->u.handler) (0);
return;
}
}
p = p->next;
}
/* Issue a warning message if we have been asked to do so. Ignore
unknown pragmas in system headers unless an explicit
-Wunknown-pragmas has been given. */
if (warn_unknown_pragmas > in_system_header)
{
if (space)
warning ("ignoring #pragma %s %s", space, name);
else
warning ("ignoring #pragma %s", name);
}
}
#endif
void
init_pragma ()
{
cpp_reader *pfile ATTRIBUTE_UNUSED;
#if !USE_CPPLIB
pfile = 0;
#else
pfile = &parse_in;
#endif
#ifdef HANDLE_PRAGMA_PACK
cpp_register_pragma (pfile, 0, "pack", handle_pragma_pack);
......
......@@ -59,11 +59,6 @@ extern int add_weak PARAMS ((const char *, const char *));
extern void init_pragma PARAMS ((void));
/* If cpplib is in use, it handles dispatch. */
#if !USE_CPPLIB
extern void dispatch_pragma PARAMS ((void));
#endif
/* Duplicate prototypes for the register_pragma stuff and the typedef for
cpp_reader, to avoid dragging cpplib.h in almost everywhere... */
#ifndef __GCC_CPPLIB__
......
......@@ -308,9 +308,6 @@
every opportunity. This is extremely expensive. */
#undef ENABLE_GC_ALWAYS_COLLECT
/* Define if you want the preprocessor merged into the C and C++ compilers. */
#undef USE_CPPLIB
/* Define if you want the C and C++ compilers to support multibyte
character sets for source code. */
#undef MULTIBYTE_CHARS
......
......@@ -271,19 +271,7 @@ elif test x$withval != xno; then
cpp_install_dir=$withval
fi])
# Link cpplib into the compiler proper, for C/C++/ObjC. Defaults to on.
maybe_cpplib=libcpp.a
AC_ARG_ENABLE(c-cpplib,
[ --enable-c-cpplib link cpplib directly into C and C++ compilers
(HIGHLY EXPERIMENTAL).],
[if test x$enable_c_cpplib != xyes; then
maybe_cpplib=
fi]
)
if test x$maybe_cpplib != x ; then
AC_DEFINE(USE_CPPLIB, 1,
[Define if you want the preprocessor merged into the C and C++ compilers.])
fi
AC_SUBST(maybe_cpplib)
# Enable Multibyte Characters for C/C++
......
......@@ -3214,13 +3214,9 @@ extern void unsigned_conversion_warning PARAMS ((tree, tree));
extern void c_apply_type_quals_to_decl PARAMS ((int, tree));
/* Read the rest of the current #-directive line. */
#if USE_CPPLIB
extern char *get_directive_line PARAMS ((void));
#define GET_DIRECTIVE_LINE() get_directive_line ()
#else
extern char *get_directive_line PARAMS ((FILE *));
#define GET_DIRECTIVE_LINE() get_directive_line (finput)
#endif
/* Subroutine of build_binary_op, used for comparison operations.
See if the operands have both been converted from subword integer types
and, if so, perhaps change them both back to their original type. */
......
......@@ -45,11 +45,8 @@ Boston, MA 02111-1307, USA. */
#include "dwarfout.h"
#include "ggc.h"
#include "timevar.h"
#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
#endif
/* This structure contains information about the initializations
and/or destructions required for a particular priority level. */
......@@ -566,20 +563,13 @@ compare_options (p1, p2)
int
lang_decode_option (argc, argv)
int argc
#if !USE_CPPLIB
ATTRIBUTE_UNUSED
#endif
;
int argc;
char **argv;
{
int strings_processed;
const char *p = argv[0];
#if USE_CPPLIB
strings_processed = cpp_handle_option (&parse_in, argc, argv);
#else
strings_processed = 0;
#endif /* ! USE_CPPLIB */
if (!strcmp (p, "-ftraditional") || !strcmp (p, "-traditional"))
/* ignore */;
......
......@@ -29,7 +29,6 @@ Boston, MA 02111-1307, USA. */
{".c++", "@c++"},
{".C", "@c++"},
{"@c++",
#if USE_CPPLIB
/* cc1plus has an integrated ISO C preprocessor. We should invoke
the external preprocessor if -save-temps is given. */
"%{E|M|MM:cpp0 -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
......@@ -44,16 +43,7 @@ Boston, MA 02111-1307, USA. */
%{fnew-abi:-D__GXX_ABI_VERSION=100}\
%{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
%(cc1_options) %2 %{+e*}\
%{!fsyntax-only:%(invoke_as)}}}}"
#else /* ! USE_CPPLIB */
"cpp0 -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
%{fnew-abi:-D__GXX_ABI_VERSION=100}\
%{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)\
%{!M:%{!MM:%{!E:%{!pipe:%g.ii} |\n\
cc1plus -lang-c++ %{!pipe:%g.ii} %(cc1_options) %2 %{+e*}\
%{!fsyntax-only:%(invoke_as)}}}}\n"
#endif /* ! USE_CPPLIB */
},
%{!fsyntax-only:%(invoke_as)}}}}"},
{".ii", "@c++-cpp-output"},
{"@c++-cpp-output",
"%{!M:%{!MM:%{!E:\
......
......@@ -79,13 +79,7 @@ static void init_operators PARAMS ((void));
#endif
#include "cpplib.h"
#if USE_CPPLIB
extern cpp_reader parse_in;
#else
FILE *finput;
int linemode;
#endif
/* Pending language change.
Positive is push count, negative is pop count. */
......@@ -252,10 +246,8 @@ static const char *cplus_tree_code_name[] = {
void
lang_init_options ()
{
#if USE_CPPLIB
cpp_init ();
cpp_reader_init (&parse_in, CLK_GNUC89);
#endif
/* Default exceptions on. */
flag_exceptions = 1;
......@@ -276,13 +268,6 @@ lang_init ()
if (flag_bounds_check < 0)
flag_bounds_check = flag_bounded_pointers;
#if !USE_CPPLIB
/* the beginning of the file is a new line; check for # */
/* With luck, we discover the real source file's name from that
and put it in input_filename. */
ungetc (check_newline (), finput);
#endif
if (flag_gnu_xref) GNU_xref_begin (input_filename);
init_repo (input_filename);
}
......@@ -676,21 +661,16 @@ init_reswords ()
static void
init_cp_pragma ()
{
#if USE_CPPLIB
#define pfile &parse_in
#else
#define pfile 0
#endif
cpp_register_pragma (pfile, 0, "vtable", handle_pragma_vtable);
cpp_register_pragma (pfile, 0, "unit", handle_pragma_unit);
cpp_register_pragma (&parse_in, 0, "vtable", handle_pragma_vtable);
cpp_register_pragma (&parse_in, 0, "unit", handle_pragma_unit);
cpp_register_pragma (pfile, 0, "interface", handle_pragma_interface);
cpp_register_pragma (pfile, 0, "implementation",
cpp_register_pragma (&parse_in, 0, "interface", handle_pragma_interface);
cpp_register_pragma (&parse_in, 0, "implementation",
handle_pragma_implementation);
cpp_register_pragma_space (pfile, "GCC");
cpp_register_pragma (pfile, "GCC", "interface", handle_pragma_interface);
cpp_register_pragma (pfile, "GCC", "implementation",
cpp_register_pragma_space (&parse_in, "GCC");
cpp_register_pragma (&parse_in, "GCC", "interface", handle_pragma_interface);
cpp_register_pragma (&parse_in, "GCC", "implementation",
handle_pragma_implementation);
}
......@@ -762,12 +742,8 @@ init_parse (filename)
void
finish_parse ()
{
#if USE_CPPLIB
cpp_finish (&parse_in);
errorcount += parse_in.errors;
#else
fclose (finput);
#endif
}
inline void
......@@ -1174,12 +1150,9 @@ handle_pragma_implementation (dfile)
else
{
main_filename = TREE_STRING_POINTER (fname);
#if USE_CPPLIB
if (cpp_included (&parse_in, main_filename))
warning ("#pragma implementation for %s appears after file is included",
main_filename);
#endif
}
for (; ifiles; ifiles = ifiles->next)
......
......@@ -70,10 +70,6 @@ typedef unsigned long RID_BIT_TYPE; /* assumed at least 32 bits */
used in a context which makes it a reference to a variable. */
extern tree lastiddecl;
#if !USE_CPPLIB
extern char *token_buffer; /* Pointer to token buffer. */
#endif
/* Back-door communication channel to the lexer. */
extern int looking_for_typename;
extern int looking_for_template;
......
......@@ -45,9 +45,7 @@ Boston, MA 02111-1307, USA. */
#define SPEW_INLINE inline
#endif
#if USE_CPPLIB
extern cpp_reader parse_in;
#endif
/* This takes a token stream that hasn't decided much about types and
tries to figure out as much as it can, with excessive lookahead and
......@@ -327,11 +325,9 @@ read_token (t)
#undef YYCODE
case CPP_EOF:
#if USE_CPPLIB
cpp_pop_buffer (&parse_in);
if (CPP_BUFFER (&parse_in))
goto retry;
#endif
t->yychar = 0;
break;
......@@ -1377,17 +1373,7 @@ debug_yychar (yy)
#endif
#if USE_CPPLIB
#define NAME(type) cpp_type2name (type)
#else
/* Bleah */
#include "symcat.h"
#define OP(e, s) s,
#define TK(e, s) STRINGX(e),
static const char *type2name[N_TTYPES] = { TTYPE_TABLE };
#define NAME(type) type2name[type]
#endif
void
yyerror (msgid)
......
......@@ -722,7 +722,6 @@ static struct compiler default_compilers[] =
/* Next come the entries for C. */
{".c", "@c"},
{"@c",
#if USE_CPPLIB
/* cc1 has an integrated ISO C preprocessor. We should invoke the
external preprocessor if -save-temps or -traditional is given. */
"%{E|M|MM:%(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)}\
......@@ -736,13 +735,7 @@ static struct compiler default_compilers[] =
cc1 -fpreprocessed %{!pipe:%g.i} %(cc1_options)}\
%{!traditional:%{!ftraditional:%{!traditional-cpp:\
cc1 -lang-c %{ansi:-std=c89} %(cpp_options) %(cc1_options)}}}}\
%{!fsyntax-only:%(invoke_as)}}}}"
#else /* ! USE_CPPLIB */
"%(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options) \
%{!M:%{!MM:%{!E:%{!pipe:%g.i} |\n\
cc1 %{!pipe:%g.i} %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}"
#endif /* ! USE_CPPLIB */
},
%{!fsyntax-only:%(invoke_as)}}}}"},
{"-",
"%{!E:%e-E required when input is from standard input}\
%(trad_capable_cpp) -lang-c %{ansi:-std=c89} %(cpp_options)"},
......
......@@ -36,15 +36,6 @@ DEFINE_LANG_NAME ("Java")
{ "-fuse-boehm-gc", "Generate code for Boehm GC" },
{ "-fhash-synchronization", "Don't put synchronization structure in each object" },
{ "-fjni", "Assume native functions are implemented using JNI" },
#if ! USE_CPPLIB
{ "-MD", "Print dependencies to FILE.d" },
{ "-MMD", "Print dependencies to FILE.d" },
{ "-M", "Print dependencies to stdout" },
{ "-MM", "Print dependencies to stdout" },
{ "-MA", "Print dummy rules for included files" },
{ "-MF", "Print dependencies to FILE" },
{ "-MT", "Use TARGET as name of target in dependency file" },
#endif /* ! USE_CPPLIB */
{ "--classpath", "Set class path and suppress system path" },
{ "--CLASSPATH", "Set class path" },
{ "--main", "Choose class whose main method should be used" },
......
......@@ -23,7 +23,6 @@ Boston, MA 02111-1307, USA. */
{".m", "@objective-c"},
{"@objective-c",
#if USE_CPPLIB
/* cc1obj has an integrated ISO C preprocessor. We should invoke the
external preprocessor if -save-temps or -traditional is given. */
"%{E|M|MM:%(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)}\
......@@ -37,14 +36,7 @@ Boston, MA 02111-1307, USA. */
cc1obj -fpreprocessed %{!pipe:%g.mi} -lang-objc %(cc1_options) %{gen-decls}}\
%{!traditional:%{!ftraditional:%{!traditional-cpp:\
cc1obj -lang-objc %{ansi:-std=c89} %(cpp_options) %(cc1_options) %{gen-decls}}}}}\
%{!fsyntax-only:%(invoke_as)}}}}"
#else /* ! USE_CPPLIB */
"%(trad_capable_cpp) -lang-objc %{ansi:-std=c89} %(cpp_options)\
%{!M:%{!MM:%{!E:%{!pipe:%g.mi} |\n\
cc1obj -lang-objc %{!pipe:%g.mi} %(cc1_options) %{gen-decls}\
%{!fsyntax-only:%(invoke_as)}}}}\n"
#endif /* ! USE_CPPLIB */
},
%{!fsyntax-only:%(invoke_as)}}}}"},
{".mi", "@objc-cpp-output"},
{"@objc-cpp-output",
"%{!M:%{!MM:%{!E:cc1obj -lang-objc %i %(cc1_options) %{gen-decls}\
......
......@@ -55,11 +55,8 @@ Boston, MA 02111-1307, USA. */
#include "output.h"
#include "toplev.h"
#include "ggc.h"
#if USE_CPPLIB
#include "cpplib.h"
extern cpp_reader parse_in;
#endif
/* This is the default way of generating a method name. */
/* I am not sure it is really correct.
......@@ -698,21 +695,13 @@ generate_struct_by_value_array ()
void
lang_init_options ()
{
#if USE_CPPLIB
cpp_init ();
cpp_reader_init (&parse_in, CLK_GNUC89);
#endif
}
void
lang_init ()
{
#if !USE_CPPLIB
/* The beginning of the file is a new line; check for #.
With luck, we discover the real source file's name from that
and put it in input_filename. */
ungetc (check_newline (), finput);
#endif
/* Force the line number back to 0; check_newline will have
raised it to 1, which will make the builtin functions appear
not to be built in. */
......
......@@ -3781,10 +3781,6 @@ display_help ()
unsigned long i;
const char *lang;
#ifndef USE_CPPLIB
printf (_("Usage: %s input [switches]\n"), progname);
printf (_("Switches:\n"));
#endif
printf (_(" -ffixed-<register> Mark <register> as being unavailable to the compiler\n"));
printf (_(" -fcall-used-<register> Mark <register> as being corrupted by function calls\n"));
printf (_(" -fcall-saved-<register> Mark <register> as being preserved across functions\n"));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment