* builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and
BUILT_IN_STRRCHR.
* builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
* c-common.c (c_common_nodes_and_builtins): Declare index and
rindex when nonansi builtins are allowed.
* extend.texi (index, rindex): Document new builtins.
testsuite:
* gcc.c-torture/execute/string-opt-3.c: Also test builtin rindex.
* gcc.c-torture/execute/string-opt-4.c: Also test builtin index.
From-SVN: r37416
* cppexp.c: Don't worry about pfile->skipping.
* cpplib.c (struct if_stack): Make was_skipping unsigned char.
(cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
for handled directives.
(skip_rest_of_line): Use _cpp_lex_token after popping contexts
and releasing lookaheads.
(do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
(do_else, do_elif, push_conditional): Update logic.
(do_endif): Set buffer->was_skipping rather than pfile->skipping.
(unwind_if_stack): Inline into cpp_pop_buffer.
(cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
* cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle
multiple-include optimisation.
* cpplib.h (struct cpp_buffer): New member was_skipping.
* cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This
works because skipping == 0 in directives.
(_cpp_release_lookahead): Renamed from release_lookahead.
(cpp_get_token): No need to check skipping as _cpp_get_token does
this for us. No need to handle MI optimisation.
From-SVN: r37404
* fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
declarations that use `__MATH_EXCEPTION' in their prototypes, too.
* fixinc/fixincl.x: Regenerated.
From-SVN: r37402
* function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
give the parm a register and then call put_var_into_stack.
* stmt.c (expand_decl): Likewise.
cp/
* typeck.c (mark_addressable): Don't call put_var_into_stack.
From-SVN: r37396
* gcc.texi, invoke.texi: Add new section discussing language
standards; link to it where appropriate; refer to ISO C instead of
ANSI C.
From-SVN: r37383
2000-11-10 Phil Edwards <pme@sources.redhat.com>
* include/bits/codecvt.h (__iconv_adaptor): New adaptor function,
courtesy of Alexandre Oliva, to handle const/non-const signatures.
(codecvt::do_out): Use.
(codecvt::do_in): And here.
From-SVN: r37379
2000-11-10 Toon Moene <toon@moene.indiv.nluug.nl>
* root.texi: Remove non-historical EGCS reference.
Set current g77 version to 0.5.26.
From-SVN: r37377
* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
flex and bison, specifically, first in a unified build and
then installed on the system.
* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
match.
(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
cppdefault.o): Remove pointless sed munging of source file
name.
f:
* Make-lang.in (f/fini.o, f/proj-h.o): Remove pointless sed
munging of source file name.
($(srcdir)/f/intdoc.texi): Break up into several rules each of
which builds just one thing. Don't mess with $(LANGUAGES).
(f/ansify.o, f/intdoc.o): Remove unnecessary rules.
From-SVN: r37371