* config.gcc: Define USG in xm_defines as appropriate. Define
POSIX in lieu of xm-svr4.h. Delete all references to the SVR3
macro. Remove deleted xm-* files from $xm_files variable.
Andrew MacLeod [Wed, 7 Mar 2001 20:28:19 +0000 (20:28 +0000)]
a29k.c (print_operand): Free a29k_last_prologue_insn after its emitted.
2001-03-07 Andrew MacLeod <amacleod@redhat.com>
* config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
after its emitted.
(output_prologue): Use xmalloc not oballoc.
(output_epilog): Free a29k_first_epilogue_insn when finished.
* confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
* Makefile.in: Remove RANLIB definition. Use RANLIB
in RANLIB_FOR_TARGET, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS,
EXTRA_GCC_FLAGS, $(DO_X) targets only when the RANLIB is set.
* Makefile.in: Set RANLIB to @RANLIB@.
Remove RANLIB_TEST.
* fixinc/inclhack.def (djgpp_wchar_h): New test.
* fixinc/fixincl.x: Regenerated.
Zack Weinberg [Wed, 7 Mar 2001 01:32:01 +0000 (01:32 +0000)]
c-parse.in (yylexname): New function, split out of _yylex.
* c-parse.in (yylexname): New function, split out of _yylex.
(objc_rid_sans_at): New table.
(init_reswords): Initialize it.
(_yylex): Give labels clearer names. Handle CPP_ATSIGN by
retrieving the next token and checking it for significance as
an ObjC keyword or string constant.
* cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
* cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
* c-lex.c, c-parse.in, cppmacro.c, cpplex.c, cp/spew.c: Remove
references to CPP_OSTRING.
Zack Weinberg [Tue, 6 Mar 2001 10:04:54 +0000 (10:04 +0000)]
objc-act.c (objc_add_static_instance): Set DECL_INITIAL and DECL_DEFER_OUTPUT on the decl we create...
* objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
and DECL_DEFER_OUTPUT on the decl we create, before calling
rest_of_decl_compilation.
testsuite:
* objc/execute/string1.m, objc/execute/string2.m: Compare the
result of -cString against what we expect it to be; don't just
print it out for no one to read.
* objc/execute/string3.m, objc/execute/string4.m: New tests.
Based on testcases provided by Nicola Pero.
Zack Weinberg [Tue, 6 Mar 2001 09:52:35 +0000 (09:52 +0000)]
aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
libiberty:
* aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
* configure.in: Replace all alloca logic with a simple use of
the above new macro.
* config.table: Kill *-*-beos* entry.
* config/mh-beos: Delete.
* configure, config.in: Regenerate.
* Makefile.in (ALLOCA, HFILES): Kill.
(REQUIRED_OFILES): Add alloca.o.
(alloca.o): Depend on libiberty.h.
(argv.o): Don't depend on alloca-conf.h.
* alloca-conf.h: Delete.
* alloca.c: Include libiberty.h. Kill all #ifdef emacs
blocks. Provide the C alloca unconditionally. Use PTR where
appropriate. Make i00afunc static.
* argv.c: Don't include alloca-conf.h.
include:
* libiberty.h: Prototype C_alloca; define alloca to either
__builtin_alloca or C_alloca as appropriate.
Per Bothner [Tue, 6 Mar 2001 07:29:31 +0000 (23:29 -0800)]
Fix a problem where rest_of_decl_compilation applied to class_dtable_decl causes problems because it was done too early...
Fix a problem where rest_of_decl_compilation applied to
class_dtable_decl causes problems because it was done too early,
before output file was opened.
* decl.c (init_decl_processing): Remove init of class_dtable_decl.
* class.c (class_dtable_decl): Add macro - element of class_roots.
(make_class_data): Define class_dtable_decl.
* java-tree.h (JTI_CLASS_DTABLE_DECL, class_dtable_decl): Removed.
Bryce McKinlay [Tue, 6 Mar 2001 01:04:28 +0000 (01:04 +0000)]
TreeSet.java (writeObject): Use a for-loop instead of Iterator.hasNext().
2001-03-06 Bryce McKinlay <bryce@albatross.co.nz>
* java/util/TreeSet.java (writeObject): Use a for-loop instead of
Iterator.hasNext().
2001-03-05 Jochen Hoenicke <jochen@gnu.org>
* java/util/TreeMap.java (writeObject): Use defaultWriteObject()
instead of the new JDK1.2 API. This is simpler and makes
back-porting the classes to JDK1.1 trivial.
(readObject): likewise.
Neil Booth [Sat, 3 Mar 2001 22:14:08 +0000 (22:14 +0000)]
cpplex.c (_cpp_lex_token): Don't warn about directives in macro arguments when looking for the '('.
* cpplex.c (_cpp_lex_token): Don't warn about directives in
macro arguments when looking for the '('.
* cppmacro.c (funlike_invocation_p): Set parsing_args to
2 when really parsing arguments; 1 when looking for '('.
Always restore the lexer position.
* gcc.dg/cpp/cppmacro7.c: New test.
fixlib.h (t_bool): Add identifier `t_bool' in typedef.
* fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
* fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
t_bool in declaration because pcc can't combine volatile with typedef
types.
Jan Hubicka [Sat, 3 Mar 2001 18:49:05 +0000 (19:49 +0100)]
i386.c (ix86_expand_fp_compare): Delay creating of scratch register until when it is really needed.
* i386.c (ix86_expand_fp_compare): Delay creating of scratch register
until when it is really needed.
(ix86_expand_compare): Update call of ix86_expand_fp_compare.
* i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
* i386.md (float?i?f splitter): Don't force source operand to memory
for SSE.
(sse_movdfcc): Fix constraint.
(sse_movdfcc splitter): Handle properly the second alternative.
Zack Weinberg [Sat, 3 Mar 2001 03:32:55 +0000 (03:32 +0000)]
configure.in: Kill tm.h.
* configure.in: Kill tm.h. Include the files in the $tm_file
list in all three of config.h, hconfig.h, tconfig.h, after the
relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
* configure: Regenerate.
* Makefile.in (clean): Don't delete tm.h.
* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
those are not defined, set SEC and FEC to 0 and 1.
* gcc.texi: Update to match.
* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
* config/fp-bit.c, config/m68k/aux-crt2.asm,
config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
Include tconfig.h, not tm.h.
print-rtl.c (print_rtx): Cast enums to int for comparison.
* print-rtl.c (print_rtx): Cast enums to int for comparison.
* c-decl.c (grokdeclarator): Cast enums to int for comparison and
shifts.
* c-format.c (C_STD_VER): Cast to int for comparisons.
(check_function_format): Cast various enums to int for &.
(maybe_read_dollar_number): Likewise.
(check_format_info): Likewise.
(check_format_info_main): Likewise.
* expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
(safe_from_p): Likewise.
* varasm.c (const_hash): Cast enum to int for %.
* emit-rtl.c (init_emit_once): Use int loop variable to work around
pcc enum problems with < and ++ operators.
* regclass.c (init_reg_sets_1): Cast enums for comparison.
(choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
(regclass_init): Change enum class to int to iterate over reg_classes.
* genrecog.c (merge_trees): Cast enums for comparison.
* rtl.h (GET_CODE): Cast to enum rtx_code.
(PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
(GET_MODE): Cast to enum machine_mode.
(PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
(GET_NOTE_INSN_NAME): Cast enum to int.
* tree.h (TREE_CODE): Cast to enum tree_code.
(TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
* timevar.c (timevar_print): Change loop variable id from enum to
unsigned int.
* fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
* config/i386/i386.md: Use PUT_MODE for mode assignment.
* toplev.c (compile_file): Cast enum DFI to int.
(decode_d_option): Likewise.
Nathan Sidwell [Fri, 2 Mar 2001 11:44:57 +0000 (11:44 +0000)]
class.c (check_field_decls): Pointers to member do not a non-pod struct make, as per DR 148.
cp:
* class.c (check_field_decls): Pointers to member do not a
non-pod struct make, as per DR 148.
testsuite:
* g++.old-deja/g++.other/pod1.C: New test.
Nathan Sidwell [Fri, 2 Mar 2001 11:32:45 +0000 (11:32 +0000)]
call.c (joust): cp_pedwarn when using gnu extension concerning worst conversion sequences.
cp:
* call.c (joust): cp_pedwarn when using gnu extension concerning
worst conversion sequences.
testsuite:
* g++.old-deja/g++.ext/overload1.C: New test.
Neil Booth [Fri, 2 Mar 2001 07:35:12 +0000 (07:35 +0000)]
cppfiles.c (struct include_file): Update.
* cppfiles.c (struct include_file): Update.
(stack_include_file): Use search_from.
(cpp_included, find_include_file): Update.
(cpp_execute_include): Update. ptr->name may not be
null terminated. Use the new search_from member variable
of cpp_buffer.
(_cpp_compare_file_date): Similarly.
(search_from): New function, similiar to actual_directory.
(actual_directory): Delete.
(remap_filename): Update. loc->name may not be null terminated.
(struct file_name_list): Rename search_path. Update.
* cpphash.h (struct cpp_buffer): Delete actual_dir. New members
search_from and dir.
(struct cpp_reader): Remove actual_dirs.
* cppinit.c (struct cpp_pending): Update for renamed objects.
(append_include_chain, remove_dup_dir, remove_dup_dirs,
merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
* cpplib.h (struct cpp_options): Similarly.
Per Bothner [Fri, 2 Mar 2001 06:55:33 +0000 (22:55 -0800)]
Changes merged from Kawa's gnu.math.
* java/math/BigInteger.java
* gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count.
(rshift(int[],int[],int,int): Removed - not needed.
(gcd): Use rshift0 rather than rshift.
* java/math/BigInteger.java (setShiftRight): Likewise.
(divide): Simplify by using rshift0.
(divide): Zero-extend results if high-order bit set.
* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
empty by above change.
* config.gcc: Remove references to these files.
* configure.in: Detect stdbool.h.
* configure, config.in: Regenerate.
* system.h: Include stddef.h here if available. Set
HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__. Then
set up a sensible boolean type at the very end.
cpplib.c (_cpp_init_stacks): Cast enum for comparison.
* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
* cppexp.c (lex): Cast enums for comparison.
* cppinit.c (parse_option): Cast enum for comparison.
* cpplex.c (cpp_spell_token): Cast enums to int for minus.
(cpp_output_token): Likewise.
(cpp_can_paste): Cast enums for comparsion and plus/minus.
(cpp_avoid_paste): Cast enums for minus and comparison.
Zack Weinberg [Fri, 2 Mar 2001 01:03:47 +0000 (01:03 +0000)]
gcc.c, [...]: Add zero initializer for cpp_spec field to all array elements.
* gcc.c, cp/lang-specs.h, f/lang-specs.h, java/lang-specs.h,
objc/lang-specs.h: Add zero initializer for cpp_spec field to
all array elements.
* cp/lang-specs.h: Don't put an #ifdef inside the initializer
list; set a default for CPLUSPLUS_CPP_SPEC and use it.
* cpphash.h (struct cpp_reader): Add print_version field.
* cppinit.c (cpp_handle_option): For -v, -version, and --version,
just set print_version and other flags as appropriate.
(cpp_post_options): Print version here if print_version is set.
* toplev.c (exit_after_options): New flag.
(independent_decode_option): Don't exit here; just set
exit_after_options.
(main): Exit after calling lang_hooks.post_options if
exit_after_options is true.
* cppinit.c (append_include_chain): Drop never-used case QUOTE.
(merge_include_chains): Adjust comment to match code.
Zack Weinberg [Fri, 2 Mar 2001 00:40:00 +0000 (00:40 +0000)]
stringpool.c (set_identifier): New function.
* stringpool.c (set_identifier): New function.
* tree.h: Prototype it.
* c-parse.in: Kill D_YES. If compiled for objc, call
save_and_forget_protocol_qualifiers from init_reswords.
* objc/objc-act.c (remember_protocol_qualifiers,
forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
vice versa.
(save_and_forget_protocol_qualifiers): New function.
* c-lex.h: Prototype save_and_forget_protocol_qualifiers.