2000-12-01 Jim Blandy <jimb@redhat.com>
* dbxout.c (dbxout_parms): Correctly describe parameters passed by
invisible reference in registers, but then spilled to the stack.
Remove code to emit a second stab for such parameters; it attempts
to describe the value's location by introducing a synthetic C++
`reference' type, and then saying the stack slot has that
reference type. This loses type information (breaking GDB's
`ptype' command, among other things) just to describe a location
which stabs can represent correctly in other ways.
From-SVN: r37936
* cppinit.c (initialize): Forgotten prototype.
* cpplex.c (_cpp_lex_token): Loop until not skipping.
Always clear PREV_WHITE upon meeting a new line.
* cpplib.c (end_directive): Set pfile->skipping after
skip_rest_of_line.
* cpplib.h (cpp_reader): Remove macro_pos.
* cppmacro.c (cpp_get_line): Don't do anything special inside
macros.
(parse_arg): Add PREV_WHITE if a token appears after new lines.
(funlike_invocation_p): Save and restore the output position
over a successful check for a '('.
(enter_macro_context): Delete uses of macro_pos.
(cpp_get_token): Don't use pfile->skipping.
From-SVN: r37927
* c-decl.c (grokdeclarator): If pedantic, warn about arrays with
incomplete element type.
(grokparms): Before checking for incomplete parameter type, check
the type isn't error_mark_node.
testsuite:
* gcc.dg/c99-array-nonobj-1.c: No longer XFAIL.
From-SVN: r37920
* builtins.c (target_char_cast): New function.
(expand_builtin_strchr): Use it.
(expand_builtin_strrchr): Use it.
(builtin_memset_read_str): New function.
(expand_builtin_memset): Use target_char_cast.
Try to optimize memset with second argument non-zero using
store_by_pieces.
* gcc.c-torture/execute/string-opt-5.c: Add some memset tests.
From-SVN: r37918
* install.texi (avr): Replace incomplete list of supported MCU
types with a link to the current one ...
* invoke.texi (AVR Options): ... here. Update -mmcu= to list
all supported MCU types. Document -minit-stack= default.
Document new options -mno-tablejump, -mtiny-stack.
* md.texi (AVR family): Fix typo in 'w' constraint letter
description. Document 'q'. Update 'O'.
From-SVN: r37917
cp:
* call.c (standard_conversion): Reject pointer to member
conversions from ambiguous, inaccessible or virtual bases.
* typeck.c (build_static_cast): Don't check pointers to members
specially.
testsuite:
* g++.old-deja/g++.other/cast6.C: New test.
From-SVN: r37914
* src/cmath.cc: Remove.
* src/Makefile.am (c_base_headers): Add bits/cmath.tcc.
(sources): Remove cmath.cc
* src/Makefile.in: Regenerate.
* include/c/bits/std_cmath.h (__cmath_power<>): Declare.
(__cmath_abs<>): New function.
(abs, fabs): Use __cmath_abs when no direct support is available.
(__pow_helper<>): New function.
(pow): Define here. Use __pow_helper<>.
* include/c/bits/cmath.tcc: New file.
From-SVN: r37901
* flow.c (make_edge): Early out, if no flags to set.
(calculate_global_regs_live): Clear out garbage only when necessary.
* simplify-rtx.c (varray_type used_regs): New.
(clear_table): Use it to only clear necessary items.
(cselib_lookup, cselib_record_set): Remember newly set items.
(cselib_update_varray_sizes, cselib_init): Initialize and grow
used_regs.
* local-alloc.c (update_equiv_regs): New local `cleared_regs'.
Move clearing of dead regs out of insn-loop.
From-SVN: r37899
cp:
* method.c (do_build_assign_ref): Construct appropriately
CV-qualified base reference. Don't allow const casts in base
conversion.
testsuite:
* g++.old-deja/g++.other/op2.C: New test.
From-SVN: r37893
cp:
* call.c (build_over_call): Use VOID_TYPE_P. Don't die on
incomplete return type.
testsuite:
* g++.old-deja/g++.other/crash38.C: New test.
From-SVN: r37872
* configure.in: Reorganize handling of *-*-gnu*, to share target
specific make details with Linux. Update comments to clarify
the distinction between GNU/Linux and GNU/Hurd.
* config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from
config/t-linux for the Hurd.
From-SVN: r37870