- 28 Oct, 2000 15 commits
-
-
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 -
From-SVN: r37108
Richard Henderson committed -
* pt.c (instantiate_decl): Always instantiate static data members initialized in-class. From-SVN: r37107
Mark Mitchell committed -
* src/string-inst.cc (basic_string<C>::npos): Explicitly instantiate it. From-SVN: r37106
Mark Mitchell committed -
From-SVN: r37105
Bernd Schmidt committed -
From-SVN: r37104
Bernd Schmidt committed -
From-SVN: r37103
Bernd Schmidt committed -
From-SVN: r37102
Bernd Schmidt committed -
From-SVN: r37101
Neil Booth committed -
From-SVN: r37100
Neil Booth committed -
* 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 -
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 -
From-SVN: r37097
Jeff Law committed -
* 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 -
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
-
- 27 Oct, 2000 15 commits
-
-
From-SVN: r37094
Neil Booth committed -
From-SVN: r37093
Kelley Cook committed -
* 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 -
* 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 -
* 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. * 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 $@'. 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. * g++.old-deja/g++.other/eh2.C: New test. From-SVN: r37087
Jakub Jelinek committed -
From-SVN: r37086
Nick Clifton committed -
From-SVN: r37084
Bernd Schmidt committed -
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 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 -
* 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. * 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 -
From-SVN: r37079
Jeff Law committed
-
- 26 Oct, 2000 10 commits
-
-
From-SVN: r37078
Richard Henderson committed -
* g++.old-deja/g++.brendan/label2.C: Tweak to work with V3. * g++.old-deja/g++.law/builtin1.C: Likewise. * g++.old-deja/g++.law/ctors10.C: Likewise. * g++.old-deja/g++.law/virtual3.C: Likewise. * g++.old-deja/g++.mike/p658.C: Likewise. * g++.old-deja/g++.other/sibcall1.C: Likewise. * g++.old-deja/g++.other/vaarg2.C: Likewise. * g++.old-deja/g++.robertl/eb124.C: Likewise. * g++.old-deja/g++.robertl/eb44.C: Likewise. * g++.old-deja/g++.robertl/eb77.C: Likewise. * include/backward/streambuf.h: New file. From-SVN: r37077
Mark Mitchell committed -
* calls.c (expand_call): Supress sibcall if we have a BLKmode return in registers. From-SVN: r37076
Richard Henderson committed -
* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants into memory. From-SVN: r37075
Bernd Schmidt committed -
2000-10-26 David Edelsohn <dje@watson.ibm.com> * config/os/aix/bits/ctype_inline.h (is): Use __OBJ_DATA directly. * config/os/aix/bits/ctype_noninline.h (do_tolower): Fix typo. * config/os/aix/bits/os_defines.h: Add AIX defines. From-SVN: r37074
David Edelsohn committed -
2000-10-26 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove. * aclocal.m4: Regenerate. * configure.in: Remove GLIBCPP_ENABLE_LONG_DOUBLE. * configure: Regenerate. * docs/configopts.html: Remove. * src/complexl.cc: Revert. * config.h.in: Remove. * include/c_std/bits/std_cmath.h: Remove guards based on _GLIBCPP_USE_LONG_DOUBLE. * include/c/bits/std_cmath.h: Same. Format. Match c_std behavior with respect to long double signatures. * config/os/aix/bits/ctype_noninline.h (ctype): Remove throw specification. * config/os/newlib/bits/ctype_noninline.h (ctype): And here. * config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same. * config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same. * config/os/generic/bits/ctype_noninline.h (ctype): Same. * config/os/bsd/bits/ctype_noninline.h (ctype): Same. From-SVN: r37073
Benjamin Kosnik committed -
From-SVN: r37072
Nathan Sidwell committed -
* tree.c (make_node, case 't'): Set alignment to that of char_type_node. * expr.c (move_by_pieces_ninsns): Abort if some length remains. From-SVN: r37071
Nathan Sidwell committed -
* include/bits/std_valarray.h (valarray::valarray): Fix thinko. Use __valarray_copy_construct only where appropriate. From-SVN: r37070
Gabriel Dos Reis committed -
From-SVN: r37069
Jeff Law committed
-