Alan Modra [Thu, 13 Mar 2003 10:35:47 +0000 (10:35 +0000)]
rs6000.c (rs6000_flag_pic): Delete.
* config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
(rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
(rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
(rs6000_override_options): Don't clear flag_pic for ABI_AIX.
(rs6000_legitimize_address): Formatting.
(rs6000_emit_move): Likewise.
(rs6000_return_addr): Test ABI_AIX as well as flag_pic.
(rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
(rs6000_elf_select_section): Comment reason for shlib being
set for ABI_AIX.
(rs6000_elf_unique_section): Likewise.
(rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
as well as flag_pic.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
* config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
Nathanael Nerode [Thu, 13 Mar 2003 04:06:51 +0000 (04:06 +0000)]
c4x-c.c, [...]: GCC, not GNU CC.
* config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
GCC, not GNU CC.
* gcc.dg/special/ecos.exp (gcsec-1.c): Find linker used by gcc.
* gcc.dg/old-style-asm-1.c (dg-final): Add hpux label alternative to
regular expression.
* gcc.dg/funcorder.c (dg-final): Check for "link_error,%r" on hppa*-*-*.
* gcc.dg/inline-1.c (dg-final): Check for "xyzzy?,%r" on hppa*-*-*.
Nathanael Nerode [Thu, 13 Mar 2003 03:30:00 +0000 (03:30 +0000)]
lib1funcs.asm, [...]: GCC, not GNU CC.
* config/v850/lib1funcs.asm, config/v850/rtems.h,
config/v850/v850-c.c, config/v850/v850-protos.h,
config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
GCC, not GNU CC.
Jonathan Wakely [Thu, 13 Mar 2003 00:15:59 +0000 (00:15 +0000)]
index.html: Explain memory "leaks" due to allocators.
2003-03-12 Jonathan Wakely <redi@gcc.gnu.org>
* docs/html/faq/index.html: Explain memory "leaks" due to allocators.
* docs/html/faq/index.txt: Regenerate.
* docs/html/debug.html: Add a bit to allocator text and fix XHTML.
Andrew Lewycky [Wed, 12 Mar 2003 22:24:48 +0000 (17:24 -0500)]
re PR c++/7050 (g++ segfaults on: (i ? get_string() : throw))
PR c++/7050
* expr.c (store_expr): Don't attempt to store void-typed trees,
just evaluate them for side effects.
* cp/expr.c (cxx_expand_expr): Return const0_rtx for throw
expressions.
Andrew Haley [Wed, 12 Mar 2003 16:14:01 +0000 (16:14 +0000)]
gjavah.c (is_first_data_member): New global variable.
2003-03-04 Andrew Haley <aph@redhat.com>
* gjavah.c (is_first_data_member): New global variable.
(print_c_decl): If it's the first data member, align it as the
superclass.
(process_file): Set is_first_data_member.
Jan Hubicka [Wed, 12 Mar 2003 14:15:09 +0000 (15:15 +0100)]
hashtab.c (htab_expand): Compute the size of hashtable based on the number of elements actually used.
* hashtab.c (htab_expand): Compute the size of hashtable based
on the number of elements actually used.
(htab_traverse): Call htab_expand when table is too empty.
Danny Smith [Wed, 12 Mar 2003 08:59:29 +0000 (08:59 +0000)]
winnt.c (DLL_IMPORT_PREFIX): New define.
* config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
(DLL_EXPORT_PREFIX): New define. Use throughout instead of
DLL_IMPORT_EXPORT_PREFIX and "i."
(i386_pe_dllexport_name_p): Here.
(i386_pe_dllimport_name_p): Here.
(i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
not 9 chars when getting identifier name.
(i386_pe_mark_dllimport): Here.
(i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
not 9 chars when getting identifier name. Correct comment.
(i386_pe_strip_name_encoding): Here. Add comments for different
cases.
(gen_fastcall_suffix): Break down xmalloc() argument to
components.
(gen_stdcall_suffix): Likewise.
Update copyright year.
Eric Botcazou [Wed, 12 Mar 2003 08:53:27 +0000 (09:53 +0100)]
re PR rtl-optimization/9888 (-mcpu=k6 -Os produces out of range loop instructions)
PR optimization/9888
* config/i386/i386.md (movsi_1): Remove special alternatives
for %eax register.
(movsi_1_nointernunit): Likewise.
(movhi_1): Likewise.
* config/i386/i386.c (memory_address_length): Do not use
short displacement when there is no base.
(ix86_attr_length_address_default): Handle LEA instructions.
Alexandre Oliva [Wed, 12 Mar 2003 04:18:34 +0000 (04:18 +0000)]
g++.1: Remove.
* g++.1: Remove.
* Make-lang.in (c++.generated-manpages): Build cp/g++.1.
(cp/g++.1): Build it from scratch in the build tree.
(c++.install-man): Depend on it. Install it from the build tree.
(c++.mostlyclean): Clean it.
Alexandre Oliva [Tue, 11 Mar 2003 23:31:01 +0000 (23:31 +0000)]
linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
* config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
specified.
(SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
DRIVER_SELF_SPECS.
(LINK_SPEC): Let endian options affect the linker emulation name.
Jan Hubicka [Tue, 11 Mar 2003 21:52:42 +0000 (22:52 +0100)]
cselib.c (cselib_invalidate_mem_1): Move too ...
* cselib.c (cselib_invalidate_mem_1): Move too ...
(cselib_invalidate_mem): ... here; use new list
(dummy_val, first_containing_mem): New static variables.
(clear_table): Initialize first_containing_mem.
(discard_useless_values): Compact the containing_mem list.
(add_mem_for_addr): Add to the list.
* cselib.h (cselib_val): Add next_containing_mem.
Tom Tromey [Tue, 11 Mar 2003 20:37:02 +0000 (20:37 +0000)]
parse.y (resolve_field_access): Initialize class if field is found in another static field.
* parse.y (resolve_field_access): Initialize class if field is
found in another static field.
* expr.c (build_class_init): Don't optimize out initialization of
implemented interface.
Carlo Wood [Tue, 11 Mar 2003 19:55:46 +0000 (19:55 +0000)]
cplus-dem.c (demangle_integral_value): Correction to reflect patch of 2002-01-10 in order to also make negative...
* cplus-dem.c (demangle_integral_value): Correction to reflect
patch of 2002-01-10 in order to also make negative multi-digits
without leading underscore work.
* config/cris/cris.md: Remove lingering EGCS reference.
("*extopqihi_side_biap"): For HI operation, match
cris_additive_operand_extend_operator, not
cris_operand_extend_operator. Adjust condition.
("*extopqihi_side", "*extopqihi"): Ditto.
("*extopqisi_side_biap"): Correct operand numbers in condition.
("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
("*extophisi_swap"): Ditto.
("*extopqihi_swap_side_biap"): For HI operation, match a simple
PLUS, not cris_operand_extend_operator. Adjust condition and
output template.
("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
* config/cris/cris.h (PREDICATE_CODES): Add
cris_additive_operand_extend_operator.
* config/cris/cris.c (cris_additive_operand_extend_operator):
New predicate.
Hartmut Penner [Tue, 11 Mar 2003 09:17:38 +0000 (09:17 +0000)]
df.c (read_modify_subreg_p): Change from static to global.
* df.c (read_modify_subreg_p): Change from static to global.
* df.h (read_modify_subreg_p): Add prototype.
* sched-deps.c (sched_analyze_1): Generate true dependency for
strict_low_part, certain subregs and zero/sign_extract.
Andrew Pinski [Tue, 11 Mar 2003 01:41:11 +0000 (01:41 +0000)]
darwin.c (machopic_function_base_name): If dynamic-no-pic is on should not get here.
2003-03-10 Andrew Pinski <apinski@apple.com>
* config/darwin.c (machopic_function_base_name): If dynamic-no-pic
is on should not get here.
(machopic_indirect_data_reference): If dynamic-no-pic is on just
generate high/low parts of the address.
(machopic_legitimize_pic_address): Change MACHOPIC_PURE to
MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
symbol and labels with a new reg. Dynamic-no-pic does not have a
pic_offset_table_rtx.
(machopic_select_section): Change references of flag_pic to
MACHOPIC_INDIRECT.
(machopic_asm_out_destructor): Likewise.
* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
reference of flag_pic to MACHOPIC_INDIRECT.
(MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
(MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
(MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
(MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
* config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
* config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
(TARGET_DYNAMIC_NO_PIC): Define.
(SUBTARGET_SWITCHES): Define, have sub-target switches for
dynamic-no-pic.
(SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
rs6000_override_options to here. Dynamic-no-pic overrides
pic.
(CC1_SPEC): Change from not static then pic to not static and not
dynamic-no-pic then pic.
* config/rs6000/rs6000.c (rs6000_override_options): Move the
check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
(rs6000_legitimize_reload_address): Add case for loading floating in
dynamic-no-pic.
(rs6000_emit_move): Add case for dynamic-no-pic. Change reference
of flag_pic to MACHOPIC_INDIRECT.
(secondary_reload_class): Conditional change the reference of
flag_pic to MACHOPIC_INDIRECT.
(rs6000_output_mi_thunk): Change reference of flag_pic to
MACHOPIC_INDIRECT.
(output_profile_hook): Likewise.
(machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
* config/rs6000/rs6000.md (movdf_low): Add the case for
MACHO_DYNAMIC_NO_PIC_P.
(call): Change references for flag_pic in TARGET_MACHO to
MACHOPIC_INDIRECT.
(SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
-mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
* doc/invoke.texi (-mdynamic-no-pic): Document.
Stephane Carrez [Mon, 10 Mar 2003 22:10:37 +0000 (23:10 +0100)]
m68hc11.h (HARD_REGNO_RENAME_OK): Define.
* config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
* config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
Declare.
* config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
for reg rename optimization to avoid using Z and Y registers.