Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r48245
|
|
__printf__ attribute.
* builtin-attrs.def (__builtin_printf_unlocked,
__builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
Mark with the __printf__ attribute.
* builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
and set the replacement function depending on it.
(expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
Handle BUILT_IN_*_UNLOCKED when optimizing.
* builtins.def (DEF_EXT_FALLBACK_BUILTIN,
DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
Declare the "unlocked" stdio functions.
* c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
Add an `unlocked' parameter and set the replacement function
depending on it.
(c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
BUILT_IN_FPRINTF_UNLOCKED.
* doc/extend.texi (printf_unlocked, fprintf_unlocked,
fputs_unlocked): Document.
testsuite:
* gcc.dg/format/builtin-1.c: Test unlocked stdio.
* gcc.dg/format/c90-printf-3.c: Likewise.
* gcc.dg/format/c99-printf-3.c: Likewise.
* gcc.dg/format/ext-1.c: Likewise.
* gcc.dg/format/ext-6.c: Likewise.
* gcc.dg/format/format.h: Prototype unlocked stdio.
From-SVN: r48229
|
|
floating point values.
* varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
to emit floating point values.
(assemble_real_1): Remove.
* 1750a/1750a.c (real_value_to_target_single): New.
(real_value_to_target_double): New.
* 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
(REAL_VALUE_TO_TARGET_SINGLE): New.
(REAL_VALUE_TO_TARGET_DOUBLE): New.
* 1750a/1750a-protos.h: Update.
* 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
associated support routines.
From-SVN: r48207
|
|
"recog_operand" to "recog_data.operand".
* tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
"recog_operand" to "recog_data.operand".
* rtl.def: Likewise.
From-SVN: r48202
|
|
2001-12-19 Aldy Hernandez <aldyh@redhat.com>
* doc/install.texi: Add documentation for --enable-altivec.
* config.gcc: Add support for --enable-altivec.
* config/rs6000/altivec.h: New.
* config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
Define. Fix typo.
* config/rs6000/rs6000.c (vrsave_operation): Change unspec to
unspec_volatile.
(generate_set_vrsave): Generate the unspec here instead of calling
an .md pattern.
(generate_set_vrsave): Use gen_rtvec.
(rs6000_emit_prologue): Replace call to gen_get_vrsave with
gen_rtx_SET.
* config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
for setting special registers.
("*set_vrsave_internal"): Use unspec_volatile.
("set_vrsave"): Remove.
("get_vrsave"): Remove.
* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
SPECIAL_REGS.
From-SVN: r48194
|
|
* att.h (ASM_FILE_START): Use asm_dialect.
* linux.h (ASM_FILE_START): Likewise.
* gas.h (ASM_FILE_START): Likewise.
* i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
ix86_asm_string, ix86_asm_dialect): New.
(override_options): Set asm_dialect.
* i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
MASK_DEBUG_ADDR): Kill.
(MASK_64BIT, MASK_NO_RED_ZONE): renumber.
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
(ASSEMBLER_DIALECT): Use asm_dialect.
(TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
remove debug-addr and debug-arg.
(TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
(asm_dialect): New enum.
(ix86_debug_arg_string, ix86_debug_addr_string,
ix86_asm_string, ix86_asm_dialect): Declare.
* invoke.texi (-mintel-syntax): Remove.
(-masm): Document.
From-SVN: r48160
|
|
From-SVN: r48130
|
|
From-SVN: r48121
|
|
* Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
dependencies.
($(docdir)/gccint.info, gccint.dvi): New targets.
(maintainer-clean, install-info, uninstall): Update.
* doc/.cvsignore: Add gccint.info*.
* doc/include/gcc-common.texi: New file.
* doc/gcc.texi: Use it. Adjust to be a user-only manual. Put
copyright notice in a macro. Don't include ISBN unless FSFPRINT
is defined.
* doc/gccint.texi: New file.
* doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
Update for separate user and internals manuals.
f:
* g77.texi, invoke.texi: Update links to GCC manual.
java:
* gcj.texi: Update link to GCC manual.
From-SVN: r48119
|
|
From-SVN: r48104
|
|
* target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
asm_out.integer): New fields.
* target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
(TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
the individual initialisers together.
(TARGET_ASM_OUT): Add the new initialisers.
* output.h (assemble_integer): Return bool.
(integer_asm_op): Declare.
(default_assemble_integer): Declare.
(assemble_aligned_integer): New interface to assemble_integer.
* varasm.c (integer_asm_op): New function to select pseudo-op.
(default_assemble_integer): Default implementation of asm_out.integer.
(assemble_integer): Use the new target hook. Split objects into
words or bytes if the target hook fails. Return bool.
* doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
Document new target hooks.
* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
* dwarf2asm.c (unaligned_integer_asm_op): Remove.
(dw2_assemble_integer): New.
(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
dw2_asm_output_encoded_addr_rtx): Use it.
(dw2_asm_output_nstring): Use assemble_integer for the null terminator.
(dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
integer_asm_op to get the byte pseudo-op. Use assemble_integer
if it returns NULL.
* dwarf2asm.h (dw2_assemble_integer): Declare.
* dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the
default implementation of most macros.
(output_unsigned_leb128): Use dw2_asm_output_data.
(output_signed_leb128, dwarfout_source_line): Likewise.
(output_reg_number): Use dw2_assemble_integer.
(generate_macinfo_entry): Separate the type and offset arguments.
Use assemble_integer to write the value.
(dwarfout_start_source_file): Update generate_macinfo_entry usage.
(dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
* final.c (output_addr_const): Don't put brackets round a subtracted
symbol value or ".".
* halfpic.c (half_pic_finish): Use assemble_aligned_integer.
* config/1750a/1750a.c (assemble_integer_1750a): New,
* config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
* config/arc/arc.c (arc_assemble_integer): New.
* config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/arm/arm.c (arm_poke_function_name): Likewise.
(arm_assemble_integer): New, extracted from...
* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
(ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
(ARM_FUNCTION_PROFILER): Likewise.
* config/avr/avr-protos.h (asm_output_byte): Remove.
(asm_output_char, asm_output_short): Remove.
* config/avr/avr.c (avr_assemble_integer): New.
(asm_output_byte, asm_output_char, asm_output_short): Remove.
* config/clipper/clipper.h (ASM_LONG): Remove.
* config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
* config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
* config/elxsi/elxsi.c (elxsi_assemble_integer): New.
* config/i370/i370.c (i370_hlasm_assemble_integer): New.
* config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
(ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
* config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
ASM_LONG instead of UNALIGNED_INT_ASM_OP.
* config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
ASM_LONG instead of UNALIGNED_INT_ASM_OP.
* config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
* config/i860/i860.c (i860_output_function_epilogue): Likewise.
* config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
(ASM_SHORT, ASM_LONG): Undefine.
* config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
* config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/ia64/ia64.c (ia64_assemble_integer): New.
* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
(ASM_OUTPUT_DWARF_PCREL): Likewise.
* config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
(ASM_SHORT, ASM_LONG): Remove.
* config/m68k/m68k.h (INT_OP_GROUP): New macro.
(INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
macros, the allowed values for INT_OP_GROUP.
* config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
* config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
(INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m68k/dpx2.h (ASM_LONG): Undefine.
(INT_OP_GROUP): Define to INT_OP_DC.
* config/m68k/dpx2g.h (ASM_LONG): Undefine.
* config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m68k/lynx.h (ASM_LONG): Undefine.
* config/m68k/dpx2g.h (ASM_LONG): Undefine.
* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
(TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
* config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
for GAS and INT_OP_NO_DOT otherwise.
(ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
(INT_OP_GROUP): Define to INT_OP_STANDARD.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
(ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
* config/m68k/tower-as.h (ASM_LONG): Remove.
(INT_OP_GROUP): Define to INT_OP_NO_DOT.
* config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
* config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
* config/mips/iris5.h (TARGET_IRIX5): Define.
* config/mips/mips.c (mips_assemble_integer): New.
* config/mips/sni-svr4.h (ASM_LONG): Undefine.
* config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
* config/mmix/mmix.c (mmix_assemble_integer): New.
(mmix_asm_output_double_int): Remove.
(mmix_print_operand): Call mmix_output_octa directly.
* config/mmix/mmix.h (ASM_LONG): Remove.
* config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
* config/pa/pa.c (pa_assemble_integer): New.
(pa_override_options): Only use aligned DI ops on 64-bit targets.
Only use the unaligned ops if TARGET_GAS.
* config/pdp11/pdp11.c (pdp11_assemble_integer): New.
* config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
* config/pj/pj.h (ASM_LONG): Undefine.
* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
* config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section()
and in_toc_section() rather than the in_section variable.
(rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
* config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
(RELOCATABLE_NEEDS_FIXUP): Define.
* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
* config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
to get the word directive.
(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
* config/s390/s390.c (s390_assemble_integer): New.
* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
integer_asm_op to get the word directive.
* config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
* config/sparc/sparc-protos.h (output_double_int): Remove.
* config/sparc/sparc.c (output_double_int): Move to...
(sparc_assemble_integer): ...this new function.
(sparc_override_options): Only use .uaxword if TARGET_ARCH64.
* config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
* config/sparc/sysv4.h (ASM_LONG): Remove.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
ASM_LONG.
* config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
* config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
* config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
(TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
appropriate.
* config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
From-SVN: r48101
|
|
From-SVN: r48099
|
|
* c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
a DECL directly.
* c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
(COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
* c-decl.c (build_compound_literal): Put the decl inside a
DECL_STMT.
* doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
Fixes PR c/5105.
testsuite:
* gcc.c-torture/compile/20011217-1.c: New test.
From-SVN: r48085
|
|
__builtin_sqrt.
2001-12-14 Roger Sayle <roger@eyesopen.com>
* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
__builtin_fsqrt to __builtin_sqrt.
* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
* doc/extend.texi: Simplify documentation to match patch.
f:
* com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt.
* com.c (ffecom_init_0): Same, and fixed enumeration usage.
libstdc++-v3:
* acconfig.h: Test for __builtin_sqrt instead of
__builtin_fsqrt.
* acinclude.m4: Same.
* include/c_shadow/bits/std_cmath.h: Same.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.
From-SVN: r48008
|
|
Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
* i386.c (ix86_fpmath, ix86_fpmath_string): New.
(override_option): Set ix86_fpmath.
* i386.h (MASK_MIX_SSE_I387): Remove.
(TARGET_SSE_MATH): New.
(TARGET_MIX_SSE_I387): Use ix86_fpmath.
(TARGET_SWITCHES): Remove "mix-sse-i387".
(fpmath_unit): New enum.
(ix86_fpmath, ix86_fpmath_string): Declare.
* i386.md (swapsf): Fix condition.
(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
(fp_?f_*_nosse): New.
(fp_*): Use TARGET_SSE_MATH.
* invoke.texi (-mfpmath): Document.
(-msse2): Add.
From-SVN: r47999
|
|
(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
From-SVN: r47996
|
|
(COLLECT_SHARD_FINI_FUNC): Define default values.
(write_c_file_stat): Use them to call construtor and destructor
functions in shared libraries.
* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Document them.
* config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
(COLLECT_SHARD_FINI_FUNC): Define.
* config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
shared library. Pass -shared through to the linker.
* config/arm/netbsd.h (LINK_SPEC): Likewise.
* config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
(SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
(SHLIB_INSTALL): Define.
From-SVN: r47975
|
|
* predict.c (estimate_probability): Reorganize opcode heuristics.
* predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
PRED_FPOPCODE): New.
* i386.c (override_options): Recognize various CPU variants and set
SSE/MMX/3dNOW flags accordingly.
* i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
MASK_3DNOW_A_SET): New.
(MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
(MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
(MASK_*): Renumber.
(TARGET_FLAGS): Use new masks.
(CPP_CPU_SPECS): Recognize new CPU variants.
* invoke.texi (-mcpu): Update documentation.
* flags.h (flag_prefetch_loop_arrays): Declare.
* loop.h (LOOP_PREFETCH): Define new constant.
* loop.c (strength_reduce): Call emit_prefetch_instructions.
(MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
constants.
(check_store_data): New structure.
(check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
New functions.
* toplev.c: Include insn-flags.h.
(flag_prefetch_loop_arrays): New global variable.
(lang_independent_option): Add -fprefetch-loop-arrays.
(rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
is set.
* Makefile.in (toplev.c): Depend on insn-flags.h.
* invoke.texi (-fprefetch-loop-arrays): Document.
* predict.c (estimate_probability): Distribute the loop exit
probability according to number of exit edges.
* cfgcleanup.c (insns_match_p): Break out from ...;
(flow_find_cross_jump): ... here;
(outgoing_edges_match): Add parameter MODE; attempt to match everything
except for tablejumps.
(try_crossjump_to_edge): Accept complex edges.
(try_crossjump_bb): Likewise.
From-SVN: r47969
|
|
* regrename.c (copyprop_hardreg_forward): New optimization.
(kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
replace_oldest_value_reg, replace_oldest_value_addr,
replace_oldest_value_mem, copyprop_hardreg_forward_1,
debug_value_data, validate_value_data): New.
* rtl.h (copyprop_hardreg_forward): Declare.
* toplev.c (flag_cprop_registers): New.
(f_options): Add -fcprop-registers
(rest_of_compilation): Invoke it.
(parse_options_and_default_flags): Set it at -O1.
* doc/invoke.texi: Document it.
From-SVN: r47951
|
|
with compound literals.
* c-typeck.c (digest_init): Allow initializing
static storage duration objects with compound literals.
* doc/extend.texi (Compound literals): Document the extension.
* gcc.dg/gnu89-init-1.c: New test.
From-SVN: r47945
|
|
* doc/extend.texi (Deprecated Features): Deprecate implicit
typename. Document that named return and initializer lists are now
removed.
cp:
* decl.c (grokdeclarator): Deprecated implicit typename use.
testsuite:
* g++.old-deja/g++.brendan/crash56.C: Adjust implicit typename.
* g++.old-deja/g++.jason/2371.C: Likewise.
* g++.old-deja/g++.jason/template33.C: Likewise.
* g++.old-deja/g++.jason/template34.C: Likewise.
* g++.old-deja/g++.jason/template36.C: Likewise.
* g++.old-deja/g++.oliva/typename1.C: Likewise.
* g++.old-deja/g++.oliva/typename2.C: Likewise.
* g++.old-deja/g++.other/typename1.C: Likewise.
* g++.old-deja/g++.pt/inherit2.C: Likewise.
* g++.old-deja/g++.pt/nontype5.C: Likewise.
* g++.old-deja/g++.pt/typename11.C: Likewise.
* g++.old-deja/g++.pt/typename14.C: Likewise.
* g++.old-deja/g++.pt/typename16.C: Likewise.
* g++.old-deja/g++.pt/typename3.C: Likewise.
* g++.old-deja/g++.pt/typename4.C: Likewise.
* g++.old-deja/g++.pt/typename5.C: Likewise.
* g++.old-deja/g++.pt/typename7.C: Likewise.
* g++.old-deja/g++.robertl/eb9.C: Likewise.
From-SVN: r47927
|
|
2001-12-11 Steve Ellcey <sje@cup.hp.com>
* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
* calls.c (store_unaligned_arguments_into_pseudos): Check
FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
are passed/returned.
* expr.c (move_block_from_reg): Ditto.
(move_block_from_reg): Ditto.
(copy_blkmode_from_reg): Ditto.
* stmt.c (expand_return): Ditto.
* stor-layout.c (compute_record_mode): If
FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
so that Structures of one field are still treated as structures.
(FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
(FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
(PAD_VARARGS_DOWN): Modify from default to not pad structures down.
* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
* config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
to special case handling of structure padding.
From-SVN: r47904
|
|
* c-common.c (combine_strings): Complain if concatenating
__FUNCTION__.
* c-parse.in (yylexname): Flag artificial strings.
* tree.h (TREE_ARTIFICIAL_STRING_P): New.
doc:
* extend.texi: Update.
testsuite:
* gcc.dg/concat.c: New test.
From-SVN: r47890
|
|
From-SVN: r47887
|
|
successful builds.
* doc/install.texi (Final install): Request additional information
in mail about successful builds.
From-SVN: r47850
|
|
* doc/cpp.texi: Don't condition menus on @ifinfo. Condition the
copyright notice formerly conditioned on @ifinfo on @ifnottex
instead.
f:
* g77.texi: Don't condition menus on @ifinfo.
ch:
* chill.texi: Don't condition menus on @ifinfo.
From-SVN: r47842
|
|
From-SVN: r47832
|
|
* config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
Add rules for building [vp]crt0.o
* config/alpha/vms.h (START_FILE_SPEC): Define.
* config/alpha/x-vms (VMS_EXTRA_PARTS): Define
* config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
* doc/invoke.texi: Document special Alpha/VMS options.
From-SVN: r47831
|
|
* doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
From-SVN: r47816
|
|
* c-common.h (rid): Add RID_CHOOSE_EXPR and
RID_TYPES_COMPATIBLE_P.
* c-parse.in (reswords): Add __builtin_choose_expr.
Add __builtin_types_compatible_p.
Add CHOOSE_EXPR token.
Add TYPES_COMPATIBLE_P token.
Add production for CHOOSE_EXPR.
Add production for TYPES_COMPATIBLE_P.
* doc/extend.texi (__builtin_choose_expr): Add documentation.
(__builtin_types_compatible_p): Likewise.
From-SVN: r47798
|
|
From-SVN: r47777
|
|
2001-12-07 Aldy Hernandez <aldyh@redhat.com>
* doc/extend.texi (Variable Attributes): Document vector_size.
* attribs.c (c_common_attribute_table): Add vector_size.
(handle_vector_size_attribute): New.
(vector_size_helper): New.
(decl_attributes): Relayout the decl after calculating attribs.
From-SVN: r47764
|
|
* doc/gcc.texi: Don't include install-old.texi. Adjust menu
description for Trouble section.
* doc/install-old.texi: Adjust for inclusion as chapter of new
installation manual.
* doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
Adjust to include old installation chapter as chapter of new
installation manual.
From-SVN: r47757
|
|
* builtin-types.def (BT_FN_VOID_PTR_VAR): New.
* builtins.def (BUILT_IN_PREFETCH): Change arguments.
* builtins.c (expand_builtin_prefetch): Two arguments are now optional,
with defaults for read prefetch with high degree of locality.
* doc/extend.texi (__builtin_prefetch): Update documentation.
* doc/md.texi (prefetch): Add documentation.
From-SVN: r47741
|
|
* doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
(PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
* unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
to PRE_GCC3_DWARF_FRAME_REGISTERS.
(frame_state): Same.
(PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r47730
|
|
* final.c (count_basic_block, add_bb, add_bb_string):
Kill.
(end_final, final_start_function, final, final_scan_insn,
leaf_function_p): Kill BB profiler related code.
* flags.h (profile_block_flag): Kill.
* libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
__bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
__bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
__bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
__bb_init_trace_func): Kill.
* toplev.c (profile_block_flag): Kill.
(indepdendent_decode_option, process_options): Kill -a related code.
* alpha.c (direct_call_operand): Likewise.
* arm.c (arm_expand_prologue, thumb_expand_prologue,
thumb_expand_epilogue): Likewise.
* c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
* c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
* i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
code.
(ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
* i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
* i960.c (i960_output_function_prologue): Kill BB profiler related
code.
* ia64.c (ia64_compute_frame_size): Likewise.
* ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
* m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
* m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
Kill BB profiler related code.
* m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* mips.c (mips_expand_prologue): Kill BB profiler related code.
* mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* rs6000.c (rs6000_override_options): Kill BB profiler related code.
* s960.c (s390_function_prologue): Kill BB profiler related code.
* s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sparc.c (sparc_override_options, eligible_for_sibcall_delay,
sparc_nonflat_function_epilogue): Kill BB profiler related code.
(sparc_function_block_profiler, sparc_block_profiler,
sparc_function_block_profiler_exit): Kill.
* sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
* stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
* doc/invoke.texi: Kill documentation of -a and -ax.
* tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
MACHINE_STATE_RESTORE): Kill.
From-SVN: r47712
|
|
From-SVN: r47711
|
|
* doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
(QUAL_UNION_TYPE): New type.
From-SVN: r47699
|
|
* attribs.c (handle_no_check_memory_usage_atribute): Deleted.
(c_com): Delete its reference.
* builtins.c: Delete memory checking code.
* calls.c, expr.c, function.c, stmt.c: Likewise.
* builtins.c (expand_builtin_arg_info): Remove reference to
EXPAND_MEMORY_USE_* modifiers.
* explow.c (expr_size): Likewise.
* expr.c (expand_expr, expand_increment): Likewise.
* expr.h (ARGS_SIZE_RTX): Likewise.
* function.c (assign_parms, expand_pending_sizeso): Likewise.
* c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
* expr.c (in_check_memory_usage): Delete.
(get_push_address, get_memory_usage_from_modifier): Delete.
(expand_assigment): Use EXPAND_WRITE on destination.
(expand_expr): Delete ro_modifier.
* expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
add EXPAND_WRITE.
(memory_use_mode): Delete.
* flags.h (flag_check_memory_usage): Deleted.
(flag_prefix_function_name): Likewise.
* function.c (expand_function_start): Don't set
current_function_check_memory_usage.
* function.h (check_memory_usage): Delete.
* libfuncs.h, optabs.c: Delete chkr_* stuff.
* stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
EXPAND_WRITE.
* toplev.c (flag_check_memory_usage): Deleted.
(flag_prefix_function_name): Likewise.
(f_options, process_options): Delete references to above.
* tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
* varasm.c (CHKR_PREFIX): Deleted.
(make_decl_rtl): Remove flag_prefix_function_name handling.
(assemble_name): Likewise.
* doc/extend.texi: Remove no_check_memory_usage attribute.
* doc/invoke.texi: Remove -fcheck-memory-usage
and -fprefix-function-name.
* cp/decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE.
From-SVN: r47697
|
|
* config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
* doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
From-SVN: r47676
|
|
* vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
* doc/invoke.texi: Add -gvms.
* doc/passes.texi: Add mention of vmsdbgout.c.
* doc/tm.texi: Document VMS debugging output.
Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r47668
|
|
when the initialization is the same)
* c-common.def (COMPOUND_LITERAL_EXPR): New.
* c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
(c_staticp): New function.
* c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
(c_staticp): Declare.
* c-typeck.c (default_function_array_conversion, build_unary_op):
Don't handle CONSTRUCTOR specially.
(lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
* c-decl.c (build_compound_literal): New function.
* c-tree.h (build_compound_literal): Declare.
* c-parse.in (primary): Use build_compound_literal.
* c-lang.c (LANG_HOOKS_STATICP): Define.
* objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
* doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
* doc/extend.texi: Update documentation of compound literals.
Fixes PR c/4787.
testsuite:
* gcc.c-torture/execute/20000722-1.x,
gcc.c-torture/execute/20010123-1.x: Remove.
* gcc.c-torture/compile/init-3.c: Don't use a compound literal.
* gcc.dg/c90-complit-1.c, gcc.dg/c99-complit-1.c,
gcc.dg/c99-complit-2.c: New tests.
From-SVN: r47629
|
|
* doc/install.texi: Use the GFDL. Include years from old install
manual in copyright notice. Include copyright and GFDL notice on
HTML index page. Include usual footer on testing.html.
* doc/install.texi2html: Build gfdl.html. Use -I
$SOURCEDIR/include.
* doc/include/fdl.texi: Adapt for use in the install manual.
From-SVN: r47598
|
|
compilers should be...
* doc/install.texi: Document that installed native compiler for
building cross compilers should be GCC 2.95 or later.
From-SVN: r47596
|
|
* builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
* builtins.def (BUILT_IN_PREFETCH): New.
* builtins.c (expand_builtin_expect): New.
(expand_builtin): Call it.
* doc/extend.texi: Document __builtin_expect.
From-SVN: r47582
|
|
* rtl.def (PREFETCH): New rtx code.
* doc/rtl.texi (PREFETCH): Add documentation.
* function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
* rtlanal.c (reg_referenced_p): Ditto.
* sched-vis.c (print_exp): Ditto.
* ssa-dce.c (find_inherently_necessary): Ditto.
From-SVN: r47580
|
|
From-SVN: r47574
|
|
* Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
USE_HOST_STRSTR): Delete variables.
(vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
$(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
(LIBIBERTY, BUILD_LIBIBERTY): New variables.
(LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
(LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
(HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
(HOST_LIBS): Ditto.
(HOST_RTL): Remove hashtab.o safe-ctype.o.
(OBJS): Remove splay-tree.o.
(gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
(distclean): No need to delete splay-tree.c obstack.c
hashtab.c safe-ctype.c.
(mostlyclean): Delete build copies of print-rtl.c bitmap.c
errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
* aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
Delete.
* configure.in: Don't use them.
Set and substitute @FORBUILD@.
* config.in, configure: Regenerate.
* doprint.c: Move to libiberty/_doprnt.c.
* doc/configterms.texi: Document that libiberty is now built
up to three times. Fix typo.
* f/Make-lang.in (f/fini, f/intdoc): Depend on $(HOST_LIBDEPS)
and link with $(HOST_LIBS), not safe-ctype.o.
From-SVN: r47475
|
|
* cse.c (true_dependence_in_rtx): New function.
(invalidate): Use it.
* c-common.h (GOTO_FAKE_P): New macro.
* tree-inline.c (GOTO_FAKE_P): Set.
* c-tree.texi (GOTO_FAKE_P): Document.
* varasm.c (assemble_variable): Set reloc to 3 for error_mark
containing pointers.
(output_addressed_constants): Check for local/external relocations.
* elfos.h (SELECT_SECTION): Classify data section.
* tm.texi (SELECT_SECTION): Update documentation.
* cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
(flow_dfs_compute_reverse_execute): Add only unvisited blocks.
From-SVN: r47405
|
|
* doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
doc.
From-SVN: r47392
|