* cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
* cpplex.c (unterminated): Delete.
(parse_string): No string literal may extend over multiple
lines. Suppress the error when preprocessing assembly.
* cppmain.c (scan_translation_unit): Strings are single-line.
* doc/cpp.texi: Update to match.
* testsuite/gcc.dg/cpp/multiline.c: Update to match.
From-SVN: r51195
PR optimization/5854
* config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
Shut up warnings.
(CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
(EXTRA_CONSTRAINT): Use S for non-push memory operand.
* config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
const0 if scratch register was not allocated.
(m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
with GEN_INT (...).
(m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
* config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
with GEN_INT (...) everywhere. Remove constraints in define_split
patterns.
(movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
require scratch register for setting 0 into regs/non-pushable memory.
From-SVN: r51194
* typeck.c (expand_ptrmemfunc_cst): Scale idx down to an index
into the vtable_entry array regardless of
TARGET_PTRMEMFUNC_VBIT_LOCATION.
From-SVN: r51192
2002-03-22 Phil Edwards <pme@gcc.gnu.org>
* cpplib.h (struct cpp_options): New member, warn_endif_labels.
* cppinit.c (cpp_create_reader): On by default.
(cpp_handle_option): Handle -W[no-]endif-labels.
(cpp_post_options): Also enable if -pedantic.
* cpplib.c (do_else): Use it.
(do_endif): Likewise.
* doc/cppopts.texi: Document new option.
* doc/invoke.texi: Document new option.
From-SVN: r51190
* config/v850/v850.c (v850_reorg): Only call alter_subreg on
REG or MEM subregs, pass rtx * instead of rtx to it.
* config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
rtx * instead of rtx to alter_subreg.
* config/m32r/m32r.c (gen_split_move_double): Likewise.
* config/pj/pj.c (pj_output_rval): Likewise.
From-SVN: r51182
PR target/3177
* config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
* config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
(ia64_expand_prologue): Look at int_regs, not words, for number
of incomming int regs.
From-SVN: r51180
* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
* config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
(function_arg): Constify CUMULATIVE_ARGS.
(function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
* config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
(UNITS_PER_DOUBLE): New macro.
(SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
(CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
fp_regs and stack_words.
(EABI_FLOAT_VARARGS_P): New macro.
* config/mips/mips.c (struct mips_arg_info): New.
(mips_arg_info): New function.
(function_arg_advance): Use it. Add adjustment instructions here
rather than in function_arg.
(function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
for VOIDmode at the beginning of the function.
(function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
(function_arg_pass_by_reference): Likewise.
(mips_setup_incoming_varags): New, largely based on old abi64.h code.
(mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
(mips_va_start): Likewise. Use the new stack_words field of
CUMULATIVE_ARGS to set up overflow area. Reformat.
(mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
doubles and other types, aligning the overflow pointer for non-doubles
too. Remove some code duplication. Replace hard-coded constants.
From-SVN: r51167
* cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
prototype, and handle lexing numbers and identifiers.
(parse_identifier): Update to new form of parse_slow.
(parse_number): Fast path only, use parse_slow otherwise.
(_cpp_lex_direct): Update calls to parse_number.
From-SVN: r51161
* include/private/gcconfig.h: Add unified test for FreeBSD.
Support FreeBSD/alpha.
* os_dep.c: Do not include <machine/trap.h> unless available.
(GC_freebsd_stack_base): Fix types.
From-SVN: r51159
* mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
* mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
* Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
From-SVN: r51153
* config/rs6000/t-linux64: New.
* config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
t-ppccomm. Use t-rs6000 and t-linux64.
(powerpc64-*-gnu* <tmake_file>): Likewise.
From-SVN: r51150
PR c/5354
* c-common.c (c_expand_expr): Preserve result of a statement
expression if needed.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r51121