2000-11-12 Brent Verner <brent@rcfile.org>
* include/c_std/bits/wrap_langinfo.h: New file.
* include/c_std/langinfo.h: New file.
* include/bits/codecvt.h (__enc_trants::__enc_traits()): Bring in
CODESET from _C_legacy::CODESET if using shadow headers.
From-SVN: r37436
* c-parse.in (stmts_and_decls): Deprecate use of label at end of
compound statement.
testsuite:
* gcc.dg/wtr-label-1.c, gcc.dg/990214-1.c: Add semicolons after
labels at end of compound statements.
From-SVN: r37435
* cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
cases return without MI check.
* cpplib.c (do_diagnostic): Take boolean of whether to
print the directive name.
(do_error, do_warning): Update.
(do_pragma_dependency): Use it.
* cpplib.h (VARARGS_FIRST): Delete.
(struct cpp_token): Delete integer.
* cppmacro.c (enter_macro_context): Move disabled check
to _cpp_get_token.
(_cpp_get_token): Simplify into a single loop.
From-SVN: r37434
* arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
Rewrite to avoid use of match_dup. Don't try to tie registers that
are not in the same mode.
From-SVN: r37425
* configure: Provide the original toplevel configure arguments
(including $0) to subprocesses in the environment rather than
through gcc/configargs.h.
gcc:
* configure.in: Take toplevel configure arguments from the
environment to create configargs.h and substitute
gcc_config_arguments, taking account of any existing configargs.h
if reconfiguring.
* configure: Regenerate.
* gccbug.in: Include toplevel configure arguments in gccbug.
From-SVN: r37423
* c-parse.in (initelt): Give appropriate pedantic warnings,
depending on flag_isoc99, for non-ISO syntax and for C99 syntax
outside C99 mode.
(designator): If pedantic, pedwarn for a designator specifying a
range of elements.
* c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
these cases.
* extend.texi: Document the C99 syntax as the preferred syntax,
and the pre-2.5 syntax as obsolete. Mention use of designator
lists for nested subobjects.
From-SVN: r37421
* 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