* tree-convert.c: New file.
* treetree.c: Don't include c-tree.h. Include target.h.
(struct lang_identifier, union lang_tree_node, struct lang_type,
struct lang_function): New, minimal language-specific datastructs.
(tree_lang_truthvalue_conversion, tree_mark_addressable,
tree_lang_type_for_size, tree_lang_type_for_mode,
tree_lang_unsigned_type, tree_lang_signed_type,
tree_lang_signed_or_unsigned): New functions.
(LANG_HOOKS_*): Don't use C front end langhooks. Use new functions.
(pushlevel, poplevel, global_bindings_p, insert_block, set_block,
pushdecl, getdecls, kept_level_p, tree_push_type_decl,
tree_push_atomic_type_decl): New functions.
(struct resword, struct reswords): Remove.
* Make-lang.in: Update. Don't depend on C front end objects.
* config-lang.in: Likewise.
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r69178
2003-06-16 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
Moved from...
* config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
* config/mn10300/mn10300.h: GTY-declare it.
2003-06-11 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
prototype. Use incoming RTL argument.
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.md (int_label): Move C statements...
(GOTaddr2picreg): ... here.
2002-08-15 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
* config/mn10300/mn10300.c (mn10300_encode_section_info):
... here. New function.(TARGET_ENCODE_SECTION_INFO): Define to it.
2001-11-04 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
pattern name.
(mn10300_loadPC): Define as insn splittable after reload.
2001-05-13 Alexandre Oliva <aoliva@redhat.com>
* config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
be defined in .rodata even in PIC, now that the assembler
supports that.
2001-05-09 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
symbol take an underscore prefix.
2001-04-14 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
legitimize_pic_address): Declare.
* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
the PIC register as fixed.
(EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
(GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
PIC.
(LEGITIMATE_PIC_OPERAND_P): Define.
(PIC_OFFSET_TABLE_REGNUM): Define.
(GOT_SYMBOL_NAME): Define.
(SYMBOLIC_CONST_P): Define.
(ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
symbols.
(MN10300_GLOBAL_P): Test it.
(OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
(JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
* config/mn10300/mn10300.c (print_operand): Handle unspec.
(expand_prologue): Set PIC register.
(call_address_operand): Don't match SYMBOL_REFs in PIC.
(legitimize_address): Call legitimize_pic_address.
(legitimize_pic_address): New fn.
(legitimate_pic_operand_p): New fn.
* config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
(UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
UNSPEC_PLT): New constants.
(pop_pic_reg): New insn.
(movsi): Adjust non-PIC addresses.
(builtin_setjmp_receiver): Restore the PIC register.
(casesi): New insn.
(call): Adjust non-PIC addresses.
(int_label, GOTaddr2picreg): New expands.
(am33_loadPC): New insn.
(mn10300_loadPC): New expand.
(call_next_insn): New insn.
(add_GOT_to_pic_reg): New expand.
(symGOT2reg, symGOT2reg_i): New expands.
(symGOTOFF2reg, symGOTOFF2reg_i): New expands.
(sym2PIC, sym2PLT): New expands.
Mark Mitchell [Wed, 9 Jul 2003 23:06:39 +0000 (23:06 +0000)]
parser.c (cp_parser_primary_expression): Preserve the form of qualified expressions in templates...
* parser.c (cp_parser_primary_expression): Preserve the form of
qualified expressions in templates, even if they are not
dependent.
* pt.c (convert_nontype_argument): Handle non-dependent SCOPE_REFs.
(tsubst_qualified_id): Likewise.
* search.c (accessible_p): Treat everything in the body of a
gcc_release (announce_snapshot): Add substitution of @BRANCH for README and index.html.
* gcc_release (announce_snapshot): Add substitution of @BRANCH
for README and index.html. Remove substitution of @LONG_DATE.
Put index.html into the respective snapshot directory.
Adjust subject of the notification mail to the new naming scheme
for CVS tags.
Adjust name of the LATEST-IS-... files to the new naming scheme
for snapshot directories.
(FTP_PATH): Ditto.
(LAST_DIR): Ditto.
(LAST_LONG_DATE): Remove.
* snapshot-README: Adjust to the new naming schemes for directories
and snapshots per se.
Dynamically fill in the respective branch instead of hardcoding it.
* snapshot-index.html: Replace individual links to diffs with a
general link to the diff/ subdirectory.
Mention the concrete snapshot in <title> and <h1>.
Adjust links to the new location of index.html.
configure.in (BUILD_PREFIX, [...]): Set if enable coverage is on.
* configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
coverage is on.
* configure: Regenerated.
* Makefile.in (ALL_CFLAGS): Correct its comment.
Michael Koch [Wed, 9 Jul 2003 07:50:01 +0000 (07:50 +0000)]
GtkComponentPeer.java, [...]: Explicitly import used classes.
2003-07-09 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
gnu/java/awt/peer/gtk/GtkContainerPeer.java,
gnu/java/awt/peer/gtk/GtkDialogPeer.java,
gnu/java/awt/peer/gtk/GtkWindowPeer.java:
Explicitly import used classes.
* java/awt/Container.java: New version from classpath.
Jan Hubicka [Wed, 9 Jul 2003 01:20:24 +0000 (03:20 +0200)]
cgraph.c (cgraph_node_name): New function.
* cgraph.c (cgraph_node_name): New function.
(dump_cgraph): Use it.
* cgraph.h (cgraph_dump_file): Declare.
(cgraph_node_name): Declare.
* cgraphunit.c: Include timevar.h
(cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
(cgraph_optimize_function): Use TV_INTEGRATION.
(cgraph_mark_local_functions): reorganize dumps.
(cgraph_mark_functions_to_inline_once): Likewise.
(cgraph_optimize): Likewise; use timevar.
* timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
* toplev.c (dump_file_index): Add DFI_cgraph.
(dump_file_info): Likewise.
(cgraph_dump_file): New global variable.
(do_compile): Open and close cgraph dump.
* invoke.texi (-d): Document new flag; renumber.
Roger Sayle [Wed, 9 Jul 2003 01:17:28 +0000 (01:17 +0000)]
re PR other/11370 (-Wunreachable-code gives false complaints)
PR c/11370
* calls.c (emit_call_1): Don't bother popping the arguments off of
the stack after a noreturn function call; The adjustment is dead.
(expand_call): Likewise.
* gcc.dg/Wunreachable-6.c: New testcase.
* gcc.dg/Wunreachable-7.c: New testcase.
* genattr.c (internal_dfa_insn_code): Don't prototype.
* genattrtab.c (attr_desc): Add `static_p' field.
(expand_units): Make blockage range and ready cost functions
static.
(write_attr_get): Don't add extern prototypes in C file. Mark
static functions as appropriate.
(find_attr, make_internal_attr): Initialize static_p.
* genattrtab.h (ATTR_STATIC): New macro.
* genautomata.c (output_internal_reset_func): Mark output function
as inline.
(make_internal_dfa_insn_code_attr): Mark output function as static.
genattrtab.h: Add new macros for attr `special' flags.
* genattrtab.h: Add new macros for attr `special' flags.
* genattrtab.c (attr_desc): Reorder/resize fields better.
Use attr `special' macros in all calls to make_internal_attr.
* genautomata.c: Likewise.
Jan Hubicka [Wed, 9 Jul 2003 00:31:20 +0000 (02:31 +0200)]
java-tree.h (DECL_NUM_STMTS): Rename to...
* java-tree.h (DECL_NUM_STMTS): Rename to...
(DECL_ESTIMATED_INSNS): ... this.
* lang.c (java_estimate_num_insns, java_estimate_num_insns_1):
New static functions.
(LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Define.
* parser.y (add_stmt_to_compound): Do not account statements.
* cp-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
* decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
(start_function): Use DECL_ESTIMATED_INSNS.
* optimize.c (maybe_clone_body): Use DECL_ESTIMATED_INSNS.
* decl2.c (maybe_emit_vtables): Fix marking vtables as needed in
unit-at-a-time
* c-common.c (c_estimate_num_insns_1): New static function.
(c_estimate_num_insns): New global function.
* c-common.h (DECL_NUM_STMTS): Rename to...
(DECL_ESTIMATED_INSNS): ... this.
(c_estimate_num_insns): Declare.
* c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
* c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
* c-semantics.c (add_stmt): Do not account statements.
* langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
New.
* langhooks.h (lang_hooks_for_tree_inlining): Add
estimate_num_insns
* params.def (max-inline-insns-auto, max-inline-insns-auto): set
to 100.
(max-inline-insns): set to 300.
(min-inline-insns): set to 10.
* tree-inline.c (struct inline_data): Rename inlined_stmts to
inlined-insns.
(INSNS_PER_STMT): Kill.
(inlinable_function_p): Compute and store body size.
(expand_call_inline): Likewise.
(optimize_inline_calls): Likewise.
Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
* Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
* fixinc/Makefile.in: Remove all references to gnu-regex.[och].
* fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
* fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
* fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
* fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
Escape { and } characters which are not part of range expressions.
* fixinc/fixincl.x: Regenerate.
* config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
(SECTION_FUNCTION_TEMPLATE): Delete.
* config/mips/elf.h: As for elf64.h.
(ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
* config/mips/linux.h: As for elf.h
* config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
* config/mips/iris6.h (EXTRA_SECTIONS): Delete.
(EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
of in_sdata from current_section_name and current_section_flags.
* config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
* config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
(MASK_GP_OPT, TARGET_GP_OPT): Delete.
(MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
(TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
(SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
* config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
(TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
(mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
(override_options): Remove setting of MASK_GPOPT.
(mips_output_external): Use mips_in_small_data_p to check whether a
symbol needs an .extern directive. Don't emit such directives for
TARGET_EXPLICIT_RELOCS.
(mips_declare_object): Update accordingly.
(mips_select_rtx_section): Call named_section rather than
SMALL_DATA_SECTION.
(mips_select_section): Use default_elf_section_section for everything
except .text string constants.
(mips_in_small_data_p): New function.
(mips_encode_section_info): Remove small data handling.
(mips_unique_section): Delete.
(iris6_section_type_flags): New function.
* doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
top:
* Makefile.tpl (configure-gcc): Depend on maybe-configure-intl.
* Makefile.in: Regenerate.
config:
* gettext.m4: Delete all former contents.
(ZW_GNU_GETTEXT_SISTER_DIR): New macro.
* progtest.m4: New file.
gcc:
* Makefile.in (top_builddir): Set to "..", not ".".
(INTLLIBS, INTLDEPS): Delete.
(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
(LIBDEPS): Add $(LIBICONV_DEP).
(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
(INCLUDES): Replace -I../intl with @INCINTL@.
($(top_builddir)/intl/libintl.a): Delete rule.
(stage2-start, stage3-start, stage4-start, stageprofile-start,
stagefeedback-start): Use $$ for variable to be evaluated by
shell, not make.
* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
* aclocal.m4: sinclude ../config/progtest.m4. Add
contents of lcmessage.m4 from gettext distro.
* configure.in: Check for wchar.h and setlocale. Set
LIBICONV_DEP to the empty string and substitute it.
Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
in $LIBINTL, to avoid linking it twice.
* configure, config.in: Regenerate.
intl:
* README: Update.
* Makefile.in (INSTALL, INSTALL_DATA, MKINSTALLDIRS,
mkinstalldirs, gettextsrcdir, l): Delete.
(COMPILE): Add $(DEFS-$@), remove $(XCFLAGS).
(HEADERS): libgnuintl.h not libgnuintl.h.in. Remove os2compat.h.
(SOURCES): Remove os2compat.c.
(DEFS-dcigettext.o, DEFS-localealias.o, DEFS-localcharset.o,
DEFS-relocatable.o): New.
(all-yes): Add config.intl.
(libintl.h): Use cp, not cat.
(INCLUDES): Remove -I..
(TAGS, CTAGS, ID): Word wrap.
(mostlyclean, distclean): Remove junk.
(config.intl): New rule.
* aclocal.m4: sinclude ../config/progtest.m4 instead of
including it inline.
* config.intl.in: New file.
* configure.in: Take out unnecessary AC_CONFIG_AUX_DIR.
Take out AC_DEFINEs for LOCALEDIR, LOCALE_ALIAS_PATH,
LIBDIR, INSTALLDIR. Set LIBINTL_DEP and INCINTL and AC_SUBST
them. Add config.intl to AC_OUTPUT.
* os2compat.c, os2compat.h: Delete, unused.
Neil Booth [Tue, 8 Jul 2003 05:25:39 +0000 (05:25 +0000)]
Makefile.in: Update.
* Makefile.in: Update.
* c-opts.c (c_common_handle_option): opt_text now contains the '-'.
* c.opt: Update documentation.
* common.opt: Add some help text.
* opts.c: Include intl.h.
(wrap_help, print_help): New.
(find_opt, handle_option, common_handle_option): opt_text now
contains the '-'. Use print_help to output help.
* opts.h (struct cl_option): New member "help".
* opts.sh: Update to handle help text output and to prepend
options with '-'.
* toplev.c (display_help): Remove some help text.
Roger Sayle [Tue, 8 Jul 2003 00:28:47 +0000 (00:28 +0000)]
re PR target/10979 (ICE in subst_stack_regs_pat with -O -ffast-math and atan2)
PR target/10979
* config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
Changed to define_expand patterns that copy operand[1] to prevent
it from being clobbered before emitting an atan2?f3_1 insn.
(atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
patterns that actually specify the behaviour of x87's FPATAN.
Jakub Jelinek [Mon, 7 Jul 2003 20:53:44 +0000 (22:53 +0200)]
rs6000.c (rs6000_output_mi_thunk): Remove bogus clearing of SYMBOL_FLAG_LOCAL bit.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
clearing of SYMBOL_FLAG_LOCAL bit.
If vcall_offset fits into signed 16-bit immediate, use
one instruction for both addition and load.
Roger Sayle [Mon, 7 Jul 2003 18:54:28 +0000 (18:54 +0000)]
re PR rtl-optimization/11059 (empty union optimization ice)
PR optimization/11059
* expr.c (can_store_by_pieces): Return true if length is zero.
(store_by_pieces): If length is zero and endp is two, abort,
othwerise, if length is zero and endp is not two, return "to".
(clear_by_pieces): Do nothing if length is zero.
(clear_storage): Do nothing if length is zero.
(store_constructor): Simplify code when size is zero, or the
target has already been cleared. This avoids emitting a
blockage instruction when initializing empty structures.