* cpphash.h (struct tokenrun): New.
(struct cpp_context): New member bol.
(struct cpp_reader): New members.
(_cpp_init_tokenrun): New.
* cppinit.c (cpp_create_reader): Set up the token runs.
* cpplex.c (lex_directive, lex_token, next_tokenrun): New.
(lex_token): New internalised version of _cpp_lex_token. Don't
handle directives or the multiple include opimisation here any
more. Simply lex a token.
* cpplib.c (run_directive): Clear bol.
(_cpp_pop_buffer): Set bol.
* cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
arguments.
From-SVN: r45534
2001-09-10 Benjamin Kosnik <bkoz@redhat.com>
* configure.in: Fix cross compiling math routines. Correct
comments for cross compiling and limits. Add floating point math
routines found in newlib.
* configure: Regenerate.
* acconfig.h: Add macros.
* config.h.in: Regenerate.
From-SVN: r45530
* cpplex.c (parse_identifier): Fast-path optimize. Avoid
copying identifier when we're just going to throw it away.
(parse_identifier_slow): New routine to handle abnormal cases.
(_cpp_lex_token): Update call site.
* hashtable.c (ht_lookup): Don't assume that the string we've
been given is NUL-terminated.
* system.h: #define __builtin_expect(a, b) to (a) if not
GCC >=3.0.
From-SVN: r45529
* lib/profopt.exp: New, to support profile-directed optimizations.
* gcc.misc-tests/bprob.exp: New, to support branch profiling in C.
* gcc.misc-tests/bprob-1.c: New test.
* gcc.misc-tests/bprob-2.c: New test.
From-SVN: r45524
* dwarf2out.c (incomplete_types, decl_scope_table): Make them
into varray's and register them as roots with the garbage
collector so they are not collected too soon.
From-SVN: r45513
* alias.c (clear_reg_alias_info): Use K&R format definition.
Avoid unsigned warning.
* builtins.c: Use "unsigned int", not "unsigned".
(target_char_cast): Use host_integerp and tree_low_cst.
(expand_builtin_args_info, expand_builtin_frame_address): Likewise.
(c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
(c_getstr): Likewise.
(std_expand_builtin_va_arg): Use int_size_in_bytes.
(builtin_memcpy_read_str): Avoid unsigned warning.
(expand_builtin_memcpy): Alignments are unsigned.
(expand_builtin_strncpy, expand_builtin_memset): Likewise.
(expand_builtin_expect_jump): Use integer_zerop and integer_onep.
* predict.c (expensive_function_p): LIMIT now unsigned.
* resource.c (mark_target_live_regs): Make some vars unsigned.
* sdbout.c: Use "unsigned int", not "unsigned".
(MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
(sdbout_source_line): Likewise.
(sdbout_record_type_name): Remove "const" for NAME declaration.
* config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
From-SVN: r45503
2001-09-09 Benjamin Kosnik <bkoz@redhat.com>
Implement std::money_put.
* include/bits/locale_facets.h
(moneypunct::_M_initialize_moneypunct): Split up specializations
to account for _Intl. More grody hacking to get around the
ill-considered use of const bool as a template parameter.
* config/locale/moneypunct_members_gnu.cc: And here.
* config/locale/moneypunct_members_generic.cc: And here.
* testsuite/22_locale/moneypunct_members_char.cc: Add tests.
* testsuite/22_locale/moneypunct.cc: Add tests.
* testsuite/22_locale/money_put_members_wchar_t.cc: New file.
* testsuite/22_locale/moneypunct_members_wchar_t.cc: New file.
* src/locale.cc (money_base::_S_construct_pattern): Move into
gnu-specific file.
* config/locale/moneypunct_members_gnu.cc: Add here.
* config/locale/moneypunct_members_generic.cc: Add generic version
here.
* include/bits/locale_facets.tcc (money_put::do_put): Move member
function definitions here.
* include/bits/locale_facets.h (money_put): Implement.
* src/locale-inst.cc: Add use_facet instantiations for moneypunct.
Correct money_get, money_put instantiations.
* src/locale.cc (money_base::_S_construct_pattern): Handle case
where __posn == 0.
* testsuite/22_locale/money_put_members_char.cc: Add tests.
From-SVN: r45496
* real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
available.
(UEMUSHORT): New. Use instead of unsigned EMUSHORT.
(m16m,edivm,emulm): Change declaration to match definition.
From-SVN: r45481
* reload.c (push_reload): Check for subreg_lowpart_p instead of
SUBREG_BYTE being 0 when determining if the inner part of a subreg
can be reloaded.
From-SVN: r45480
* c-common.c (signed_or_unsigned_type): Handle machine mode types
which have no corresponding C type.
* fold_const.c (target_isinf,target_isnan,target_negative): Update
the representation of 64-bit doubles to work with 64-bit ints.
From-SVN: r45479
2001-09-05 Alexandre Petit-Bianco <apbianco@redhat.com>
* jcf-write.c (generate_classfile): Issue an error in case of
field/initial value mismatch.
* parse.y (analyze_clinit_body): Keep <clinit> if an array is
being initialized and we're generating bytecode.
(java_complete_lhs): In MODIFY_EXPR section: added comments,
set DECL_INITIAL properly when appropriate.
Fixes PR java/4230
Fixes PR java/4204
(http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00247.html )
From-SVN: r45474