c-pragma.c (handle_pragma_token): Wrap variables `name' and `value' in HANDLE_PRAGMA_WEAK.
* c-pragma.c (handle_pragma_token): Wrap variables `name' and
`value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
* genrecog.c (make_insn_sequence): Call memset, not bzero.
* recog.c (offsettable_address_p): Prototype function pointer.
(preprocess_constraints): Call memset, not bzero.
* tree.c (tree_node_kind_names): Constify a char*. Make static.
(gcc_obstack_init): Don't declare.
(fix_sizetype): Add static prototype.
(gcc_obstack_init): Use prototype casts in call to _obstack_begin.
(tree_cons): Call memset, not bzero.
* varasm.c (remove_from_pending_weak_list): Wrap declaration and
definition in macro ASM_WEAKEN_LABEL.
(mark_const_hash_entry): Add static prototype.
Joel Sherrill [Tue, 14 Sep 1999 09:52:09 +0000 (09:52 +0000)]
configure.in (m68k-*-rtemscoff*): Added.
* configure.in (m68k-*-rtemscoff*): Added.
* configure.in (mips64orion-*-rtems*): Converted to ELF.
* configure.in (sparc-*-rtemsaout*): Added as alias for old
sparc-rtems configuration.
* configure.in (sparc-*-rtemself*): Added.
* configure.in (sparc-*-rtems*): Now ELF not a.out.
* config/i386/rtems.h: Added comment.
* config/sparc/rtemself.h: New file.
* configure.in (m68k-rtemself): Added.
* config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
and DWARF_DEBUGGING_INFO.
* config/m68k/crti.s: New file.
* config/m68k/crtn.s: New file.
* config/m68k/t-crtstuff: New file.
* config/m68k/rtemself.h: New file.
* configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
global ctor/dtor and C++ exception handling.
* config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
ENDFILE_SPEC.
* config/i386/t-rtems-i386: New File.
Marc Espie [Tue, 14 Sep 1999 07:42:59 +0000 (07:42 +0000)]
Makefile.in: Prepend $(SHELL) to move-if-change calls.
* Makefile.in: Prepend $(SHELL) to move-if-change calls.
* msdos/top.sed: Take into account a prepended $(SHELL) to
move-if-change.
* winnt/config-nt.sed: Likewise. Kill bogus substitution.
* gcc.c: Include sys/resource.h.
(report_times): New flag.
(execute): If report_times is set, calculate and report the
CPU time consumed by each subprocess.
(rus, prus): New globals.
(option_map): Add --time.
(display_help): Document -time.
(process_command): Set report_times if -time is given.
Turn off -pipe if -time is given.
* invoke.texi: Document new option -time.
* configure.in: Check for getrusage. Check if we have to
prototype getrusage.
* acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
* configure: Regenerate.
* config.in: Regenerate.
* Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
* gcc.h: New file.
(lang_specific_driver): Don't take a function pointer parameter.
All callers changed.
* gcc.c: Include gcc.h.
(do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
lang_specific_extra_outfiles, fatal): Don't declare.
(multilib_defaults_raw): Constify.
(read_specs): Call memset, rather than bzero.
(main): Call return, not exit.
(lookup_compiler): Call memcpy, not bcopy.
(fatal): Make extern.
* cppspec.c: Include gcc.h.
(lang_specific_driver): Initialize variable `quote'. Constify a
char*. All calls to the function pointer parameter now
explicitly call `fatal'.
* gccspec.c (lang_specific_driver): Include gcc.h.
cp:
* Make-lang.in (g++spec.o): Depend on system.h and gcc.h.
* g++spec.c: Include gcc.h.
(lang_specific_driver): Constify a char*. Call xcalloc, not
xmalloc/bzero. All calls to the function pointer parameter now
explicitly call `fatal'.
f:
* Make-lang.in (g77spec.o): Depend on system.h and gcc.h.
* g77spec.c: Include gcc.h.
(g77_xargv): Constify.
(g77_fn): Add parameter prototypes.
(lookup_option, append_arg): Add static prototypes.
(g77_newargv): Constify.
(lookup_option, append_arg, lang_specific_driver): Constify a char*.
(lang_specific_driver): All calls to the function pointer
parameter now explicitly call `fatal'.
java:
* Make-lang.in (jvspec.o): Depend on system.h and gcc.h.
* jvspec.c: Include gcc.h. Don't include gansidecl.h.
(do_spec, lang_specific_pre_link, lang_specific_driver,
input_filename, input_filename_length): Don't declare.
(main_class_name, jvgenmain_spec, lang_specific_driver):
Constify a char*.
(lang_specific_driver): All calls to the function pointer
parameter now explicitly call `fatal'.
Mark Mitchell [Mon, 13 Sep 1999 00:35:00 +0000 (00:35 +0000)]
call.c (implicit_conversion): Robustify.
* call.c (implicit_conversion): Robustify. Handle OFFSET_REFs.
* cvt.c (ocp_convert): Complete the from and destination types.
Adjust warning about functions always being `true' in conditionals.
* decl.c (duplicate_decls): Don't play funny games with abort.
* error.c (dump_expr): Handle OVERLOADs.
* spew.c (probe_obstack): Remove.
* typeck.c (condition_conversion): Use perform_implicit_conversion.
Mark Mitchell [Sun, 12 Sep 1999 01:12:59 +0000 (01:12 +0000)]
cp-tree.def (CLEANUP_STMT): New node.
* cp-tree.def (CLEANUP_STMT): New node.
* cp-tree.h (language_function): Add name_declared.
(current_function_name_declared): New macro.
(CLEANUP_DECL): New macro.
(CLEANUP_EXPR): Likewise.
(emit_local_var): Likewise.
(finish_decl_cleanup): New function.
* cvt.c (build_up_reference): Simplify.
(ocp_convert): Remove dead code.
* decl.c (start_decl): Remove call to add_decl_stmt.
(grok_reference_init): Adjust, to handle bindings temporaries to
references. Remove dead code.
(initialize_local_var): Don't generate RTL for
declarations here, or build cleanups here. Don't fuss with
obstacks. Replace expand_start_target_temps calls with explicit
setting of stms_are_full_exprs_p.
(destroy_local_var): New function.
(emit_local_var): Likewise.
(cp_finish_decl): Use them, as appropriate.
(start_function): Announce template functions.
(store_parm_decls): Don't call declare_function_name here.
(finish_stmt): Don't start emit base-initialization code when just
building the statement-tree.
* init.c (create_temporary_var): Move add_decl_stmt call ...
(get_temp_regvar): Here.
* pt.c (tsubst_expr): Make DECL_INITIAL look like what
cp_finish_decl would expect. Don't call add_decl_stmt.
* semantics.c (begin_compound_stmt): Call declare_function_name,
if appropriate.
(finish_decl_cleanup): New function.
(expand_stmt): Use emit_local_var to output variables.
(expand_body): Set current_funtion_name_declared.
* cppalloc.c (xstrdup): Use memcpy.
* cpperror.c (cpp_print_containing_files): Don't use
cpp_notice.
* cpplib.c (conditional_skip): Set temp->lineno.
(do_endif): Make error message less obscure.
(if_directive_name): New function.
(cpp_get_token [case EOF]): Unwind the if stack and generate
error messages for each unterminated conditional in this file.
(parse_string): Do not behave differently if -traditional.
Tom Tromey [Fri, 10 Sep 1999 22:03:10 +0000 (22:03 +0000)]
configure: Rebuilt.
* configure: Rebuilt.
* configure.in: Build include/Makefile.
* Makefile.in: Rebuilt.
* Makefile.am (SUBDIRS): Added gcj and include.
(install-data-local): New target.
(extra_headers): New macro.
* include/Makefile.in: New file.
* include/Makefile.am: New file.
* interpret.cc: Don't include gcj/field.h or gcj/cni.h.
* java/lang/reflect/natField.cc: Don't include gcj/field.h or
gcj/cni.h.
* boehm.cc: Don't include java-threads.h or gcj/field.h.
* resolve.cc: Include config.h.
* defineclass.cc: Include config.h.
* include/java-interp.h: Don't include config.h.
* include/jvm.h: Include java-threads.h, Object.h, java-gc.h,
cni.h.
* gcj/javaprims.h: Regenerated namespace decls.
* classes.pl (scan): Don't put `;' after closing brace.
* Makefile.in: Rebuilt.
* Makefile.am (INCLUDES): Added -I for top_srcdir.
* configure.in: Create gcj/Makefile.
* gcj/Makefile.in: New file.
* gcj/Makefile.am: New file.
* java/lang/Object.h: Don't include any other headers.
* gcj/array.h: Renamed from include/java-array.h.
* gcj/field.h: Renamed from include/java-field.h.
* gcj/method.h: Renamed from include/java-method.h.
* gcj/cni.h, gcj/javaprims.h: Moved from include/.
Updated all files to reflect new include structure.
Tom Tromey [Fri, 10 Sep 1999 21:45:39 +0000 (21:45 +0000)]
gjavah.c (add_class_decl): Generate include for gcj/array.h, not java-array.h.
* gjavah.c (add_class_decl): Generate include for gcj/array.h, not
java-array.h.
(decode_signature_piece): Don't emit "::" in JArray<>.
(print_namelet): Only print trailing `;' when printing a class.
builtins.c (expand_builtin_va_arg): Cope with an array-type va_list decomposing to pointer-type.
* builtins.c (expand_builtin_va_arg): Cope with an array-type
va_list decomposing to pointer-type.
* rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
(rs6000_va_arg): Likewise.
Mark Mitchell [Fri, 10 Sep 1999 10:19:47 +0000 (10:19 +0000)]
cp-tree.h (language_function): Rename expanding_p to x_expanding_p.
* cp-tree.h (language_function): Rename expanding_p to
x_expanding_p. Rename named_label_uses to x_named_label_uses.
(expanding_p): Adjust accordingly.
(TREE_VIA_PRIVATE): Fix typo in comment.
(DECL_REFERENCE_SLOT): Remove.
(SET_DECL_REFERENCE_SLOT): Likewise.
* decl.c (named_label_uses): Adjust. Remove chicken comment.
(push_overloaded_decl): Don't truncate the chain of bindings when
adding an overloaded function.
(grok_reference_init): Don't use DECL_REFERENCE_SLOT.
(initialize_local_var): Fix typo in comment.
(store_parm_decls): Don't set DECL_REFERENCE_SLOT. Tidy up.
* decl2.c (start_objects): Make the fact that we are expanding
the generated function right away explicit.
(start_static_storage_duration_function): Likewise.
(finish_file): Fix typo in comment.
* init.c (build_vec_init): Correct bugs in handling cleanups.
* semantics.c (maybe_convert_cond): New function.
(FINISH_COND): Always store the condition, even if there's
a declaration.
(finish_if_stmt_cond): Use maybe_convert_cond.
(finish_while_stmt_cond): Likewise.
(finish_do_stmt): Likewise.
(finish_for_cond): Likewise.
(expand_cond): Adjust.
Mark Mitchell [Fri, 10 Sep 1999 09:21:37 +0000 (09:21 +0000)]
cp-tree.h (FN_TRY_BLOCK_P): New macro.
* cp-tree.h (FN_TRY_BLOCK_P): New macro.
* init.c (perform_member_init): Remove obstack machinations.
(expand_cleanup_for_base): Likewise.
(finish_init_stmts): Mark the statement-expression as used.
* method.c (emit_thunk): Use tree-generating functions, not
RTL.
(do_build_copy_constructor): Likewise.
(do_build_assign_ref): Likewise.
(synthesize_method): Likewise. Keep track of line numbers.
* pt.c (tsubst_expr): Handle various kinds of try blocks.
* semantics.c (expand_stmts): Remove.
(begin_function_try_block): Set FN_TRY_BLOCK_P.
(finish_function_try_block): Be careful rechaining
function try blocks.
(expand_stmt): Loop through all the statements at a given level.
(exapnd_body): Be careful with line-numbers here too. Prepare for
being called directly from the parser.
Mark Mitchell [Fri, 10 Sep 1999 08:30:08 +0000 (08:30 +0000)]
cp-tree.h (CPTI_ATEXIT): New macro.
* cp-tree.h (CPTI_ATEXIT): New macro.
(atexit_node): Likewise.
* decl.c (destroy_local_static): New function, broken out from ...
(expand_static_init): Here.
Mark Mitchell [Fri, 10 Sep 1999 08:14:16 +0000 (08:14 +0000)]
rtti.c (get_tinfo_var): These should always be global
* rtti.c (get_tinfo_var): These should always be global
(expand_si_desc): Use tree, not RTL, functions to generate code.
(expand_class_desc): Likewise.
(expand_ptr_desc): Likewise.
(expand_attr_desc): Likewise.
(expand_generic_desc): Likewise.
(synthesize_tinfo_fn): Likewise.