Commit Graph

42138 Commits

Author SHA1 Message Date
Jakub Jelinek 010f87c44f re PR rtl-optimization/6177 (ia64 ICE with single-element complex array in LAPACK)
PR optimization/6177
	* expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
	bitpos is 0 and bitsize CONCAT size.

	* gcc.c-torture/execute/20020411-1.c: New test.

From-SVN: r52178
2002-04-11 23:04:09 +02:00
Jakub Jelinek 578fc63d14 re PR c/6223 (internal compiler error in Wine-20020310)
PR c/6223
	* combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.

	* gcc.dg/20020411-1.c: New test.

From-SVN: r52176
2002-04-11 22:56:29 +02:00
Toon Moene b4f6d08917 lio.h: Treat INTEGER*1 as signed char.
2002-04-11  Toon Moene  <toon@moene.indiv.nluug.nl>

	* libI77/lio.h: Treat INTEGER*1 as signed char.

From-SVN: r52172
2002-04-11 19:49:56 +00:00
David O'Brien bf9b85ce1a freebsd.h: Minor reformatting.
2002-04-10  David O'Brien  <obrien@FreeBSD.org>
	* config/alpha/freebsd.h: Minor reformatting.
	(CPP_SPEC): Define ELF and add cpp_subtarget.
	(ASM_SPEC): No longer needed.

Approved by:  David S. Miller <davem@redhat.com>
              Message-Id: <20020410.203814.109035383.davem@redhat.com>

From-SVN: r52170
2002-04-11 18:11:53 +00:00
Richard Henderson 7425707da3 sparc.md (movdi_insn_sp32): Add o/J alternative.
* config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
        (movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
        (dimode mem/zero splitter): New.

From-SVN: r52168
2002-04-11 10:24:28 -07:00
Richard Sandiford af4e7bac5c Revert previous patch.
From-SVN: r52166
2002-04-11 16:39:41 +00:00
Adam King 94ed000253 jvm.h (_Jv_ThrowBadArrayIndex, [...]): Mark as noreturn.
2002-04-11  Adam King <aking@dreammechanics.com>
	    Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (_Jv_ThrowBadArrayIndex,
	_Jv_ThrowNullPointerException): Mark as noreturn.
	* win32.cc (_Jv_platform_initProperties): Use _Jv_MallocUnchecked
	and _Jv_free.  Correctly invoke GetTempPath().  Indentation
	fixes.

Co-Authored-By: Tom Tromey <tromey@redhat.com>

From-SVN: r52164
2002-04-11 15:57:56 +00:00
Hans-Peter Nilsson 1a05e8743e cris.c (cris_override_options): Tweak error message for PIC not implemented.
* config/cris/cris.c (cris_override_options): Tweak error message
	for PIC not implemented.

	* config/cris/cris.h: Tweak comments related to parameter-passing.

	* t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.

From-SVN: r52161
2002-04-11 15:04:38 +00:00
Richard Sandiford 3135284bfb * g++.dg/ext/attrib5.C: New test.
From-SVN: r52160
2002-04-11 14:17:56 +00:00
Richard Sandiford d75ff18417 decl.c (duplicate_decls): Don't try to unify an implicit typedef with an explicit one.
* decl.c (duplicate_decls): Don't try to unify an implicit typedef
	with an explicit one.
	(lookup_tag): Extract the tag of an explicit typedef.

From-SVN: r52159
2002-04-11 14:16:26 +00:00
GCC Administrator df51a2457a Daily bump.
From-SVN: r52153
2002-04-11 07:16:59 +00:00
Richard Henderson 6f3d0447fe except.c (add_ehl_entry): Allow duplicates after landing pad creation.
* except.c (add_ehl_entry): Allow duplicates after landing pad
        creation.

From-SVN: r52149
2002-04-10 18:06:33 -07:00
Janis Johnson 67092f4d30 * g77.f-torture/execute/6177.f: New test.
From-SVN: r52147
2002-04-10 22:12:19 +00:00
Jakub Jelinek dab550cb99 re PR middle-end/6247 (Konqueror miscompilation on IA-32)
PR middle-end/6247
	* g++.dg/opt/cleanup1.C: New test.

	* g++.dg/opt/const1.C: New test.

From-SVN: r52146
2002-04-10 23:49:26 +02:00
Tom Tromey 880f8c16ad Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (java/lang/Thread.h): Mark
	_Jv_AttachCurrentThreadAsDaemon as friend.
	* gcj/javaprims.h (_Jv_AttachCurrentThreadAsDaemon): Declare.
	* gcj/cni.h (JvAttachCurrentThreadAsDaemon): New function.
	* java/lang/natThread.cc (_Jv_AttachCurrentThreadAsDaemon): New
	function.
	* java/lang/natRuntime.cc (_load): Recognize JNI_VERSION_1_4.
	* jni.cc (_Jv_JNI_GetVersion): Return JNI_VERSION_1_4.
	(_Jv_JNI_InvokeFunctions): Added
	_Jv_JNI_AttachCurrentThreadAsDaemon.
	(_Jv_JNI_GetEnv): Handle JNI_VERSION_1_4.
	(JNI_GetDefaultJavaVMInitArgs): Likewise.
	(JNI_CreateJavaVM): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_JNI_AttachCurrentThread): Added `is_daemon' argument.
	(_Jv_JNI_AttachCurrentThreadAsDaemon): New method.
	(_Jv_JNIFunctions): Initialize new fields.
	(_Jv_JNI_NewDirectByteBuffer): New function.
	(_Jv_JNI_GetDirectBufferAddress): Likewise.
	(_Jv_JNI_GetDirectBufferCapacity): Likewise.
	* include/jni.h (JNI_VERSION_1_4): New macro.
	(JNIInvokeInterface::AttachCurrentThreadAsDaemon): New field.
	(_Jv_JavaVM::AttachCurrentThreadAsDaemon): New method.
	(JNINativeInterface::NewDirectByteBuffer): New field.
	(JNINativeInterface::GetDirectBufferAddress): New field.
	(JNINativeInterface::GetDirectBufferCapacity): New field.
	(_Jv_JNIEnv::NewDirectByteBuffer): New method.
	(_Jv_JNIEnv::GetDirectBufferAddress): New method.
	(_Jv_JNIEnv::GetDirectBufferCapacity): New method.

From-SVN: r52144
2002-04-10 20:36:04 +00:00
David Edelsohn 174bf2b1b2 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
From-SVN: r52142
2002-04-10 16:28:21 -04:00
Toon Moene 03f104725f c-decl.c (c_init_decl_processing): Move generation of decls for g77_integer_type_node and friends from here ...
2002-04-10  Toon Moene  <toon@moene.indiv.nluug.nl>

	* c-decl.c (c_init_decl_processing): Move generation of
	decls for g77_integer_type_node and friends from here ...
	* c-common.c (c_common_nodes_and_builtins): ... to here.

From-SVN: r52141
2002-04-10 19:49:52 +00:00
Ulrich Weigand 2f460a0a57 reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM is only used as frame pointer when...
* reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
	is only used as frame pointer when frame_pointer_needed is true.

From-SVN: r52140
2002-04-10 17:56:02 +00:00
Lars Brinkhoff 6127eac4bd * gcc.c-torture/execute/20020406-1.c: Declare malloc.
From-SVN: r52138
2002-04-10 10:47:24 -07:00
Richard Earnshaw 0be5cf851a re PR target/817 (ARM compiler generates out-of-range accesses to constant pool data)
PR target/817
* arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
for the fact that the pool entry uses two words.
(movdf_hard_insn): Similarly.  Also, ADR instruction can span
1k bytes.
(movdf_soft_insn): Similarly.
(movxf_hard_insn): Adjust neg_pool_range attribute to allow
for the fact that the pool entry uses three words.

From-SVN: r52132
2002-04-10 14:06:38 +00:00
Jason Merrill 6b7c9242a8 init.c (build_member_call): For now, don't convert to intermediate base if it would cause an error.
* init.c (build_member_call): For now, don't convert to
        intermediate base if it would cause an error.

From-SVN: r52129
2002-04-10 08:18:44 -04:00
Richard Sandiford bf6d4777dd mips.c (mips_va_arg): When using the struct version of the EABI va_list...
* config/mips/mips.c (mips_va_arg): When using the struct version
	of the EABI va_list, allow arguments in the register save area to
	take up less room than a stack argument.

From-SVN: r52125
2002-04-10 10:36:50 +00:00
Nathan Sidwell ba3307c092 re PR c++/5507 (Overzealous implicit typename warning)
cp:
        PR c++/5507
        * decl.c (make_typename_type): Remove implicit typenameness.
testsuite:
        PR c++/5507
        * g++.dg/template/typename2.C: New test.

From-SVN: r52124
2002-04-10 09:40:18 +00:00
GCC Administrator d4bb3dd75c Daily bump.
From-SVN: r52122
2002-04-10 07:17:16 +00:00
Richard Henderson c2e9dc85ff expr.c (expand_expr): Don't force into registers if EXPAND_INITIALIZER.
* expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
        if EXPAND_INITIALIZER.

From-SVN: r52118
2002-04-10 00:11:32 -07:00
Richard Henderson bc8e8e97b4 alpha.md (movdi_er_maybe_g): New.
* config/alpha/alpha.md (movdi_er_maybe_g): New.
        * config/alpha/alpha.c (alpha_expand_mov): Use it.

From-SVN: r52113
2002-04-09 22:22:33 -07:00
Alan Modra aec3e1894e * gcc.c-torture/execute/loop-12.c: New.
From-SVN: r52111
2002-04-10 13:22:22 +09:30
Alan Modra a6a063b81c re PR rtl-optimization/6233 (simple loop miscompilation)
PR optimization/6233
	* rtlanal.c (pure_call_p): New function.
	* rtl.h (pure_call_p): Declare.
	* loop.c (prescan_loop): Use it to set has_nonconst_call.
	* gcse.c (store_killed_in_insn): Use pure_call_p here too.

From-SVN: r52110
2002-04-10 13:20:39 +09:30
Eric Christopher 7b2e107761 mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional information to .comm directive.
2002-04-09  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
	information to .comm directive.

From-SVN: r52109
2002-04-10 03:40:00 +00:00
Loren J. Rittle ef98ad7b6c * configure.in: Add *-*-freebsd* configurations.
From-SVN: r52107
2002-04-10 02:51:54 +00:00
Richard Henderson d8a50944dc expr.c (expand_expr): Force overflows into registers.
* expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.

	* gcc.c-torture/compile/20020409-1.c: New.

From-SVN: r52104
2002-04-09 19:22:20 -07:00
Richard Henderson 6a58eee93d basic-block.h (flow_delete_block_noexpunge): Declare.
* basic-block.h (flow_delete_block_noexpunge): Declare.
	(expunge_block_nocompact): Declare.
	* cfg.c (expunge_block_nocompact): Split out from ...
	(expunge_block): ... here.
	* cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
	(flow_delete_block_noexpunge): Split out from ...
	(flow_delete_block): ... here.
	* cfgcleanup.c (delete_unreachable_blocks): Compact while
	removing dead blocks.
	* except.c (exception_handler_labels): Remove.
	(exception_handler_label_map): New.
	(struct eh_region): Add aka member.
	(mark_ehl_map_entry, mark_ehl_map, free_region): New.
	(ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
	(for_each_eh_label, for_each_eh_label_1): New.
	(init_eh): Register exception_handler_label_map.
	(free_eh_status): Use free_region.
	(find_exception_handler_labels): Use the map, not the list.
	(remove_exception_handler_label): Likewise.
	(maybe_remove_eh_handler): Likewise.
	(remove_eh_handler): Use the region aka bitmap.
	* except.h (exception_handler_labels): Remove.
	(for_each_eh_label): Declare.
	* jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
	* loop.c (invalidate_loops_containing_label): New.
	(find_and_verify_loops): Use it.  Use for_each_eh_label.
	* sched-rgn.c (is_cfg_nonregular): Use
	current_function_has_exception_handlers.

From-SVN: r52100
2002-04-09 17:15:58 -07:00
Richard Henderson 4fc4e47839 hashtab.c (higher_prime_number): Use 7 as minimum.
* hashtab.c (higher_prime_number): Use 7 as minimum.
        (find_empty_slot_for_expand): Don't compute hash2 unless needed.
        (htab_find_slot_with_hash): Likewise.

From-SVN: r52099
2002-04-09 17:14:53 -07:00
Loren J. Rittle b911c031b3 gcconfig.h (DATAEND): Update comment example to match reality.
* include/private/gcconfig.h (DATAEND): Update comment example
	to match reality.

From-SVN: r52098
2002-04-09 23:11:36 +00:00
Benjamin Kosnik 0dba73e0ab localefwd.h (locale::_Impl::_M_facets): Change from pointer to vector.
2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>

        libstdc++/1072
        * include/bits/localefwd.h (locale::_Impl::_M_facets): Change from
        pointer to vector.
        Remove forward declaration of vector.
        Include vector.
        * include/bits/locale_facets.tcc: Remove vector include.
        (use_locale): Adjust.
        (has_locale): Adjust.
        * src/locale.cc: Adjust.
        * src/localename.cc: Same.

From-SVN: r52095
2002-04-09 21:19:55 +00:00
Richard Henderson b47374fa9b sbitmap.c (sbitmap_union_of_diff, [...]): Do not return changed status.
* sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
        sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
        Do not return changed status.
        (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
        sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
        New functions that do return changed status.
        * sbitmap.h: Update decls.
        * gcse.c, lcm.c: Use _cg functions as needed.

From-SVN: r52094
2002-04-09 14:15:38 -07:00
J"orn Rennecke 1951818c2f config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
* config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
	(sh64-*-elf*, sh-*-rtemself*): Likewise.
	* config/sh/embed_bb.c: New file.
	* config/sh/embed-elf.h: New file.
	* sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
	if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
	(CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
	__PTRDIFF_TYPE__ .
	(SUBTARGET_CPP_PTR_SPEC): Don't define.
	(EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
	Add subtarget_asm_endian_spec.
	(ASM_SPEC): Use subtarget_asm_endian_spec.
	(SUBTARGET_ASM_ENDIAN_SPEC): Define.
	(RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
	(WCHAR_UNSIGNED): Define.
	(SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
	(ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
	Fix value.
	* sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
	(sh_adjust_cost): Likewise.
	sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
	__PTRDIFF_TYPE__ .
	(SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
	(WCHAR_TYPE_SIZE): Likewise.
	(ASM_SPEC): Use subtarget_asm_endian_spec.
	(SH_ELF_WCHAR_TYPE): #undef/ #define.
	(MAX_WCHAR_TYPE_SIZE): Don't #undef.
	* config/sh/elf.h (WCHAR_UNSIGNED): #undef .
	(MAX_WCHAR_TYPE_SIZE): Don't #define .
	(WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
	(USER_LABEL_PREFIX): Don't #undef /#define .
	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
	* config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
	(ASM_SPEC): Likewise.
	(SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
	(CC1_SPEC): don't supply -m3 for -m4*, -m5*.
	* t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
	(LIB2FUNCS_EXTRA): Define.
	* t-sh64 (LIB2FUNCS_EXTRA): Define.
	* config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
	(LIB1ASMFUNCS_CACHE): Define.
	(LIB2FUNCS_EXTRA): Redefine empty.

From-SVN: r52091
2002-04-09 21:07:15 +01:00
Richard Henderson 3429579991 * reorg.c (get_branch_condition): Use reversed_comparison_code.
From-SVN: r52090
2002-04-09 12:45:20 -07:00
Stephane Carrez e8766a3973 larith.asm (__map_data_section): Fix condition and optimize for size.
* config/m68hc11/larith.asm (__map_data_section): Fix condition
	and optimize for size.
	(__do_global_ctors): Fix pointer comparison.
	(__do_global_dtors): Likewise.

From-SVN: r52086
2002-04-09 20:53:50 +02:00
Tom Tromey 42aacdfbb8 * win32.cc (_Jv_platform_initProperties): Use GetTempPath.
From-SVN: r52084
2002-04-09 17:44:32 +00:00
Jason Merrill 02f136ee0d re PR rtl-optimization/6189 (Regression from 3.0.x: g++ -O3 generates wrong code)
PR optimization/6189
        * semantics.c (genrtl_start_function): Don't free
        DECL_SAVED_FUNCTION_DATA for inline functions.

[[Split portion of a mixed commit.]]

From-SVN: r52083.2
2002-04-09 13:02:43 -04:00
Jason Merrill edf5cd1d1d re PR rtl-optimization/6189 (Regression from 3.0.x: g++ -O3 generates wrong code)
PR optimization/6189
        * semantics.c (genrtl_start_function): Don't free
        DECL_SAVED_FUNCTION_DATA for inline functions.

From-SVN: r52082
2002-04-09 13:01:59 -04:00
David S. Miller f451b552cf sparc.c (sparc_extra_constraint_check): New function, implementing EXTRA_CONSTRAINTS.
2002-04-09  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.c (sparc_extra_constraint_check): New
	function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
	allow reloading pseudos.
	* config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
	* config/sparc/sparc-protos.h: Declare it.

	* config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
	unsigned comparison warning.
	(output_restore_regs): Mark leaf_function as unused.

From-SVN: r52080
2002-04-09 07:52:03 -07:00
Jason Merrill cd6af0c13a init.c (build_member_call): For now, don't convert to intermediate base if it would cause an error.
* init.c (build_member_call): For now, don't convert to
        intermediate base if it would cause an error.

From-SVN: r52078
2002-04-09 09:59:59 -04:00
Richard Kenner 1ce7f3c2ab expr.c (is_aligning_offset): New function.
* expr.c (is_aligning_offset): New function.
	(expand_expr, case COMPONENT_EXPR): Call it.

From-SVN: r52077
2002-04-09 09:41:58 -04:00
Benjamin Kosnik dcf5a5dec8 sstream.tcc: Clean up bit ops.
2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* include/bits/sstream.tcc: Clean up bit ops.
	* include/bits/fstream.tcc: Same.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r52070
2002-04-09 08:48:33 +00:00
Jakub Jelinek b0396e3b6c locale_facets.h (__num_base::_S_scale_hex): Remove.
2002-04-09  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/locale_facets.h (__num_base::_S_scale_hex): Remove.
	(__num_base::_S_scale_oct): Remove.
	* src/locale.cc (__num_base::_S_scale_hex): Remove.
	(__num_base::_S_scale_oct): Remove.

From-SVN: r52068
2002-04-09 08:00:08 +00:00
Benjamin Kosnik 1cb7f91f86 bitset_members.cc: New test.
2002-04-09  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/6124
	* testsuite/23_containers/bitset_members.cc: New test.
	* include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
	(_S_bit_count): Here.
	(_First_one::_S_first_one): Move...
	(_S_first_one): Here.
	Format.
	* src/bitset.cc: Adjust.
	* config/linker-map.gnu: Export.

From-SVN: r52066
2002-04-09 07:35:31 +00:00
GCC Administrator e70ed0d9a5 Daily bump.
From-SVN: r52064
2002-04-09 07:17:26 +00:00
Hans-Peter Nilsson ed426a38ad Fix ChangeLog date
From-SVN: r52059
2002-04-09 07:08:23 +00:00