Zack Weinberg [Sat, 4 Mar 2000 19:42:04 +0000 (19:42 +0000)]
mkdeps.c, mkdeps.h: New files.
* mkdeps.c, mkdeps.h: New files.
* po/POTFILES.in: Add them.
* Makefile.in (LIBCPP_OBJS): Add mkdeps.o.
(cpplib.o, cppinit.o): Depend on mkdeps.h.
(mkdeps.o): New target.
* cppfiles.c: Delete deps_output.
* cppinit.c: Include mkdeps.h. Delete known_suffixes,
OBJECT_SUFFIX, and base_name.
(cpp_cleanup): Use deps_free. Free ihash->name when clearing
the include hash.
(initialize_dependency_output): Use deps_init,
deps_add_target, deps_calc_target, and deps_add_dep. Remove
all the unnecessary string bashing.
(cpp_finish): Use deps_write. Remove an unnecessary nesting
level.
* cpplib.c (do_include): Use deps_add_dep.
* cpplib.h (struct cpp_reader): Replace deps_buffer,
deps_allocated_size, deps_size, deps_column members with
single pointer to a struct deps. Delete prototype of
deps_output.
From-SVN: r32329
Per Bothner [Sat, 4 Mar 2000 18:27:48 +0000 (10:27 -0800)]
* decl.c (init_decl_processing): Initialize sizetype properly.
From-SVN: r32328
Zack Weinberg [Sat, 4 Mar 2000 17:53:04 +0000 (17:53 +0000)]
* cppinit.c: Fix thinko in previous patch.
From-SVN: r32327
Richard Kenner [Sat, 4 Mar 2000 16:40:05 +0000 (16:40 +0000)]
machmode.h (mode_for_size, [...]): SIZE now signed.
* machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed.
* stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise.
(mode_for_size_tree): New function.
(layout_decl, layout_type): Call it and clean up BLKmode checks.
* tree.h (mode_for_size_tree): New declaration.
From-SVN: r32326
Richard Kenner [Sat, 4 Mar 2000 16:24:03 +0000 (16:24 +0000)]
* toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused.
From-SVN: r32325
Jason Merrill [Sat, 4 Mar 2000 09:32:35 +0000 (09:32 +0000)]
stmt.c (is_body_block): Move...
* stmt.c (is_body_block): Move...
* dwarfout.c, dwarf2out.c: ...from here.
* tree.h: Declare it.
* emit-rtl.c (remove_unncessary_notes): Don't remove the body block.
* final.c (final_start_function): Do call remove_unnecessary_notes
when scheduling.
From-SVN: r32324
Jeff Law [Sat, 4 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32323
Zack Weinberg [Sat, 4 Mar 2000 05:36:14 +0000 (05:36 +0000)]
* config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX.
From-SVN: r32322
Zack Weinberg [Sat, 4 Mar 2000 01:42:56 +0000 (01:42 +0000)]
cpplib.h (_dollar_ok): New macro.
* cpplib.h (_dollar_ok): New macro.
(is_idchar, is_idstart): Use it.
(IStable): Rename to _cpp_IStable. Declare it const if
gcc >=2.7 or C99. Delete all references to FAKE_CONST.
(is_idchar, is_idstart, is_numchar, is_numstart, is_hspace,
is_space): Update for renamed IStable.
* cppinit.c: Delete all references to FAKE_CONST and CAT
macros. Define init_IStable as empty macro if gcc >=2.7 or
C99. Change TABLE() to ISTABLE and hardcode name of table.
(cpp_start_read): Don't change the IStable based on
dollars_in_ident.
* cpphash.c (unsafe_chars): Add pfile argument. All callers
changed. Handle '$' for char1 correctly.
* cpplib.c (cpp_get_token): Use is_numchar when parsing numbers.
* cppexp.c (tokentab2): Make const.
(cpp_lex): Make toktab const.
* cppinit.c (include_defaults_array): Make const.
(initialize_standard_includes): Make default_include const.
From-SVN: r32321
Jason Merrill [Sat, 4 Mar 2000 00:48:46 +0000 (19:48 -0500)]
dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
(dwarf2out_decl): Functions can now have DECL_IGNORED_P.
(gen_decl_die): Likewise.
* dwarfout.c (dwarfout_file_scope_decl): Likewise.
(output_decl): Likewise.
* varasm.c (make_function_rtl): If we change the name used in the
rtl, update DECL_ASSEMBLER_NAME accordingly.
(make_decl_rtl): Likewise.
* toplev.c (rest_of_compilation): Tweak formatting.
* toplev.c (rest_of_compilation): find_loop_tree_blocks before
remove_unnecessary_notes.
(debug_ignore_block): New fn.
* toplev.h: Declare it.
* emit-rtl.c (remove_unncessary_notes): Call it.
* dwarf2out.c (dwarf2out_ignore_block): New fn.
* dwarf2out.h: Declare it.
* final.c (final_start_function): Don't call remove_unnecessary_notes
if we did insn scheduling.
From-SVN: r32320
Jason Merrill [Sat, 4 Mar 2000 00:45:24 +0000 (00:45 +0000)]
decl2.c (key_method): Break out from...
* decl2.c (key_method): Break out from...
(import_export_vtable, import_export_class): ...here.
* decl.c (finish_function): Don't mess with flag_keep_inline_functions.
* decl2.c (finish_vtable_vardecl): Don't check decl_function_context.
* search.c (note_debug_info_needed, dfs_debug_mark,
dfs_debug_unmarkedp): Uncomment. Adjust for new scheme.
* decl2.c (finish_vtable_vardecl): Call note_debug_info_needed.
From-SVN: r32319
Zack Weinberg [Sat, 4 Mar 2000 00:11:40 +0000 (00:11 +0000)]
cppinit.c (cpp_handle_option): Set opts->pedantic directly.
* cppinit.c (cpp_handle_option): Set opts->pedantic directly.
* cpplib.h: Delete SET_CPP_PEDANTIC.
From-SVN: r32318
Richard Kenner [Fri, 3 Mar 2000 20:40:54 +0000 (20:40 +0000)]
expr.c (expand_expr, [...]): Use bitfield case if result is a RECORD_TYPE.
* expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if
result is a RECORD_TYPE.
From-SVN: r32317
Jonathan Larmour [Fri, 3 Mar 2000 20:11:12 +0000 (20:11 +0000)]
elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.
2000-03-03 Jonathan Larmour <jlarmour@cygnus.co.uk>
* config/mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.
From-SVN: r32316
Richard Henderson [Fri, 3 Mar 2000 19:43:31 +0000 (11:43 -0800)]
alpha.c (alpha_emit_set_const_1): Re-order cases to prefer addition over compliments over shifts.
* alpha.c (alpha_emit_set_const_1): Re-order cases to prefer
addition over compliments over shifts.
From-SVN: r32315
Tom Tromey [Fri, 3 Mar 2000 19:33:11 +0000 (19:33 +0000)]
* Makefile.in: Fixed ia64 by hand.
From-SVN: r32314
Nathan Sidwell [Fri, 3 Mar 2000 18:05:07 +0000 (18:05 +0000)]
decl.c (cp_finish_decl): Remove obsolete obstack comments, fix typos.
* decl.c (cp_finish_decl): Remove obsolete obstack comments, fix
typos.
From-SVN: r32313
Jason Merrill [Fri, 3 Mar 2000 17:09:46 +0000 (17:09 +0000)]
* cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC.
From-SVN: r32312
Tom Tromey [Fri, 3 Mar 2000 16:58:42 +0000 (16:58 +0000)]
configure: Rebuilt.
* configure: Rebuilt.
* configure.in (--enable-multilib): New option.
(libffi_basedir): New subst.
(AC_OUTPUT): Added multilib code.
From-SVN: r32311
J"orn Rennecke [Fri, 3 Mar 2000 14:20:28 +0000 (14:20 +0000)]
reload1.c (reload_combine_note_use): Handle return register USEs.
* reload1.c (reload_combine_note_use): Handle return register USEs.
REG case: Handle multi-hard-register hard regs.
From-SVN: r32310
Richard Kenner [Fri, 3 Mar 2000 12:29:42 +0000 (12:29 +0000)]
* md.texi: Document use of '*' in insn pattern name.
From-SVN: r32309
Jason Merrill [Fri, 3 Mar 2000 09:19:42 +0000 (09:19 +0000)]
* calls.c (special_function_p): operator new may not be malloc-like.
From-SVN: r32308
Jeff Law [Fri, 3 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32307
Jason Merrill [Fri, 3 Mar 2000 08:28:43 +0000 (03:28 -0500)]
* gcse.c (dump_hash_table): Really fix error in last change.
From-SVN: r32306
Denis Chertykov [Fri, 3 Mar 2000 06:32:46 +0000 (06:32 +0000)]
Denis Chertykov <denisc@overta.ru>
* avr.c (print_operand): Use print_operand_address instead of
output_addr_const.
* avr/libgcc.S: Cleanup code.
From-SVN: r32305
Richard Henderson [Fri, 3 Mar 2000 06:20:53 +0000 (22:20 -0800)]
* alpha.c (alpha_emit_set_const_1): Also try c + small constant.
From-SVN: r32304
Mark Mitchell [Fri, 3 Mar 2000 02:29:35 +0000 (02:29 +0000)]
Remove unncessary printf calls
From-SVN: r32303
Mark Mitchell [Fri, 3 Mar 2000 02:27:15 +0000 (02:27 +0000)]
* tree.h (TYPE_ALIGN_UNIT): New macro.
From-SVN: r32302
Tom Tromey [Fri, 3 Mar 2000 01:19:22 +0000 (01:19 +0000)]
Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
directory name.
From-SVN: r32301
Clinton Popetz [Fri, 3 Mar 2000 00:54:46 +0000 (00:54 +0000)]
i386.c: (constant_call_address_operand): Reject CONST_INT.
* config/i386/i386.c: (constant_call_address_operand): Reject
CONST_INT.
From-SVN: r32300
Jason Merrill [Fri, 3 Mar 2000 00:09:22 +0000 (00:09 +0000)]
cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set for the buffer.
* cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
for the buffer.
(SET_CPP_PEDANTIC): New macro.
* cpplib.c (do_include): Don't bother checking system_header_p.
(do_warning, do_ident, do_assert, do_unassert): Likewise.
From-SVN: r32299
Zack Weinberg [Fri, 3 Mar 2000 00:04:44 +0000 (00:04 +0000)]
New test - more cpp corner cases
From-SVN: r32298
Jason Merrill [Fri, 3 Mar 2000 00:01:08 +0000 (19:01 -0500)]
* pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG.
From-SVN: r32297
Jason Merrill [Thu, 2 Mar 2000 23:50:11 +0000 (23:50 +0000)]
function.h (struct expr_status): Add x_arg_space_so_far.
* function.h (struct expr_status): Add x_arg_space_so_far.
(arg_space_so_far): New macro.
* expr.c (init_expr): Initialize it.
* calls.c (emit_call_1): Reset it.
(compute_argument_block_size, expand_call): Use it.
(expand_call, store_one_arg): Increment it.
From-SVN: r32296
Richard Kenner [Thu, 2 Mar 2000 23:30:38 +0000 (23:30 +0000)]
varasm.c (output_constant): Strip off a CONVERT_EXPR to a UNION_TYPE.
* varasm.c (output_constant): Strip off a CONVERT_EXPR to
a UNION_TYPE.
From-SVN: r32295
Tom Tromey [Thu, 2 Mar 2000 20:25:20 +0000 (20:25 +0000)]
java-interp.h: Don't include MethodInvocation.h.
* include/java-interp.h: Don't include MethodInvocation.h.
(class _Jv_InterpMethod): Don't make MethodInvocation a friend.
* Makefile.in: Rebuilt.
* Makefile.am (gnu/gcj/runtime/MethodInvocation.h): Removed.
(ordinary_java_source_files): Don't mention
MethodInvocation.java.
* gnu/gcj/runtime/MethodInvocation.java: Removed.
* interpret.cc (MethodInvocation::continue1): Removed.
(run): Handle exceptions here.
* java/lang/ClassLoader.java (defineClass1, defineClass2):
Removed.
* java/lang/natClassLoader.cc (defineClass0): Catch exceptions
here.
(defineClass2): Removed.
* java/lang/reflect/Method.java (hack_trampoline, hack_call):
Removed.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Catch
exceptions here.
(hack_call): Removed.
* java/lang/Class.h (Class): Removed hackRunInitializers,
hackTrampoline.
* java/lang/natClass.cc (hackRunInitializers): Removed.
(initializeClass): Catch exceptions here.
Include ExceptionInInitializerError.h.
* java/lang/Class.java (hackTrampoline, hackRunInitializers):
Removed.
* java/lang/Object.h (Object): Don't mention hack12_6.
* java/lang/natObject.cc (_Jv_FinalizeObject): Catch exceptions
here.
* java/lang/Object.java (hack12_6): Removed.
* java/lang/natThread.cc (run_): Renamed. Catch exceptions here.
(start): Use run_, not run__.
* java/lang/Thread.java (run_): Renamed from run__; old run_
removed.
* jni.cc (_Jv_JNI_FindClass): Handle exceptions.
(_Jv_JNI_EnsureLocalCapacity): Likewise.
(_Jv_JNI_DefineClass): Likewise.
(_Jv_JNI_ThrowNew): Likewise.
(_Jv_JNI_AllocObject): Likewise.
(_Jv_JNI_GetAnyMethodID): Likewise.
(_Jv_JNI_CallAnyMethodV): Likewise.
(_Jv_JNI_CallAnyMethodA): Likewise.
(_Jv_JNI_CallAnyVoidMethodV): Likewise.
(_Jv_JNI_CallAnyVoidMethodA): Likewise.
(_Jv_JNI_GetAnyFieldID): Likewise.
(_Jv_JNI_NewString): Likewise.
(_Jv_JNI_NewStringUTF): Likewise.
(_Jv_JNI_GetStringUTFChars): Likewise.
(_Jv_JNI_NewObjectArray): Likewise.
(_Jv_JNI_NewPrimitiveArray): Likewise.
(_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
(_Jv_JNI_GetStringRegion): Likewise.
(_Jv_JNI_GetStringUTFRegion): Likewise.
(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
(_Jv_JNI_MonitorEnter): Likewise.
(_Jv_JNI_MonitorExit): Likewise.
(_Jv_JNI_ToReflectedField): Likewise.
(_Jv_JNI_ToReflectedMethod): Likewise.
(_Jv_JNI_RegisterNatives): Likewise.
(_Jv_JNI_AttachCurrentThread): Likewise.
(_Jv_JNI_DestroyJavaVM): Likewise.
From-SVN: r32294
Zack Weinberg [Thu, 2 Mar 2000 20:14:32 +0000 (20:14 +0000)]
cppfiles.c (cpp_read_file): New function.
* cppfiles.c (cpp_read_file): New function.
* cpphash.c (collect_expansion): Make sure to reset last_token
to NORM when we hit a string. Handle trailing whitespace
properly when the expansion is empty.
(create_definition): Disable line commands while parsing the
directive line.
(dump_definition): If pfile->lineno == 0, output a line
command ahead of the dump, and add a trailing newline.
* cppinit.c (append_include_chain): Add fifth argument, which
indicates whether or not system headers are C++ aware.
(initialize_standard_includes): New function,
broken out of read_and_prescan. Pass 'cxx_aware' value from
the include_defaults_array on to append_include_chain.
(dump_special_to_buffer): Const-ify char array.
(builtin_array): Don't dump __BASE_FILE__.
(cpp_start_read): Use cpp_read_file. Reorder code for
clarity. Don't output line commands here for -D/-A/-U
switches. Don't call deps_output for files included with
-include or -imacros.
* cpplib.c (do_define): Don't pay any attention to the second
argument.
(cpp_expand_to_buffer): Disable line commands while scanning.
(output_line_command): Work in the file buffer.
* cpplib.h: Remove no_record_file flag from struct cpp_reader.
Fix formatting of comments. Prototype cpp_read_file.
From-SVN: r32293
Tom Tromey [Thu, 2 Mar 2000 19:58:49 +0000 (19:58 +0000)]
cp-tree.h (build_java_class_ref): Declare.
* cp-tree.h (build_java_class_ref): Declare.
* init.c (build_java_class_ref): No longer static.
* except.c (expand_throw): Generate a Java-style `throw' if the
thrown object is a "Java" object.
(initialize_handler_parm): Generate a Java-style lookup of
exception info if the caught object is a "Java" object.
(catch_language, catch_language_init): New globals.
(decl_is_java_type): New function.
(expand_start_catch_block): Don't call push_eh_info() or
push_eh_cleanup() when handling a Java-style "catch". Pass Java
class reference to build_catch_block.
From-SVN: r32292
Richard Kenner [Thu, 2 Mar 2000 18:29:56 +0000 (18:29 +0000)]
c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink reference the language-equivalent of sizetype.
* c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink
reference the language-equivalent of sizetype.
* c-typeck.c (comptypes): Treat sizetype like its language equivalent.
* fold-const.c (size_binop, size_diffop): Put back checks.
* gcse.c (dump_hash_table): Fix minor error in last change.
* stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype.
Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of
all sizetypes.
* cp/typeck.c (comptypes): Treat sizetype like its language equivalent.
From-SVN: r32291
Jan Hubicka [Thu, 2 Mar 2000 11:49:51 +0000 (12:49 +0100)]
* calls.c (expand_call) Do not attempt to combine stack adjustments
with inhibit_defer_pop set.
From-SVN: r32290
Jeff Law [Thu, 2 Mar 2000 08:45:09 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32289
Chandra Chavva [Wed, 1 Mar 2000 22:42:36 +0000 (17:42 -0500)]
*** empty log message ***
From-SVN: r32288
Mark Mitchell [Wed, 1 Mar 2000 22:29:56 +0000 (22:29 +0000)]
stor-layout.c (layout_decl): Allow front-ends to explicitly set the DECL_SIZE for a FIELD_DECL.
* stor-layout.c (layout_decl): Allow front-ends to explicitly set
the DECL_SIZE for a FIELD_DECL.
From-SVN: r32287
Jason Merrill [Wed, 1 Mar 2000 21:41:15 +0000 (16:41 -0500)]
revert last patch
From-SVN: r32286
Cor Veenman [Wed, 1 Mar 2000 21:05:41 +0000 (22:05 +0100)]
* typeck.c (convert_for_assignment): Warn about conversion to bool.
From-SVN: r32285
Bruce Korb [Wed, 1 Mar 2000 20:43:02 +0000 (20:43 +0000)]
remove unused symlinks from generated include dir
From-SVN: r32284
Zack Weinberg [Wed, 1 Mar 2000 19:12:18 +0000 (19:12 +0000)]
cpphash.c (collect_expansion): Trim trailing white space from macro definitions...
* cpphash.c (collect_expansion): Trim trailing white space
from macro definitions, but don't go past the last insertion
point.
* gcc.dg/cpp-redef.c: New test.
From-SVN: r32283
Bernd Schmidt [Wed, 1 Mar 2000 17:16:35 +0000 (17:16 +0000)]
Reorganize some warning code
From-SVN: r32282
Jan Hubicka [Wed, 1 Mar 2000 11:15:52 +0000 (12:15 +0100)]
* i386.md (mulqi3): New pattern.
From-SVN: r32280
Jason Merrill [Wed, 1 Mar 2000 08:48:08 +0000 (03:48 -0500)]
no -pedantic
From-SVN: r32279
Jeff Law [Wed, 1 Mar 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32278
Jason Merrill [Wed, 1 Mar 2000 08:37:57 +0000 (03:37 -0500)]
new
From-SVN: r32277
Mark Mitchell [Wed, 1 Mar 2000 08:33:28 +0000 (08:33 +0000)]
Don't try to link.
From-SVN: r32276
Jason Merrill [Wed, 1 Mar 2000 05:45:44 +0000 (05:45 +0000)]
search.c (protected_accessible_p): Use context_for_name_lookup.
* search.c (protected_accessible_p): Use context_for_name_lookup.
* typeck.c (expand_ptrmemfunc_cst): Fix thinko.
From-SVN: r32275
Zack Weinberg [Wed, 1 Mar 2000 00:57:09 +0000 (00:57 +0000)]
cpplib.h (CPP_ASSERTION, [...]): New token types.
* cpplib.h (CPP_ASSERTION, CPP_STRINGIZE, CPP_TOKPASTE): New
token types.
(struct cpp_reader): Add parsing_if_directive and
parsing_define_directive flags.
(struct cpp_options): Remove output_conditionals flag.
(check_macro_name): Delete prototype.
* cpphash.h (struct macrodef): Delete.
(struct reflist): Separate from struct definition.
(struct definition): Remove unused fields. Add column number.
(create_definition): Returns a DEFINITION *. Takes a
cpp_reader * and an int.
* cpphash.c (SKIP_WHITE_SPACE): Delete.
(PEEKC): Copy defn from cpplib.c.
(rest_extension, REST_EXTENSION_LENGTH): Delete.
(struct arg): New.
(struct arglist): Simplify.
(collect_expansion): Rewrite. Get tokens by calling
cpp_get_token. Add more error checking.
(collect_formal_parameters): New function, broken out of
create_definition and reworked to use get_directive_token.
(create_definition): All real work is now in collect_expansion
and collect_formal_parameters. do_define handles finding the
macro name. Return a DEFINITION, not a MACRODEF.
(macroexpand): Replace bcopy with memcpy throughout. Replace
character-at-a-time copy loop with memcpy and pointer increments.
(compare-defs): d1->argnames / d2->argnames might be null.
* cpplib.c (copy_rest_of_line): Delete function.
(skip_rest_of_line): Do all the work ourselves.
(skip_string): New function.
(parse_string): Use skip_string.
(get_macro_name): New function.
(check_macro_name): Delete.
(copy_comment): Use CPP_RESERVE and CPP_PUTC_Q.
(cpp_skip_hspace): Use CPP_BUMP_LINE.
(handle_directive): ICE if we're called on a macro buffer.
(do_define): Determine macro name and type (funlike/objlike)
here. Expunge all uses of MACRODEF.
(cpp_push_buffer): Set line_base to NULL.
(do_undef, read_line_number): Don't worry about getting a POP token.
(eval_if_expression): Set/reset parsing_if_directive around
cpp_parse_expr. Don't clear only_seen_white.
(skip_if_group): Remove output_conditionals logic. Use
skip_rest_of_line.
(cpp_get_token): Return ASSERTION, STRINGIZE, and TOKPASTE
tokens under appropriate conditions.
(cpp_unassert): Call do_unassert not do_assert. Oops.
* cppexp.c (parse_defined): New function, break out of
cpp_lex.
(cpp_lex): We now get CPP_ASSERTION tokens and can check them
ourselves, with cpp_defined.
* cppinit.c (cpp_handle_option, print_help): Delete -ifoutput.
* gcc.dg/
20000209-2.c: Turn off -pedantic-errors.
* gcc.dg/strpaste-2.c: New.
From-SVN: r32274
Mark Mitchell [Wed, 1 Mar 2000 00:54:49 +0000 (00:54 +0000)]
fold-const.c (size_binop): Don't asert inputs are the same and have TYPE_IS_SIZETYPE set.
* fold-const.c (size_binop): Don't asert inputs are the same and
have TYPE_IS_SIZETYPE set.
(size_diffop): Likewise.
From-SVN: r32273
Jason Merrill [Wed, 1 Mar 2000 00:40:13 +0000 (00:40 +0000)]
* init.c (construct_virtual_bases): Fix thinko.
From-SVN: r32272
Jason Merrill [Wed, 1 Mar 2000 00:02:33 +0000 (00:02 +0000)]
dwarfout.c (output_block): Output abstract blocks even if they don't have TREE_ASM_WRITTEN set.
* dwarfout.c (output_block): Output abstract blocks even if they
don't have TREE_ASM_WRITTEN set.
From-SVN: r32271
Jason Merrill [Wed, 1 Mar 2000 00:01:31 +0000 (00:01 +0000)]
* calls.c (emit_library_call): Check for null REG.
From-SVN: r32270
Martin v. Löwis [Tue, 29 Feb 2000 23:47:26 +0000 (23:47 +0000)]
Fix prototype for dbxout_symbol_location.
From-SVN: r32269
Martin v. Löwis [Tue, 29 Feb 2000 23:33:50 +0000 (23:33 +0000)]
c-decl.c (current_function_decl): Move to toplev.c.
* c-decl.c (current_function_decl): Move to toplev.c.
(init_decl_processing): Don't add current_function_decl as a ggc
root here.
* dbxout.c (dbxout_symbol): Change return type to int.
(dbxout_symbol_location, dbxout_syms): Likewise.
(dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without
any locals. Use current_function_func_begin_label if set.
* dbxout.h (dbxout_symbol, dbxout_syms): Change return type.
* dwarf2out.c (dwarf2out_begin_prologue): Set
current_function_func_begin_label.
* final.c (final_start_function): Reset it.
* toplev.c (current_function_decl): Define it here.
(current_function_func_begin_label): New variable.
(main): Add both as ggc roots.
* tree.h (current_function_func_begin_label): Declare.
* ch/decl.c (current_function_decl): Move to toplev.c.
* cp/decl.c (current_function_decl): Move to toplev.c.
* f/com.c (current_function_decl): Move to toplev.c.
* java/decl.c (current_function_decl): Move to toplev.c.
From-SVN: r32268
Jeffrey A Law [Tue, 29 Feb 2000 22:42:58 +0000 (22:42 +0000)]
calls.c (emit_library_call): Do not abort if FUNCTION_ARG returns a PARALLEL.
* calls.c (emit_library_call): Do not abort if FUNCTION_ARG
returns a PARALLEL. Use emit_group_load and use_group_regs
as needed.
(emit_library_call_value): Similarly.
From-SVN: r32267
Jeffrey A Law [Tue, 29 Feb 2000 20:29:14 +0000 (20:29 +0000)]
t-pa: Use quadlib.c instead of quadlib.asm.
* pa/t-pa: Use quadlib.c instead of quadlib.asm.
* pa/quadlib.asm: Remove.
* pa/quadlib.c: New file.
From-SVN: r32265
Richard Kenner [Tue, 29 Feb 2000 20:08:52 +0000 (20:08 +0000)]
gcse.c: Cleanups throughout: mostly white-space, but also some minor rearrangement of code.
* gcse.c: Cleanups throughout: mostly white-space, but also
some minor rearrangement of code.
From-SVN: r32264
Jeffrey A Law [Tue, 29 Feb 2000 18:30:48 +0000 (18:30 +0000)]
configure.in (hpux10, [...]): Use i128 float format.
* configure.in (hpux10, hpux11, PA32 mode): Use i128 float format.
* configure: Rebuilt.
From-SVN: r32263
Philip Blundell [Tue, 29 Feb 2000 18:00:11 +0000 (18:00 +0000)]
Apply Philip Blundell's patch to add arm-conix target.
From-SVN: r32260
Tom Tromey [Tue, 29 Feb 2000 17:11:46 +0000 (17:11 +0000)]
THANKS updates
From-SVN: r32258
Mo DeJong [Tue, 29 Feb 2000 17:08:00 +0000 (17:08 +0000)]
ZipOutputStream.java (closeEntry): Fixed error caused by the incorrect casting of a long to an int.
2000-02-28 Mo DeJong <mdejong@cygnus.com>
* java/util/zip/ZipOutputStream.java(closeEntry) : Fixed
error caused by the incorrect casting of a long to an int.
From-SVN: r32257
Mo DeJong [Tue, 29 Feb 2000 17:04:35 +0000 (17:04 +0000)]
ZipOutputStream.java (write_entry): Fixed SIGSEV caused by use of the wrong instance variable.
2000-02-28 Mo DeJong <mdejong@cygnus.com>
* java/util/zip/ZipOutputStream.java(write_entry) : Fixed
SIGSEV caused by use of the wrong instance variable.
From-SVN: r32256
Nathan Sidwell [Tue, 29 Feb 2000 10:30:56 +0000 (10:30 +0000)]
* g++.old-deja/g++.pt/unify7.C: New test.
From-SVN: r32254
Nathan Sidwell [Tue, 29 Feb 2000 10:29:52 +0000 (10:29 +0000)]
pt.c (fn_type_unification): Unify return type, whenever provided.
* pt.c (fn_type_unification): Unify return type, whenever
provided.
(get_bindings_real): Only pass return type when necessary.
Remove explicit return type check.
* class.c (resolve_address_of_overloaded_function): Pass desired
return type to fn_type_unification.
From-SVN: r32253
Jeff Law [Tue, 29 Feb 2000 08:45:07 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32252
Jason Merrill [Tue, 29 Feb 2000 08:30:48 +0000 (08:30 +0000)]
dwarf2out.c (gen_block_die): Output abstract blocks even if they don't have TREE_ASM_WRITTEN set.
* dwarf2out.c (gen_block_die): Output abstract blocks even if they
don't have TREE_ASM_WRITTEN set.
From-SVN: r32251
Mo DeJong [Tue, 29 Feb 2000 04:18:35 +0000 (04:18 +0000)]
static_inner.java: New file.
2000-02-28 Mo DeJong <mdejong@cygnus.com>
* libjava.compile/static_inner.java: New file.
From-SVN: r32250
Richard Kenner [Tue, 29 Feb 2000 02:34:48 +0000 (02:34 +0000)]
* Eliminate DECL_FIELD_SIZE.
* builtins.c (built_in_class_names, built_in_names): New variables.
* c-decl.c (finish_struct): Set specified size in DECL_SIZE.
* expr.c (expand_expr, case COMPONENT_REF): Get field size from
DECL_SIZE, not DECL_FIELD_SIZE.
* print-tree.c (print_node): Remove code that prints extra blank
lines in some cases.
Properly handle inline and builtin function cases.
* stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
* tree.h (built_in_class_named, built_in_names): New declarations.
(union tree_decl): Rename internal unions to u1 and u2 and change
some of their components.
Add new field built_in_class.
(DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
Reflect above changes.
(DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
(DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
* objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
(encode_field_decl): Likewise; also remove obsolete test for bitfield.
* ch/ch-tree.h (DECL_ACTION_NESTING_LEVEL): Use new tree union name.
* ch/decl.c (finish_struct): Don't clear DECL_FIELD_SIZE.
* ch/typeck.c (make_chill_struct_type): Likewise.
(apply_decl_field_layout): General cleanup.
Set DECL_SIZE instead of DECL_FIELD_SIZE.
* cp/class.c (build_vtbl_or_vbase_field, check_methods): Don't clear
DECL_FIELD_SIZE.
(check_bitfield_decl, check_field_decls): Set DECL_SIZE, not
DECL_FIELD_SIZE.
* cp/rtti.c (expand_class_desc): Likewise.
* cp/cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name.
(THUNK_VCALL_OFFSET): Likewise.
(THUNK_DELTA): Reflect changes in ../tree.h.
* java/java-tree.h (LABEL_PC): Relect name changes in ../tree.h.
(DECL_BIT_INDEX): Use underlying representation.
* java/parse.h (DECL_INHERITED_SOURCE_LINE): Likewise.
From-SVN: r32249
Dmitri Makarov [Tue, 29 Feb 2000 01:42:52 +0000 (01:42 +0000)]
Apply Dimitri Makarov's patch to import attribute short_call and #pragma
long_calls, no_long_calls.
From-SVN: r32248
Nick Clifton [Tue, 29 Feb 2000 00:34:46 +0000 (00:34 +0000)]
oops - switch SIZE_TYPE to "long unsigned int" since "unsigned long" is not
permissable.
From-SVN: r32245
J"orn Rennecke [Mon, 28 Feb 2000 22:15:23 +0000 (22:15 +0000)]
* sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.
From-SVN: r32244
Mark Mitchell [Mon, 28 Feb 2000 21:46:44 +0000 (21:46 +0000)]
* xcoffout.c (xcoffout_begin_function): Fix typo in previous change.
From-SVN: r32243
Joern Rennecke [Mon, 28 Feb 2000 21:42:55 +0000 (21:42 +0000)]
Comment typo fix.
From-SVN: r32242
Zack Weinberg [Mon, 28 Feb 2000 21:09:54 +0000 (21:09 +0000)]
tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
* tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
* cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if
NO_BUILTIN_WCHAR_TYPE is not defined.
(CPP_WCHAR_TYPE): Delete.
* cccp.c (main): Don't change wchar_type if cplusplus.
(special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE.
From-SVN: r32241
Nick Clifton [Mon, 28 Feb 2000 20:29:46 +0000 (20:29 +0000)]
Set SIZE_TYPE to unsigend long
From-SVN: r32240
Catherine Moore [Mon, 28 Feb 2000 20:27:43 +0000 (20:27 +0000)]
som.h (MAKE_DECL_ONE_ONLY): Define.
* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
(ASM_WEAKEN_LABEL): Define.
From-SVN: r32239
Jason Merrill [Mon, 28 Feb 2000 16:55:40 +0000 (16:55 +0000)]
search.c (protected_accessible_p): Also allow the access if the member is public in DERIVED.
* search.c (protected_accessible_p): Also allow the access if
the member is public in DERIVED. Lose TYPE parm.
(friend_accessible_p): Lose TYPE parm.
(accessible_p): Adjust.
From-SVN: r32238
Jason Eckhardt [Mon, 28 Feb 2000 15:09:59 +0000 (15:09 +0000)]
Obvious, micro-change: "Vladimir Markarov" -> "Vladimir Makarov".
From-SVN: r32237
Jason Merrill [Mon, 28 Feb 2000 14:46:46 +0000 (09:46 -0500)]
regen
From-SVN: r32236
Richard Kenner [Mon, 28 Feb 2000 12:41:36 +0000 (12:41 +0000)]
function.c (number_blocks): Reset next_block_index based on what debugging format is used, not what is defined.
* function.c (number_blocks): Reset next_block_index based on
what debugging format is used, not what is defined.
From-SVN: r32235
Richard Kenner [Mon, 28 Feb 2000 12:21:24 +0000 (12:21 +0000)]
lcm.c: Minor reformatting throughout.
* lcm.c: Minor reformatting throughout.
(reg_dies, reg_becomes_live): Properly handle multiple hard regs.
From-SVN: r32234
Jan Hubicka [Mon, 28 Feb 2000 12:08:41 +0000 (13:08 +0100)]
expr.c (store_constructor): Do not emit USE.
* expr.c (store_constructor): Do not emit USE.
* rtl.h (stupid_life_analysis): Remove.
From-SVN: r32233
Richard Kenner [Mon, 28 Feb 2000 12:06:00 +0000 (12:06 +0000)]
toplev.c (rest_of_compilation): Account for time in optimize_mode_switching.
* toplev.c (rest_of_compilation): Account for time in
optimize_mode_switching.
From-SVN: r32232
Richard Kenner [Mon, 28 Feb 2000 12:01:08 +0000 (12:01 +0000)]
jump.c (jump_optimize_1): Don't call delete_barrier_successors if only marking labels.
* jump.c (jump_optimize_1): Don't call delete_barrier_successors
if only marking labels.
From-SVN: r32231
Jan Hubicka [Mon, 28 Feb 2000 11:55:43 +0000 (12:55 +0100)]
calls.c (expand_call): Attempt to combine stack adjustments with pending stack adjustments.
Thu Feb 24 17:17:29 MET 2000 Jan Hubicka <jh@suse.cz>
* calls.c (expand_call): Attempt to combine stack adjustments with
pending stack adjustments.
From-SVN: r32230
J"orn Rennecke [Mon, 28 Feb 2000 11:38:10 +0000 (11:38 +0000)]
Fix for SH gcc.c-torture/compile/991229-3.c failure:
* loop.c (reg_in_basic_block_p): Don't abort when falling through
to the end of the function.
From-SVN: r32229
Mark Mitchell [Mon, 28 Feb 2000 09:51:42 +0000 (09:51 +0000)]
emit-rtl.c (remove_unncessary_notes): Remove notes for empty blocks.
* emit-rtl.c (remove_unncessary_notes): Remove notes for empty
blocks.
* final.c (next_block_index): Remove.
(max_block_depth): Likewise.
(pending_blocks): Likewise.
(init_final): Don't initialize them.
(final_start_function): Don't set next_block_index. Set up
BLOCK_NUMBER.
(final_scan_insn): Use BLOCK_NUMBER, not next_block_index.
* function.h (number_blocks): New function.
* function.c (get_block_vector): New function.
(identify_blocks): Use it.
(reorder_blocks): Set NOTE_BLOCK.
(number_blocks): New function.
* tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag.
* tree.h (BLOCK_NUMBER): New macro.
(tree_block): Add block_num field.
* dbxout.c (next_block_number): Remove.
(dbxout_init): Don't set it.
(dbxout_block): Only output blocks that have TREE_ASM_WRITTEN
set. Use BLOCK_NUMBER, rather than next_block_num, to determine
block numbers.
* toplev.c (rest_of_compilation): Always call
find_loop_tree_blocks. Fix indentation.
* dwarf2out.c (next_block_number): Remove.
(gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
to determine block numbers.
(gen_inlined_subroutine_die): Likewise.
(gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set.
(decls_for_scope): Don't increment next_block_number.
* dwarfout.c (next_block_number): Remove.
(output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
to determine block numbers.
(output_inlined_subroutine_die): Likewise.
(output_block): Only output blocks that have TREE_ASM_WRITTEN set.
(output_decls_for_scope): Don't increment next_block_number.
* sdbout.c (next_block_number): Remove.
(sdbout_block): Use BLOCK_NUMBER.
(sdbout_begin_block): Simplify.
* xcoffout.c (next_block_number): Remove.
(xcoffout_block): Use BLOCK_NUMBER, not next_block_number.
(xcoffout_begin_block): Don't set next_block_number.
(xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not
next_block_number.
From-SVN: r32228
Jeff Law [Mon, 28 Feb 2000 08:45:06 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r32227
Tom Tromey [Sun, 27 Feb 2000 21:42:40 +0000 (21:42 +0000)]
noclass.c: New file.
* libjava.jni/noclass.c: New file.
* libjava.jni/noclass.out: New file.
* libjava.jni/noclass.java: New file.
From-SVN: r32226
Richard Kenner [Sun, 27 Feb 2000 21:39:40 +0000 (21:39 +0000)]
builtins.c (c_strlen): Use size_diffop and return ssizetype value.
* builtins.c (c_strlen): Use size_diffop and return ssizetype value.
(expand_builtin_strcpy): Pass correct type to size_binop.
(expand_builtin_strcmp): Likewise.
Clean up conditional structure.
* c-decl.c (init_decl_processing): Don't call set_sizetype twice.
(complete_array_type): Don't use size_binop for MAXINDEX.
* c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
(c_sizeof_nowarn, c_size_in_bytes): Likewise.
(c_alignof): Use size_one_node.
(build_unary_op): Pass arg of proper type to size_binop.
(really_start_incremental_init, push_init_level): Use sizetype for
constructor{,_bit,_unfilled}_index.
(pop_init_label, output_init_element): Likewise.
(output_pending_init_elements, process_init_element): Likewise.
* calls.c (compute_argument_block_size): Field VAR is ssizetype.
* expr.c (store_expr): Use size_int.
(store_constructor): Use proper types for size_binop args.
(get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
(expand_expr_unaligned): Likewise.
(string_contant): Return object of sizetype.
* expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
(ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
(ARGS_SIZE_TREE): Pass proper types to size_binop.
* fold-const.c (int_const_binop): Refine when size_int is called.
(fold_convert): Likewise.
(size_int_wide): Rework to take KIND as arg, only take low order
bits, handle new sizetype_tab datatype, and chain entries in
size_table.
(size_int_type_wide): New function.
(size_binop): Validate types of arguments.
(ssize_binop): Deleted.
(size_diffop): New function.
(extract_muldiv): Only fold division into multiplication for sizetypes.
* function.c (assign_parms): Use size_diffop and make sure
VAR field is of ssizetype; also pass proper type to size_binop.
(locate_and_pad_parm, pad_to_arg_alignment): Likewise.
(round_down): Deleted from here.
* store-layout.c (sizetype_tab): Now an array.
(sizetype_set, early_root_list): New variables.
(variable_size): Use size_one_node.
(round_up): Pass proper type to size_binop.
(round_down): Moved to here and corrected as above.
(layout_record): Pass proper arg types to size_binop.
(layout_type): Likewise.
If sizetype_set is zero, record the type just laid out.
(make_unsigned_type): Don't call set_sizetype;
(make_signed_type): Likewise; also, call fixup_signed_type.
(initialize_sizetypes): New function.
(set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
set name of bitsizetype to "bit_size_type".
Fix up type of sizes of all types made before call.
* tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
* tree.c (fix_sizetype): Deleted.
(build_common_tree_nodes): Call initialize_sizetypes.
(build_common_tree_nodes_2): Don't call fix_sizetype.
* tree.h (TYPE_IS_SIZETYPE): New macro.
(initialize_sizetype): New declaration.
(enum size_type_kind): New type.
(struct sizetype_tab): Deleted.
(sizetype_tab): Now array; adjust sizetype macros.
(size_diffop, size_int_type_wide): New functions.
(size_int_wide): Change number of args and type; access macros changed.
(ssize_int, sbitsize_int): New macros.
* config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
(ROUND_TYPE_SIZE_UNIT): New macro.
* ch/actions.c (chill_convert_for_assignment): Don't use size_binop
for things that aren't sizes.
(expand_varying_length_assignment): Likewise.
* ch/convert.c (digest_array_tuple, convert): Likewise.
* ch/typeck.c (build_chill_slice, smash_dummy_type): Likewise.
(build_chill_slice_with_range): Likewise.
(build_chill_slice_with_length): Likewise.
(build_array_from_set): Adjust types for size_binop.
* ch/expr.c (build_concat_expr, build_chill_repetition_op): Likewise.
(build_chill_sizeof): Use TYPE_SIZE_UNIT.
* ch/tree.c (build_string_type): Pass proper type to size_binop.
* cp/class.c (dfs_build_vtable_offset_vtbl_entries): Don't use
size_binop on things that are not sizes; ssize_binop deleted.
Call size_diffop when appropriate.
(dfs_build_vcall_offset_vtbl_entries): Likewise.
(build_primary_vtable, build_secondary_vtable): Likewise.
(dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise.
Variable I is HOST_WIDE_INT.
(get_vfield_offset): Pass proper types to size_binop.
(size_extra_vtbl_entries, layout_virtual_bases): Likewise.
(finish_struct_1): Likewise.
(skip_rtti_stuff): Arg N is now pointer to signed.
(layout_class_type): Use size_zero_node.
* cp/cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed.
* cp/cvt.c (cp_convert_to_pointer): Pass proper types to size_binop.
* cp/decl.c (complete_arry_type): Pass proper types to size_binop.
(xref_basetypes): BINFO_OFFSET is sizetype.
* cp/error.c (dump_expr): Don't use size_binop non-sizes.
* cp/expr.c (cplus_expand_constant): Pass proper types to size_binop.
* cp/init.c (construct_virtual_bases): Fix type error.
(build_vec_delete_1): Pass proper type to size_binop and don't
fold result.
* cp/lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype.
* cp/rtti.c (get_base_offset): Pass proper type to size_binop.
* cp/search.c (dfs_find_vbases): Fix type error.
(expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed.
(dfs_get_vbase_types): BINFO_OFFSET is sizetype.
* cp/tree.c (debug_binfo): Variable N is signed.
Use HOST_WIDE_INT_PRINT_DEC.
* cp/typeck.c (comptypes): sizetype is same as equivalent integer type.
(c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT,
size_one_node and size_zero_node.
(c_alignof): Use size_one_node.
(build_component_addr): Pass proper types to size_binop.
(expand_ptrmemfunc_cst): Don't use size_binop on non-sizes.
* f/com.c (ffecom_arrayref_): Convert args to size_binop to proper
type.
(ffecom_tree_canonize_ptr_): Don't use size_binop for non-sizes.
(ffecom_tree_canonize_ref_): Likewise.
(type_for_mode): Handle TImode.
* f/ste.c (ffeste_io_dofio_, ffeste_io_douio_): Use TYPE_SIZE_UNIT.
(ffeste_io_ciclist_): Likewise.
* java/expr.c (build_java_ret): Pass proper type to size_binop.
From-SVN: r32225
Mark Mitchell [Sun, 27 Feb 2000 21:30:14 +0000 (21:30 +0000)]
p11116.C
From-SVN: r32224
Jason Merrill [Sun, 27 Feb 2000 21:19:35 +0000 (16:19 -0500)]
update
From-SVN: r32223
Zack Weinberg [Sun, 27 Feb 2000 20:59:54 +0000 (20:59 +0000)]
* c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
From-SVN: r32222