1. 28 Oct, 2000 15 commits
    • regrename.c (regrename_optimize): Verify that all registers of a multiple… · 85941a0a
      regrename.c (regrename_optimize): Verify that all registers of a multiple register mode are available.
      
              * regrename.c (regrename_optimize): Verify that all registers of
              a multiple register mode are available.
              (scan_rtx_address): Accept the mode of the address; all callers
              changed.
      
      From-SVN: r37109
      Richard Henderson committed
    • * cpplib.c (run_directive): Fix prototype. · 7b03adc6
      From-SVN: r37108
      Richard Henderson committed
    • pt.c (instantiate_decl): Always instantiate static data members initialized in-class. · 930cd796
      	* pt.c (instantiate_decl): Always instantiate static data members
      	initialized in-class.
      
      From-SVN: r37107
      Mark Mitchell committed
    • string-inst.cc (basic_string<C>::npos): Explicitly instantiate it. · cea1f697
      	* src/string-inst.cc (basic_string<C>::npos): Explicitly
      	instantiate it.
      
      From-SVN: r37106
      Mark Mitchell committed
    • Use dynamic branch prediction hint in more cases. · 55d8cb78
      From-SVN: r37105
      Bernd Schmidt committed
    • Better RTX_COSTS for ia64. · 005f39ce
      From-SVN: r37104
      Bernd Schmidt committed
    • Never set reload_override_in for optional reloads. · 4c3a2649
      From-SVN: r37103
      Bernd Schmidt committed
    • Fix computation of goal_alternative_matched · 69add2a8
      From-SVN: r37102
      Bernd Schmidt committed
    • *** empty log message *** · 66cb3475
      From-SVN: r37101
      Neil Booth committed
    • *** empty log message *** · e7f7ca12
      From-SVN: r37100
      Neil Booth committed
    • 19960224-2.c, [...]: Update tests for new diagnostic messages. · 74f215d7
      	* gcc.dg/cpp/19960224-2.c, 20000625-2.c, cxxcom2.c, directiv.c,
      	endif.c, if-4.c, if-5.c, if-mop.c, macsyntx.c, paste2.c, paste6.c,
      	paste8.c, redef2.c, strify2.c, strp1.c, tr-warn1.c, tr-warn3.c,
      	tr-warn6.c, undef1.c, undef2.c, widestr1.c: Update tests for
      	new diagnostic messages.
      
      	* gcc.dg/cpp/macro3.c: New tests.
      
      From-SVN: r37099
      Neil Booth committed
    • New macro expander. · 93c80368
      2000-10-28  Neil Booth  <neilb@earthling.net>
      
      	New macro expander.
      
      	* cpplib.c (struct answer): New.
      	(struct if_stack): Use cpp_lexer_pos rather than line and col.
      	Rename cmacro mi_cmacro.
      	(struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
      	IN_I): New directive and flags.
      	(skip_rest_of_line, check_eol, run_directive, glue_header_name,
      	parse_answer, parse_assertion, find_answer): New functions.
      	(parse_ifdef, detect_if_not_defined, validate_else): Remove.
      	(lex_macro_node): New function to replace parse_ifdef and
      	get_define_node.
      
      	(_cpp_handle_directive): New function, combines _cpp_check_directive
      	and _cpp_check_linemarker.
      
      	(do_define, do_undef, parse_include, do_include, do_import,
      	do_include_next, read_line_number, do_line, do_ident, do_pragma,
      	do_pragma_once, do_pragma_poison, do_pragma_dependency):
      	Update for new token getting interface.
      
      	(do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
      	: Update for new multiple-include optimisation technique.
      	(do_elif): Don't forget to invalidate controlling macros.
      
      	(unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
      	(parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
      	Functions to handle assertions with the new token interface.
      	(do_assert, do_unassert): Use them.
      
      	(cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
      	Use run_directive.
      
      	(_cpp_init_stacks): Register directive names.  Don't register special
      	nodes.
      
      	* cpperror.c (print_containing_files, _cpp_begin_message): Update to
      	new position recording regime.
      	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
      	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
      	cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
      	(cpp_type2name): Move to cpplex.c.
      
      	* cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
      	(parse_defined): Update to handle new multiple include optimisation
      	method.  Remove poisoned identifier warning.
      	(parse_assertion, TYPE_NAME): Delete.
      	(lex): Update for multiple include optimisation, removal of
      	CPP_DEFINED, to use _cpp_test_assertion for assertions and
      	cpp_token_as_text.
      	(_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
      	(op_as_text): New function, to wrap cpp_token_as_text.
      
      	* cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
      	Update for MI optimisation.
      	(_cpp_execute_include): Take a token rather than 3 arguments.  Fix
      	segfault on diagnostic.
      	(_cpp_compare_file_date): Take a token rather than 3 args.
      	(cpp_read_file): Work correctly for zero-length files.
      
      	* cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
      	_cpp_init_hashtable and _cpp_cleanup_hashtable.
      	(cpp_lookup): Place identifiers at front of identifier pool
      	for _cpp_lookup_with_hash.
      	(_cpp_lookup_with_hash): Require identifiers to be at the front of
      	the identifier pool.  Commit the memory if not already in the
      	hash table.
      
      	* cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
      	Initialise various members of cpp_reader, memory pools, and the
      	special nodes.
      	(cpp_printer_init): Delete.
      	(cpp_cleanup): Update.
      	(struct builtin, builtin_array, initialize_builtins): Update for new
      	hashnode definition and builtin handling.
      	(cpp_start_read, cpp_finish): Don't take or initialise a
      	printer.  Update.
      
      	* cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
      	PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
      	T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
      	T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
      	(struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
      	struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
      	NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
      	struct toklist, struct cpp_context, struct specnodes,
      	TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
      	NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
      	enum builtin_type, cpp_can_paste): New.
      	(struct cpp_token): Delete line and col members.
      	(struct cpp_buffer): New member output_lineno.
      	(struct lexer_state): Delete indented, in_lex_line, seen_dot.
      	Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
      	(struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
      	ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
      	base_context, context, directive, mi_state, mi_if_not_defined,
      	mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
      	mlstring_pos, macro_buffer, macro_buffer_len.
      	Delete members mls_line, mls_column, token_list, potential_control_macro,
      	temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
      	context_cap, cur_context, no_expand_level, paste_level, contexts, args,
      	save_parameter_spellings, need_newline, .
      	Change type of date, time and spec_nodes members.
      	Change prototypes for include and ident callbacks.
      	(struct cpp_hashnode): Change type of name.  Remove union members
      	expansion and code.  Add members macro, operator and builtin.
      
      	(cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
      	cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
      	cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
      	cpp_stop_lookahead): New prototypes.
      	(cpp_printer_init, cpp_dump_definition): Delete prototypes.
      
      	(U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
      	Move from cpphash.h.
      
      	* cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
      	ufputs): Move to cpplib.h.
      	(enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
      	TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
      	COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
      	struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
      	_cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
      	_cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
      	_cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
      	_cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
      	_cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
      	_cpp_parse_assertion, _cpp_find_answer): Delete.
      	(VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
      	POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
      	_cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
      	_cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
      	_cpp_handle_directive, DSC): New.
      	(struct include_file): New member defined.
      
      	(DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
      	_cpp_compare_file_date): Update.
      	(_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
      	(_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
      	_cpp_cleanup_hashtable.
      
      	* Makefile.in: Remove cppoutput.c.
      
      	* cppoutput.c: Delete
      
      	* fixheader.c (read_scan_file): Update for new cpp_get_token
      	prototype.
      	(recognized_function): New argument LINE.
      
      	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
      	new cpp_get_token prototype.
      
      	* scan.h (recognized_function): Update prototype.
      
      	* po/POTFILES.in: Remove cppoutput.c.
      
      From-SVN: r37098
      Neil Booth committed
    • Daily bump. · de48b52d
      From-SVN: r37097
      Jeff Law committed
    • c-typeck.c (check_init_type_bitfields): Remove. · 229a2e65
      	* c-typeck.c (check_init_type_bitfields): Remove.
      	(constructor_incremental): Likewise.
      	(struct constructor_stack): Remove incremental bit.
      	(struct initializer_stack): Likewise.
      	(start_init): Don't play with constructor_incremental.
      	(finish_init): Likewise.
      	(really_start_incremental_init): Likewise.
      	(push_init_level): Likewise.
      	(pop_init_level): Likewise.
      	(output_init_level): Likewise.
      	(output_pending_init_elements): Likewise.
      
      From-SVN: r37096
      Mark Mitchell committed
    • c-pragma.c (handle_pragma_pack): Initialize align to -1. · 63eb1269
      2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>
      
      	* c-pragma.c (handle_pragma_pack): Initialize align to -1.
      	Improve error messages.  Correct parsing of
      	#pragma pack(pop [,id]).  Do not check the user-supplied
      	alignment if we're popping.
      
      	* gcc.dg/pack-test-1.c: New test case.
      	* gcc.dg/pack-test-2.c: New test case.
      	* gcc.dg/pack-test-1.h: New file.
      
      From-SVN: r37095
      Mike Coleman committed
  2. 27 Oct, 2000 15 commits
    • * cpp.texi: Update. · ae2eceaa
      From-SVN: r37094
      Neil Booth committed
    • * invoke.texi: Document -mintel-syntax · 04e149ab
      From-SVN: r37093
      Kelley Cook committed
    • invoke.texi: Document -frename-registers. · 2b2a8f1f
              * invoke.texi: Document -frename-registers.  Add it to -O3.
              * toplev.c (rest_of_compilation): Run regrename before ifcvt2.
              (enum dump_file_index, dump_file): Update order.
              (main): Set flag_rename_registers at -O3.
      
      From-SVN: r37092
      Richard Henderson committed
    • alpha.h (enum reg_class): Add PV_REG. · 93c89ab3
              * config/alpha/alpha.h (enum reg_class): Add PV_REG.
              (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
              (REG_CLASS_FROM_LETTER): Assign it to 'c'.
              * config/alpha/alpha.md (call_osf_1): Use it.
              (call_value_osf_1): Likewise.
      
      From-SVN: r37091
      Richard Henderson committed
    • ia64.c: Revert 10-23 patch. · 10c9f189
              * config/ia64/ia64.c: Revert 10-23 patch.
              (ia64_hard_regno_rename_ok): New.
              * config/ia64/ia64-protos.h: Declare it.
              * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
      
      From-SVN: r37090
      Richard Henderson committed
    • regrename.c: Rewrite to handle multi-register modes and cond_exec instructions. · 541f7d56
              * regrename.c: Rewrite to handle multi-register modes and
              cond_exec instructions.
              * Makefile.in (regrename.o): Update dependancies.
              * recog.h (struct operand_alternative): Add is_address.
              * recog.c (preprocess_constraints) [case 'p']: Set it.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r37089
      Bernd Schmidt committed
    • configure.in: If not NO_MINUS_C_MINUS_O, substitute OUTPUT_OPTION with '-o $@'. · b8dad04b
      	* configure.in: If not NO_MINUS_C_MINUS_O, substitute
      	OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
      	top level.  Kill oldstyle_subdirs.  Do not include
      	$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
      	$outputs.  Do not run configure.lang from config.status.
      	Rearrange warning-flag logic to correspond to what the
      	makefile wants.  Put special vax stage1 options in
      	@stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
      	with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
      	(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
      	switch is given, nothing otherwise.
      	* configure.lang: Delete.
      
              * Makefile.in: Expunge all traces of extra_c_objs,
              extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
              @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
              warning options via a three level scheme so that -pedantic and
              -Wtraditional are not used for non-C front ends: LOOSE_WARN,
              STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
              WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
      	Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
      	Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
              LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
              generation rules.  Wrap all rules that change the current
              directory in parentheses; pmake doesn't spawn a new shell for
              each command.  Expunge all references to $(P).  When one
              command depends on another and they're run all at once, use &&
              to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
              deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
              and beyond.
      
      	* cp/Make-lang.in, f/Make-lang.in, java/Make-lang.in,
      	objc/Make-lang.in: Wrap all rules that change the current
      	directory in parentheses.  Expunge all references to $(P).
      	When one command depends on another and they're run all at
      	once, use && to separate them, not ;.  Add OUTPUT_OPTION to
      	all object-file generation rules.  Delete obsolete variables.
      	Move all build rules here from the corresponding Makefile.in and
      	adapt to the new environment.
      
      	* cp/Makefile.in, f/Makefile.in, java/Makefile.in, objc/Makefile.in:
      	Delete.
      
      	* cp/config-lang.in, f/config-lang.in, java/config-lang.in:
      	Delete outputs= line.
      
      From-SVN: r37088
      Zack Weinberg committed
    • calls.c (expand_call): If sibcall_failure is set during pass 1, clear tail_call_insns as well. · fadb729c
      	* calls.c (expand_call): If sibcall_failure is set during pass 1,
      	clear tail_call_insns as well.
      
      	* g++.old-deja/g++.other/eh2.C: New test.
      
      From-SVN: r37087
      Jakub Jelinek committed
    • Add prototype to prevent compile time warning · 254bb256
      From-SVN: r37086
      Nick Clifton committed
    • New testcase. · ef3809cb
      From-SVN: r37084
      Bernd Schmidt committed
    • [multiple changes] · e7140677
      
      2000-10-26  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/c/bits/std_cmath.h: Fix double declarations in namespace std.
      
      	Clean up naming, consistency in "C" library autoconf testing.
      	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): For consistency, change to
      	GLIBCPP_CHECK_CTYPE_SUPPORT.
      	(GLIBCPP_CHECK_STDLIB_SUPPORT): Add.
      	* aclocal.m4: Regenerate.
      	* configure.in: And here.
      	Add call to GLIBCPP_CHECK_STDLIB_SUPPORT.
      	* configure: Regenerate.
      
      2000-10-26  David Edelsohn  <edelsohn@gnu.org>
      
      	* acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2): New macro.
      	(GLIBCPP_CHECK_MATH_SUPPORT): Use it to test for strtold.
      
      From-SVN: r37083
      Benjamin Kosnik committed
    • acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Comment out --gc-sections stuff… · 5bd17d39
      acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Comment out --gc-sections stuff entirely to avoid misleading people.
      
      
      2000-10-26  Phil Edwards  <pme@sources.redhat.com>
      	    David Edelsohn  <dje@watson.ibm.com>
      
      	* acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Comment out
      	--gc-sections stuff entirely to avoid misleading people.
              (GLIBCPP_ENABLE_CSTDIO): Merge need_libio and need_xtra_libio.
              * libio/Makefile.am (LIBIO_SRCS,LIBIO_WSRCS,LIBIO_XTRA_SRCS):
      	Rearrange and merge.
              * libio/libio.h: Simplify, make fewer assumptions.  Define those
      	macros which must be defined.
              * config/os/solaris/solaris2.7/bits/os_defines.h: Simplify as a
      	result.
      
      From-SVN: r37082
      Phil Edwards committed
    • natGregorianCalendar.cc (computeFields): Set the isSet__ array elements to true. · 128e977c
      	* java/util/natGregorianCalendar.cc (computeFields): Set the isSet__
      	array elements to true.
      
      From-SVN: r37081
      Warren Levy committed
    • Makefile.am: Added locale files from Classpath. · df98a50b
      	* Makefile.am: Added locale files from Classpath.
      	* Makefile.in: Rebuilt.
      	* gnu/java/locale/Calendar.java: New file.
      	* gnu/java/locale/Calendar_de.java: New file.
      	* gnu/java/locale/Calendar_en.java: New file.
      	* gnu/java/locale/Calendar_nl.java: New file.
      	* java/lang/ClassNotFoundException.java: Replaced with Classpath file.
      	* java/math/BigDecimal.java (intVal): Renamed from 'num' for
      	serialization compatibility.
      	(scale): Made private.
      	(serialVersionUID): New field.
      	* java/math/BigInteger.java (ival): Made transient.
      	(words): Made transient.
      	(bitCount): New serialization field.
      	(bitLength): Ditto.
      	(firstNonzeroByteNum): Ditto.
      	(lowestSetBit): Ditto.
      	(magnitude): Ditto.
      	(signum): Ditto.
      	(serialVersionUID): New field.
      	(readObject): New method.
      	(writeObject): New method.
      	* java/util/BitSet.java (serialVersionUID): New field.
      	* java/util/Calendar.java: Replaced with Classpath file.
      	* java/util/GregorianCalendar.java (GregorianCalendar): Pass result
      	of getDefault() for TimeZone or Locale instead of passing nulls.
      	* java/util/Locale.java (serialVersionUID): New field.
      	(writeObject): New method.
      	(readObject): New method.
      	* java/util/SimpleTimeZone.java: Replaced with Classpath file.
      
      Serialization mods.
      
      From-SVN: r37080
      Warren Levy committed
    • Daily bump. · c11a0324
      From-SVN: r37079
      Jeff Law committed
  3. 26 Oct, 2000 10 commits