* gcc.c (process_command): New local lang_n_files, and use
it in test of -c with -o. Move test of -save-temps.
Test for trailing NUL in -c.
From-SVN: r11038
* cppexp.c (cpp_lex): Do cpp_pop_buffer after CPP_POP so retried
cpp_skip_hspace will actually work.
* cppexp.c (SKIP_OPERAND): New macro.
(cpp_parse_expr): Suppress evaluation and diagnostics in
unevaluated subexpressions.
From-SVN: r11034
* expr.c (expand_expr, case COND_EXPR): Make sure cleanups live on
the function_obstack as they are used by the exception handling code.
(defer_cleanups_to): Ditto.
(TRUTH_ANDIF_EXPR): Ditto.
(TRUTH_ORIF_EXPR): Ditto.
Fixes eh43.C
From-SVN: r11033
(parse_escape, parse_c_expression, eval_if_expression):
Change return type to `long'; all callers changed.
(pcfinclude): Use `int', not HOST_WIDE_INT; any integral type will do.
From-SVN: r11025
Add prototypes for static functions.
Add parentheses suggested by `gcc -Wparentheses'.
Use `long' uniformly, instead of long, int, HOST_WIDE_INT mess.
(struct constant): Use `signedp' flag (with sign bit) instead of
`unsignedp' flag; it's a little more convenient.
(HAVE_STDLIB_H, STDC_HEADERS, LONG_MASK, __attribute__, PROTO,
VA_START, PRINTF_ALIST, PRINTF_DCL, PRINTF_PROTO, PRINTF_PROTO_1,
vfprintf, SIGNED, UNSIGNED): New symbols.
<stdlib.h>: Include if HAVE_STDLIB_H.
<string.h>: New include.
(HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
(yylex, yyerror, expression_value, parse_number,
initialize_random_junk): Now static.
(overflow_sum_sign): Renamed from possible_sum_sign, with an
extra arg SIGNEDP.
(parse_number): Inline strcmp when checking for "0x".
(yylex): Keep track of mask needed when decoding wide characters.
(parse_escape): New arg RESULT_MASK; use it instead of
assuming char width.
(yylex, parse_escape, parse_c_expression): Store all host
integers as long, not int or HOST_WIDE_INT.
(left_shift): No need to do signed left shifts separately.
These changes are for the test program (if TEST_EXP_READER):
(pedantic, traditional): Allocate storage.
(main): Set pedantic, traditional, yydebug depending on args.
(is_hor_space, warning, lookup): Change types and implementation
to match rest of program.
(pedwarn, check_assertion, xmalloc): New functions.
From-SVN: r11024
* c-lex.c (check_newline): Pass character after `#pragma' to
HANDLE_PRAGMA. Don't call get_directive_line if at end of line.
* c-common.c (get_directive_line): Watch for EOF.
* h8300/h8300.h (HANDLE_PRAGMA): New argument `c'.
Must issue `return' now.
* i960/i960.h (HANDLE_PRAGMA): Likewise.
* sh/sh.h (HANDLE_PRAGMA): Likewise.
* nextstep.h (HANDLE_PRAGMA): Likewise.
* h8300/h8300.c (handle_pragma): New argument `ch'.
Simplify pragma processing. Delete support for `#pragma section'.
* i960/i960.c (process_pragma): New argument `c'. Change result to
terminating character.
* nextstep.c (handle_pragma): Likewise.
* sh/sh.c (handle_pragma): Likewise. Also simplified.
From-SVN: r10999