Commit Graph

497 Commits

Author SHA1 Message Date
Kazu Hirata
14b493d64d regmove.c: Fix comment typos.
* regmove.c: Fix comment typos.
	* reload.c: Likewise.
	* reload1.c: Likewise.
	* resource.c: Likewise.
	* rtl.def: Likewise.
	* rtl.h: Likewise.
	* rtlanal.c: Likewise.
	* sched-deps.c: Likewise.
	* sched-rgn.c: Likewise.
	* sibcall.c: Likewise.
	* simplify-rtx.c: Likewise.
	* ssa-ccp.c: Likewise.
	* ssa.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* system.h: Likewise.
	* tlink.c: Likewise.
	* toplev.c: Likewise.
	* tracer.c: Likewise.
	* tree-inline.c: Likewise.
	* tree.c: Likewise.
	* tree.h: Likewise.
	* unroll.c: Likewise.
	* varasm.c: Likewise.

From-SVN: r60473
2002-12-24 08:30:34 +00:00
Kazu Hirata
5bdc58781b c-pretty-print.h: Fix comment typos.
* c-pretty-print.h: Fix comment typos.
	* integrate.c: Likewise.
	* varasm.c: Likewise.
	* config/c4x/c4x.h: Likewise.
	* config/c4x/c4x.md: Likewise.
	* config/fr30/fr30.md: Likewise.
	* config/frv/frv.c: Likewise.
	* config/h8300/h8300.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/i386.h: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/ip2k/ip2k.md: Likewise.
	* config/m68hc11/m68hc11-crt0.S: Likewise.
	* config/m68hc11/m68hc11.h: Likewise.
	* config/m68hc11/m68hc11.md: Likewise.
	* config/m68hc11/m68hc12.h: Likewise.
	* config/mcore/mcore.md: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mips/mips.md: Likewise.
	* config/mmix/mmix-modes.def: Likewise.
	* config/pa/pa.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rs6000/rs6000.h: Likewise.
	* config/rs6000/rs6000.md: Likewise.

From-SVN: r60354
2002-12-20 04:30:57 +00:00
Kazu Hirata
272d0bee76 ChangeLog: Follow spelling conventions.
* ChangeLog: Follow spelling conventions.
	* ChangeLog.2: Likewise.
	* ChangeLog.4: Likewise.
	* ChangeLog.5: Likewise.
	* cppexp.c: Likewise.
	* df.c: Likewise.
	* gcov.c: Likewise.
	* gengtype.c: Likewise.
	* reload1.c: Likewise.
	* sched-rgn.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* timevar.c: Likewise.
	* toplev.c: Likewise.
	* tree.h: Likewise.
	* varasm.c: Likewise.
	* config/fr30/fr30.md: Likewise.
	* config/i386/i386.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/pa/pa.c: Likewise.

From-SVN: r60281
2002-12-19 05:18:13 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Richard Henderson
5d5cd66f11 tree.h (MODULE_LOCAL_P): Kill.
* tree.h (MODULE_LOCAL_P): Kill.
        * varasm.c (default_binds_local_p_1): Use decl_visibility instead.

From-SVN: r60040
2002-12-11 10:28:26 -08:00
Richard Henderson
3a04ff6433 target.h (gcc_target): Add cannot_force_const_mem.
* target.h (gcc_target): Add cannot_force_const_mem.
        * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
        (TARGET_INITIALIZER): Add it.
        * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
        * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
        * reload1.c (reload): Likewise.
        * hooks.c (hook_bool_rtx_false): New.
        * hooks.h: Declare it.

        * config/i386/i386.c (ix86_cannot_force_const_mem): New.
        (TARGET_CANNOT_FORCE_CONST_MEM): New.
        (ix86_expand_move): Remove de-const-pooling hack.

	* gcc.dg/tls/opt-4.c: New.

From-SVN: r59971
2002-12-09 15:54:01 -08:00
Richard Henderson
25fdb4dc97 c-common.c (handle_visibility_attribute): Accept "default".
* c-common.c (handle_visibility_attribute): Accept "default".
	* tree.h (enum symbol_visibility): New.
	(decl_visibility): Declare.
	* target.h (gcc_target.visibility): Take visibility arg as integer.
	* varasm.c (default_assemble_visibility): Likewise.
	(decl_visibility): New.
	(maybe_assemble_visibility): Use it.
	* output.h (default_assemble_visibility): Update prototype.
	* config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
	visibility arg as integer.

From-SVN: r59559
2002-11-26 22:13:23 -08:00
Jakub Jelinek
f411159305 varasm.c (output_constant_pool): For pool constants in mergeable section ensure each constant is padded to...
* varasm.c (output_constant_pool): For pool constants in mergeable
	section ensure each constant is padded to multiple of entity size.

From-SVN: r59508
2002-11-26 13:36:09 +01:00
Jakub Jelinek
96d0f4dc5c varasm.c (default_exception_section): Move to...
* varasm.c (default_exception_section): Move to...
	* except.c (default_exception_section): ... here. Make
	.gcc_except_table read-only if it is not expected to have any
	dynamic relocations and linker handles it.
	* dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
	if it is not expected to have any dynamic relocations and linker
	handles it.
	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
	when linking read-only and read-write sections together.
	* configure, config.in: Rebuilt.
	* crtstuff.c (EH_FRAME_SECTION_CONST): Define.
	(__EH_FRAME_BEGIN__, __FRAME_END__): Add it.

From-SVN: r59507
2002-11-26 13:34:25 +01:00
Jakub Jelinek
7eca317a0f varasm.c (output_addressed_constants): Clear reloc if both operands contain local relocations.
* varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
	both operands contain local relocations.
	(categorize_decl_for_section): Don't use mergeable sections if
	initializer has any relocations.

	* gcc.dg/20021029-1.c: New test.
	* gcc.dg/20021029-2.c: New test.

From-SVN: r59097
2002-11-14 08:56:54 +01:00
Mark Mitchell
9b5b7e3a8f re PR c++/8333 (c++ emits double .globals for symbols [ regression from 3.0.4 ])
PR c++/8333
	* varasm.c (asm_output_aligned_bss): Do not call
	ASM_GLOBALIZE_LABEL.

From-SVN: r58658
2002-10-30 19:23:27 +00:00
Igor Shevlyakov
7a360cce09 * varasm.c (struct rtx_const): Array size 16 for V16QImode.
From-SVN: r58509
2002-10-24 16:00:32 -07:00
Alan Modra
6a0a6ac4c1 output.h (SECTION_NOTYPE): Define.
* output.h (SECTION_NOTYPE): Define.
	* varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
	init array sections.
	(default_elf_asm_named_section): Mind SECTION_NOTYPE.
	* config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
	merge TLS support.

From-SVN: r58404
2002-10-22 17:29:41 +09:30
Kaveh R. Ghazi
7bdfd72e8d decl.c (typename_hash): Use htab_hash_pointer.
cp:
	* decl.c (typename_hash): Use htab_hash_pointer.

gcc:
	* fold-const.c (size_htab_hash): Use htab_hash_pointer.
	* function.c (insns_for_mem_hash): Likewise.
	* varasm.c (STRHASH): Likewise.

java:
	* class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.

From-SVN: r58036
2002-10-11 01:28:28 +00:00
Roger Sayle
f963b5d977 re PR rtl-optimization/6627 (-fno-align-functions regression from 2.95)
PR optimization/6627
	* toplev.c (force_align_functions_log): New global variable.
	* flags.h (force_align_functions_log): Add extern prototype.
	* varasm.c (assemble_start_function): Use it to force minimum
	function alignment.
	* config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
	minimum function alignment to one byte.
	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
	the least significant bit of vtable member function pointers.
	* tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
	here from cp/cp-tree.h.

	* cp/cp-tree.h (enum ptrmemfunc_vbit_where_t): Delete definition
	from here, and move it to tree.h.
	* cp/decl.c (cxx_init_decl_processing): If storing the vbit
	in function pointers, ensure that force_align_functions_log
	is atleast one.

	* java/lang.c (java_init): If storing the vbit in function
	pointers, ensure that force_align_functions_log is atleast
	one to aid compatability with g++ vtables.

From-SVN: r57745
2002-10-02 18:46:45 +00:00
Jakub Jelinek
dce81a1a59 extend.texi (tls_model): Document.
* doc/extend.texi (tls_model): Document.
	* varasm.c (decl_tls_model): New.
	* c-common.c (handle_tls_model_attribute): New.
	(c_common_attribute_table): Add tls_model.
	* config/alpha/alpha.c (alpha_encode_section_info): Use
	decl_tls_model.
	* flags.h (enum tls_model, flag_tls_default): Move...
	* tree.h (enum tls_model, flag_tls_default): ...here.
	(decl_tls_model): New prototype.
	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
	* config/i386/i386.c (ix86_encode_section_info): Likewise.
	* config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
	Allow !flag_pic.

From-SVN: r57588
2002-09-27 15:30:10 +02:00
Kazu Hirata
0e9e1e0a42 LANGUAGES: Follow spelling conventions.
* LANGUAGES: Follow spelling conventions.
	* rtl.def: Likewise.
	* sbitmap.c: Likewise.
	* sched-int.h: Likewise.
	* sched-rgn.c: Likewise.
	* sibcall.c: Likewise.
	* simplify-rtx.c: Likewise.
	* ssa.c: Likewise.
	* stab.def: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* target.h: Likewise.
	* timevar.c: Likewise.
	* toplev.c: Likewise.
	* tree-dump.c: Likewise.
	* tree-inline.c: Likewise.
	* tree.c: Likewise.
	* tree.def: Likewise.
	* tree.h: Likewise.
	* unroll.c: Likewise.
	* varasm.c: Likewise.
	* vmsdbgout.c: Likewise.
	* treelang/treelang.texi: Likewise.
	* treelang/treetree.c: Likewise.

From-SVN: r57587
2002-09-27 12:48:07 +00:00
Richard Henderson
46b33600d5 real.c (real_hash): New.
* real.c (real_hash): New.
        * real.h: Declare it.
        * cse.c (canon_hash): Use it.
        * cselib.c (hash_rtx): Likewise.
        * emit-rtl.c (const_double_htab_hash): Likewise.
        * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
        * varasm.c (struct rtx_const): Reduce vector size; separate
        integer and fp vectors.
        (HASHBITS): Remove.
        (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
        take modulus MAX_HASH_TABLE.
        (const_hash): New.  Do take modulus MAX_HASH_TABLE.
        (output_constant_def): Do not take modulus MAX_HASH_TABLE.
        (SYMHASH): Don't use HASHBITS.
        (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
        Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
        (simplify_subtraction): Fix kind comparison.
        (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
        Use a union to pun integer array.
        * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
        only hash two words of integral CONST_DOUBLE.

From-SVN: r57356
2002-09-20 10:50:48 -07:00
Kazu Hirata
4b7e68e7d2 basic-block.h: Fix comment formatting.
* basic-block.h: Fix comment formatting.
	* c-common.c: Likewise.
	* c-common.h: Likewise.
	* c-lex.c: Likewise.
	* c-pretty-print.c: Likewise.
	* cfglayout.c: Likewise.
	* cfgloop.c: Likewise.
	* defaults.h: Likewise.
	* et-forest.c: Likewise.
	* explow.c: Likewise.
	* function.h: Likewise.
	* gcov.c: Likewise.
	* genattrtab.c: Likewise.
	* gengtype.c: Likewise.
	* ifcvt.c: Likewise.
	* libgcc2.c: Likewise.
	* loop.c: Likewise.
	* profile.c: Likewise.
	* ra-build.c: Likewise.
	* real.c: Likewise.
	* rtl.h: Likewise.
	* tracer.c: Likewise.
	* tree-inline.c: Likewise.
	* varasm.c: Likewise.

From-SVN: r56952
2002-09-08 12:47:27 +00:00
Alan Modra
bd79540a03 varasm.c (default_assemble_visibility): Rename from assemble_visibility.
* varasm.c (default_assemble_visibility): Rename from
	assemble_visibility.
	* output.h: Here too.
	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
	* config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.

From-SVN: r56948
2002-09-08 19:00:21 +09:30
Igor Shevlyakov
5dd7822000 varasm.c (decode_rtx_const): Don't check undefined field for CONST_VECTOR.
* varasm.c (decode_rtx_const): Don't check undefined field for
	CONST_VECTOR.

From-SVN: r56934
2002-09-07 21:08:11 -07:00
Alan Modra
93638d7a89 tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
* doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
	(TARGET_ASM_OUT): Add the above here.
	* target.h (struct gcc_target): Add "visibility" field.
	* varasm.c (maybe_assemble_visibility): Call targetm visibility func.
	* config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
	(TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
	(rs6000_legitimize_reload_address, first_reg_to_save): Formatting.

From-SVN: r56906
2002-09-07 09:49:27 +09:30
Dale Johannesen
f57f9cb867 Fix struct rtx_const so veclo and vechi don't share storage.
From-SVN: r56825
2002-09-04 23:59:56 +00:00
David Edelsohn
275b6d80ed target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
* target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
        * target.h (gcc_target): Add have_srodata_section member.
        * varasm.c (section_category): Add SECCAT_SRODATA.
        (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
        READONLY_SDATA_SECTION defined.
        (decl_readonly_section_1): True for SECCAT_SRODATA also.
        (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
        (default_unique_section_1): Likewise.

From-SVN: r56806
2002-09-04 14:11:18 -04:00
David Edelsohn
2cc9fb4ca3 varasm.c (default_section_type_flags): Append _1 to name with shlib parameter.
* varasm.c (default_section_type_flags): Append _1 to name with
        shlib parameter.  Use original name to call new function with
        implicit flag_pic.
        (decl_readonly_section): Likewise.
        (default_elf_select_section): Likewise.
        (default_unique_section): Likewise.
        (default_bind_local_p): Likewise.
        (categorize_decl_for_section): Add shlib parameter to use in place
        of implicit flag_pic.
        * output.h: Declare new functions with _1 and shlib argument.

From-SVN: r56780
2002-09-03 21:56:12 -04:00
Kaveh R. Ghazi
5eb99654a2 alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
	* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
	ASM_OUTPUT_ALIGNED_BSS): Use target hook.
	* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
	* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
	* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
	(GLOBAL_ASM_OP): Define.
	* arm.c (aof_globalize_label): New function.
	(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
	* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
	* c4x.c (c4x_globalize_label): New function.
	(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
	* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
	(GLOBAL_ASM_OP): Define.
	* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
	* darwin-protos.h (darwin_globalize_label): Declare.
	* darwin.c (darwin_globalize_label): New function.
	* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
	(ASM_GLOBALIZE_LABEL): Delete.
	(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
	* dsp16xx.c (asm_output_common): Use target hook.
	* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
	* frv.h (ASM_GLOBALIZE_LABEL): Delete.
	(GLOBAL_ASM_OP): Define.
	* i370.c (i370_globalize_label): New function.
	(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
	* i370.h (ASM_GLOBALIZE_LABEL): Delete.
	* i386.c (ix86_asm_file_end): Use target hook.
	* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
	(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
	* ia64.c (ia64_asm_output_external): Likewise.
	* ia64/sysv4.h: Update comment.
	* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
	* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
	* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
	* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
	* mmix-protos.h (mmix_asm_globalize_label): Delete.
	* mmix.c (mmix_asm_globalize_label): Likewise.
	* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
	(GLOBAL_ASM_OP): Define.
	* ns32k.c (ns32k_globalize_label): New function.
	* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
	(ASM_GLOBALIZE_LABEL): Delete.
	* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
	(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
	* pa.c (pa_globalize_label): New function.
	* pa.h (ASM_GLOBALIZE_LABEL): Delete.
	(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
	* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
	(GLOBAL_ASM_OP): Define.
	(TARGET_ASM_GLOBALIZE_LABEL): Undef.
	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
	* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
	(GLOBAL_ASM_OP): Define.
	* v850.c (v850_output_aligned_bss): Use target hook.
	* vax.c (vms_globalize_label): New function.
	(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
	* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
	(GLOBAL_ASM_OP): Define.
	* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
	* doc/tm.texi: Update docs.
	* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
	target hook.
	* final.c (output_alternate_entry_point): Likewise.
	* hooks.c (hook_FILEptr_constcharptr_void): New function.
	* hooks.h (hook_FILEptr_constcharptr_void): Declare.
	* output.h (assemble_global): Delete.
	(default_globalize_label): Declare.
	* system.h (ASM_GLOBALIZE_LABEL): Poison.
	* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
	(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
	* target.h (gcc_target): Add globalize_label member.
	* varasm.c (asm_output_bss, asm_output_aligned_bss,
	globalize_decl): Use target hook.
	(assemble_global): Delete.
	(default_globalize_label): New function.

From-SVN: r56478
2002-08-21 02:41:51 +00:00
Kaveh R. Ghazi
cbf2f4797d m68k.c (m68k_output_function_prologue, [...]): Delete versions for DPX2/MOTOROLA and NEWS/MOTOROLA.
* m68k.c (m68k_output_function_prologue,
	m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
	and NEWS/MOTOROLA.
	* genattrtab.c: Remove dpx2 comment.
	* libgcc2.c (__enable_execute_stack): Delete versions for
	NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
	sony_news/SYSTYPE_BSD.
	* longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
	__gmicro__, __i860__, __NeXT__ and __pyr__.
	* rtl.h: Remove convex comment.
	* varasm.c: Likewise.

From-SVN: r56272
2002-08-14 03:16:05 +00:00
Geoffrey Keating
6d9f628e05 Index: ChangeLog
2002-08-04  Geoffrey Keating  <geoffk@redhat.com>

	* Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
	* collect2.h (permanent_obstack): Delete declaration.
	* collect2.c (permanent_obstack): Delete definition.
	(main): Don't initialise permanent_obstack.  Use xstrdup instead.
	* expr.c: Don't include obstack.h.
	(permanent_obstack): Delete declaration.
	* function.c: Don't include obstack.h.
	(permanent_obstack): Delete declaration.
	* integrate.c: Don't include obstack.h.
	(function_maybepermanent_obstack): Delete declaration.
	* print-tree.c (debug_tree): Use x*alloc not permalloc.
	* sdbout.c (gen_fake_label): Use x*alloc not permalloc.
	* tlink.c (pfgets): Use xstrdup not permanent_obstack.
	* toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
	* tree.h: Rename init_obstacks to init_ttree.  Remove declarations
	of permalloc, expralloc, perm_calloc.
	* tree.c (permanent_obstack): Delete definition.
	(init_ttree): Rename from init_obstacks.
	(permalloc): Delete.
	(perm_calloc): Delete.
	(dump_tree_statistics): Don't print information about
	permanent_obstack.
	* varasm.c (assemble_start_function): Use xstrdup instead of
	permalloc/strcpy.
	(assemble_variable): Likewise.
	* config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
	permalloc.
	(unicosmk_add_extern): Likewise.
	* config/c4x/c4x.c (c4x_external_ref): Likewise.
	(c4x_global_label): Likewise.
	* config/frv/frv.c (frv_encode_section_info): Likewise.
	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
	(i386_pe_record_exported_symbol): Likewise.
	* config/mips/mips.c (mips_output_external): Likewise.
	(mips_output_external_libcall): Likewise.
	* config/pa/pa.c: (permanent_obstack): Delete declaration.
	(output_call): Use ggc_strdup instead of allocating on
	permanent_obstack.
	* config/romp/romp.c: Include ggc.h.
	(get_symref): Don't declare permanent_obstack, use ggc_strdup
	intead of permanent_obstack.
	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
	instead of permalloc.
	* config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
	instead of permalloc
	* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
	instead of permalloc.
	* config/vax/vax.c (vms_check_external): Use xmalloc instead of
	permalloc.

Index: cp/ChangeLog
2002-08-04  Geoffrey Keating  <geoffk@redhat.com>

	* cvt.c (ocp_convert): Delete obsolete code.
	* parse.y (permanent_obstack): Delete declaration.
	* pt.c (permanent_obstack): Delete declaration.
	* repo.c (permanent_obstack): Delete declaration.
	(open_repo_file): Use xmalloc instead of permanent_obstack.
	(init_repo): Use xstrdup instead of permanent_obstack.

Index: java/ChangeLog
2002-08-04  Geoffrey Keating  <geoffk@redhat.com>

	* class.c: (permanent_obstack): Delete declaration.
	* constants.c: (permanent_obstack): Delete declaration.
	* except.c: (permanent_obstack): Delete declaration.
	* expr.c: (permanent_obstack): Delete declaration.
	* jcf-parse.c: (permanent_obstack): Delete declaration.
	(saveable_obstack): Delete declaration.
	* parse.h: (permanent_obstack): Delete declaration.
	* typeck.c: (permanent_obstack): Delete declaration.

From-SVN: r56035
2002-08-04 22:45:31 +00:00
David Edelsohn
54fbf6a1b4 varasm.c (asm_emit_uninitialized): Return false if global BSS and ASM_EMIT_BSS not supported by target.
* varasm.c (asm_emit_uninitialized): Return false if global BSS
        and ASM_EMIT_BSS not supported by target.
        (assemble_variable): Do not duplicate uninitialized logic.
        Fall through if asm_emit_uninitialized failed.

From-SVN: r55964
2002-08-01 21:12:09 -04:00
H.J. Lu
4e4d733e19 output.h (DECL_READONLY_SECTION): Remove.
* output.h (DECL_READONLY_SECTION): Remove.
        (decl_readonly_section): Declare.
        * varasm.c (decl_readonly_section): New.
        (default_section_type_flags, default_select_section): Use it.
        * config/arm/pe.c (arm_pe_unique_section): Likewise.
        * config/i386/interix.c (i386_pe_unique_section): Likewise.
        * config/i386/winnt.c (i386_pe_unique_section): Likewise.
        * config/mcore/mcore.c (mcore_unique_section): Likewise.
        * config/mips/mips.c (mips_unique_section): Likewise.

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

From-SVN: r55957
2002-08-01 16:29:55 -07:00
Jakub Jelinek
81e602b572 varasm.c (assemble_visibility): Strip name encoding.
* varasm.c (assemble_visibility): Strip name encoding.

	* gcc.dg/ia64-visibility-2.c: New test.

From-SVN: r55953
2002-08-01 23:59:36 +02:00
David Edelsohn
af673a52ec varasm.c (assemble_variable): Narrow test for uninitialized without BSS target support.
* varasm.c (assemble_variable): Narrow test for uninitialized
        without BSS target support.

From-SVN: r55843
2002-07-29 15:01:55 -04:00
Kaveh R. Ghazi
c7836bcd97 * varasm.c: Include real.h before output.h.
From-SVN: r55010
2002-06-26 15:16:01 +00:00
Jakub Jelinek
5d056e9be5 varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
* varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
	(compare_constant): Likewise.
	(output_addressed_constants): Likewise.

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

From-SVN: r54459
2002-06-10 23:43:26 +02:00
Eric Christopher
b2e2d0cc3a varasm.c (make_decl_rtl): Fix comment for removed halfpic.c.
2002-06-05  Eric Christopher  <echristo@redhat.com>

	* varasm.c (make_decl_rtl): Fix comment for removed
	halfpic.c.

From-SVN: r54298
2002-06-06 03:05:37 +00:00
Jason Thorpe
a5d1f75b65 * varasm.c (mark_constants): Handle RTX format 'B'.
From-SVN: r54247
2002-06-04 16:22:49 +00:00
Geoffrey Keating
e2500fedef Merge from pch-branch up to tag pch-commit-20020603.
From-SVN: r54232
2002-06-04 07:11:05 +00:00
Kazu Hirata
41077ce4b3 target.h: Fix formatting.
* target.h: Fix formatting.
	* timevar.h: Likewise.
	* tlink.c: Likewise.
	* toplev.c: Likewise.
	* toplev.h: Likewise.
	* tree.c: Likewise.
	* tree-dump.h: Likewise.
	* tree.h: Likewise.
	* tree-inline.h: Likewise.
	* unroll.c: Likewise.
	* unwind-dw2.c: Likewise.
	* unwind-dw2-fde.c: Likewise.
	* unwind-dw2-fde-glibc.c: Likewise.
	* unwind-dw2-fde.h: Likewise.
	* unwind.h: Likewise.
	* unwind-sjlj.c: Likewise.
	* varasm.c: Likewise.
	* varray.h: Likewise.
	* vmsdbg.h: Likewise.
	* vmsdbgout.c: Likewise.
	* xcoffout.h: Likewise.

From-SVN: r54123
2002-05-31 22:15:42 +00:00
Alan Lehotsky
afdfb380cd *** empty log message ***
From-SVN: r54108
2002-05-31 08:49:27 -04:00
Richard Henderson
923c7cdfa7 varasm.c (default_binds_local_p): Check TREE_PUBLIC before DECL_EXTERNAL.
* varasm.c (default_binds_local_p): Check TREE_PUBLIC before
        DECL_EXTERNAL.

From-SVN: r53963
2002-05-28 13:08:29 -07:00
Richard Henderson
95bfe95f01 varasm.c (asm_output_bss): Always output one byte.
* varasm.c (asm_output_bss): Always output one byte.
        * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.

From-SVN: r53847
2002-05-24 11:30:48 -07:00
Mark Mitchell
5ff225fc29 varasm.c (make_decl_rtl): Don't allow weak variables to be placed in common.
* varasm.c (make_decl_rtl): Don't allow weak variables to be
	placed in common.

	* gcc/testsuite/gcc.dg/weak-8.c: New test.

From-SVN: r53798
2002-05-23 18:11:04 +00:00
Richard Henderson
6f001fdf2b varasm.c (default_section_type_flags): Check for VAR_DECL before using DECL_THREAD_LOCAL.
* varasm.c (default_section_type_flags): Check for VAR_DECL
        before using DECL_THREAD_LOCAL.

        * decl.c (obscure_complex_init): Check for VAR_DECL
        before using DECL_THREAD_LOCAL.

From-SVN: r53761
2002-05-22 22:14:02 -07:00
Richard Henderson
c711ba8e2e varasm.c (default_section_type_flags): Handle tls data and default sections.
* varasm.c (default_section_type_flags): Handle tls data and
        default sections.
        (default_unique_section): Handle tls sections.

From-SVN: r53753
2002-05-22 16:31:48 -07:00
Richard Henderson
3d78f2e96e c-common.h (enum rid): Add RID_THREAD.
* c-common.h (enum rid): Add RID_THREAD.
        * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
        (grokdeclarator): Grok __thread.
        * c-parse.in (reswords): Add __thread.
        (rid_to_yy): Add RID_THREAD.
        * cp/lex.c (rid_to_yy): Add RID_THREAD.

        * tree.h (DECL_THREAD_LOCAL): New.
        (struct tree_decl): Add thread_local_flag.
        * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
        * tree.c (staticp): TLS variables are not static.

        * target-def.h (TARGET_HAVE_TLS): New.
        * target.h (have_tls): New.
        * output.h (SECTION_TLS): New.
        * varasm.c (assemble_variable): TLS variables can't be common for now.
        (default_section_type_flags): Handle .tdata and .tbss.
        (default_elf_asm_named_section): Handle SECTION_TLS.
        (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.

        * flags.h (flag_tls_default): Declare.
        * toplev.c (flag_tls_default): Define.
        (display_help): Display help for it.
        (decode_f_option): Set it.

        * doc/extend.texi (Thread-Local): New node describing language-level
        thread-local storage.
        * doc/invoke.texi (-ftls-model): Document.

        * fixinc/inclhack.def (thread_keyword): New.
        * fixinc/fixincl.x: Rebuild.

From-SVN: r53715
2002-05-21 18:11:29 -07:00
Richard Henderson
121f5c2c13 * varasm.c (default_binds_local_p): Fix typo.
From-SVN: r53639
2002-05-19 13:17:50 -07:00
Richard Henderson
47754fd548 target-def.h (TARGET_BINDS_LOCAL_P): New.
* target-def.h (TARGET_BINDS_LOCAL_P): New.
	* target.h (struct gcc_target): Move boolean fields to the end.
	Add binds_local_p.
	* varasm.c (default_binds_local_p): New.
	* output.h: Declare it.

	* config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
	* config/cris/cris.c (cris_encode_section_info): Likewise.
	* config/i386/i386.c (i386_encode_section_info): Likewise.
	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
	* config/sh/sh.c (sh_encode_section_info): Likewise.

	* doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
	(TARGET_BINDS_LOCAL_P): New.

From-SVN: r53620
2002-05-19 02:50:27 -07:00
Richard Henderson
772c526579 system.h (STRIP_NAME_ENCODING): Poison it.
* system.h (STRIP_NAME_ENCODING): Poison it.
	* output.h (STRIP_NAME_ENCODING): Remove.
	(default_strip_name_encoding): Declare.
	* target-def.h (TARGET_STRIP_NAME_ENCODING): New.
	* target.h (strip_name_encoding): New.
	* varasm.c (default_strip_name_encoding): New.

	* dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
	config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
	config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
	config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
	config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
	config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
	config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
	config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
	config/v850/v850.h: Use the hook, not the macro.

	* config/darwin-protos.h, config/darwin.c, config/darwin.h,
	config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
	config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
	config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
	config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
	config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
	config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
	config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
	config/v850/v850.c, config/v850/v850.h:
	Move STRIP_NAME_ENCODING to out-of-line function and add
	TARGET_STRIP_NAME_ENCODING.

	* config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
	config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
	with TARGET_STRIP_NAME_ENCODING referencing existing function;
	make function static.

	* xcoffout.c: Include target.h
	* Makefile.in (xcoffout.o): Update.

	* config/avr/avr.c (avr_encode_section_info): Correct prototype.
	* config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
	* config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
	reloc argument unused.
	* config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.

	* doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
	STRIP_NAME_ENCODING docs.

From-SVN: r53615
2002-05-19 00:55:48 -07:00
Richard Henderson
fb49053ffd system.h (ENCODE_SECTION_INFO): Poison it.
* system.h (ENCODE_SECTION_INFO): Poison it.
	* target-def.h (TARGET_ENCODE_SECTION_INFO): New.
	* target.h (encode_section_info): New.
	* varasm.c (make_decl_rtl, output_constant_def): Use it.
	* hooks.c (hook_tree_int_void): New.
	* hooks.h: Declare it.

	* config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
	config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
	config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
	config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
	config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
	config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
	config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
	config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
	config/mcore/mcore-protos.h, config/mcore/mcore.c,
	config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
	config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
	config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
	config/stormy16/stormy16.c, config/stormy16/stormy16.h:
	Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
	referencing existing function.  Make function static.

	* config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
	config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
	config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
	config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
	config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
	config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
	config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
	config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
	config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
	config/xtensa/xtensa.c, config/xtensa/xtensa.h:
	Move ENCODE_SECTION_INFO to out-of-line function and add
	TARGET_ENCODE_SECTION_INFO.

	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
	(ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.

	* config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
	from SUBTARGET_*
	(switch_to_section): Replace in_rdata case with in_readonly_data.

	* config/h8300/h8300.c (h8300_encode_label): Make static.
	* config/h8300/h8300-protos.h: Update.

	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
	from rs6000_encode_section_info; make static.
	(rs6000_xcoff_encode_section_info): New.

	* config/v850/v850.c (v850_encode_data_area): Make static.
	* config/v850/v850-protos.h: Update.

	* config/vax/vax.c: Include flags.h.
	(vms_select_section): Fix typo.

	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
	ENCODE_SECTION_INFO docs.

From-SVN: r53606
2002-05-18 22:23:27 -07:00
Richard Henderson
b64a1b533c system.h (SELECT_RTX_SECTION): Poison.
* system.h (SELECT_RTX_SECTION): Poison.
	* target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
	* target.h (select_rtx_section): New.
	* varasm.c (output_constant_pool): Use it.
	(default_select_rtx_section, default_elf_select_rtx_section): New.
	* output.h: Declare them.

	* config/darwin.h (SELECT_RTX_SECTION): Move ...
	* config/darwin.c (machopic_select_rtx_section): ... here.
	* config/darwin-protos.h: Update.

	* config/nextstep.h (SELECT_RTX_SECTION): Move ...
	* config/nextstep.c (machopic_select_rtx_section): ... here.
	(nextstep_select_section): Rename variable to avoid macro clash.
	* config/nextstep-protos.h: Update.

	* config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
	config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
	config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
	config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
	config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
	config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
	config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
	config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
	config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
	(SELECT_RTX_SECTION): Remove.

	* config/darwin.h, config/elfos.h, config/nextstep.h,
	config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
	config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
	config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
	config/sparc/lynx.h, config/xtensa/xtensa.c
	(TARGET_ASM_SELECT_RTX_SECTION): New.

	* config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
	* config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
	* config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
	* config/ia64/ia64.c (ia64_select_rtx_section): ... here.
	(ia64_aix_select_rtx_section): New.
	* config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
	redefining.
	* config/mips/mips.c (mips_select_rtx_section): Make static.
	Support ELF SHF_MERGE features.
	* config/mips/mips-protos.h: Update.
	* config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
	* config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
	(rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
	make static, fall back to default_elf_select_rtx_section.
	* config/rs6000/rs6000-protos.h: Update.
	* config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
	* config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
	* config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
	* config/romp/romp.c (romp_select_rtx_section): New.
	* config/s390/s390.c (s390_select_rtx_section): New.
	* config/xtensa/xtensa.c: Include output.h.  Shuffle local function
	declarations before target macro definition.
	(xtensa_emit_call): Use static buffer.
	(xtensa_select_rtx_section): New.
	* config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
	(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
	(ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.

	* doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
	SELECT_RTX_SECTION docs.

From-SVN: r53600
2002-05-18 16:47:22 -07:00