c-common.h (TDI_inlined): New ast dump phase.
[gcc.git] / gcc / ChangeLog
index 8ffb1a659b1633e7c79cbd73670945d72ceb5964..c829d92d055ee31bf80c1777fa999e097412d5a1 100644 (file)
@@ -1,3 +1,283 @@
+2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-common.h (TDI_inlined): New ast dump phase.
+       (dump_flag_name): New function.
+       * c-dump.c (dump_files): Add inlined phase.
+       (dump_flag_name): Define.
+       * doc/invoke.texi (-fdump-ast-inlined): Document.
+
+Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * stor-layout.c (layout_decl): Revert change to handling of alignment
+       in packed types.
+
+Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
+       for FIELD_DECL.
+
+2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
+
+       * doc/tm.texi (FUNCTION_ARG): Document that the last call
+       is special.
+
+2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tlink.c (recompile_files): Remove COMPILER_PATH and
+       LIBRARY_PATH from the environment.
+
+2001-07-01  Zack Weinberg  <zackw@stanford.edu>
+
+       * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
+       RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
+       enumerators.
+       (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
+
+       * c-parse.in (OBJC_STRING): Kill.
+       (objc_string): Decompose to [objc_string] '@' STRING.
+       (reswords): Take the leading '@' off all the Objective C keywords.
+       (objc_rid_sans_at): Kill.
+       (init_reswords): Don't initialize it.
+       (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
+       (_yylex): Kill reconsider label.  Look ahead one token after
+       an '@'; if we get an identifier, check whether it's an
+       Objective C @-keyword.  If so, return the keyword.  Otherwise,
+       put back the token and return the '@' as a terminal.
+
+       * cpplib.c (lex_macro_node): Remove unnecessary check for
+       leading '@' on identifier.  Clarify control flow and commentary.
+
+Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * cse.c (new_label_ref): Variable deleted.
+       (insert): Remove set of new_label_ref.
+       (check_for_label_ref): New function.
+       (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
+
+2001-06-30  Zack Weinberg  <zackw@stanford.edu>
+
+       * rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE):
+       Change output-template slot to format 'T'.
+       * rtl.h (XTMPL): New.
+       * read-rtl.c (read_escape): New function.
+       (read_quoted_string, read_braced_string): Use it.
+       (read_rtx): Set star_if_braced from the format string.
+       Use XTMPL where appropriate.
+       * genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
+       template string.
+
+       * rtl.c: Include errors.h for sake of rtl_check_failed* routines.
+       Document 'T' in rtx format strings.
+       * Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
+       * errors.c (internal_error): Add missing ": " at end of string.
+
+       * i860.md: Change triple backslashes to double backslashes at
+       ends of lines in output templates.
+       * ns32k.md: Remove stray backslash-newline in output template.
+
+2001-06-29  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * gcc.c (process_command): Append a DIR_SEPARATOR to a path
+       specified by the -B switch, if doing so would create a valid
+       directory name.
+       * doc/invoke.texi: Document changed behaviour of -B.
+
+2001-06-29  DJ Delorie  <dj@redhat.com>
+
+       * simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
+       least get rid of the CONCAT if we can't simplify further.
+
+Fri Jun 29 12:27:24 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce
+       changes.  Fix documentation for SSA DCE pass.
+
+       * ssa-dce.c (ssa_eliminate_dead_code): Renamed from
+       eliminate_date_code.
+       * ssa.h (ssa_eliminate_dead_code): Corresponding changes.
+       * timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
+       * toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
+       (dump_file_info): Similar changes.
+       (flag_ssa_dce): Similarly
+       (f_options): Similar changes.
+       (rest_of_compilation): Corresponding changes.
+       * doc/invoke.texi: Update as option is now -fssa-dce instead
+       of -fdce.  Update dump file name.
+
+       * ssa-dce.c (note_inherently_necessary_set): New function.
+       (find_inherently_necessary): Use it.  Do not consider
+       NOTEs, CODE_LABELs or BARRIERS are necessary.  Improve
+       handling of asms and unspecs.
+       (delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
+
+2001-06-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * target.h (struct gcc_target): Add comp_type_attributes and
+       set_default_type_attributes.
+       * target-def.h (TARGET_COMP_TYPE_ATTRIBUTES,
+       TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define.
+       (TARGET_INITIALIZER): Update.
+       * doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
+       Update documentation of old target macros to describe new target
+       hooks.
+       * tree.c (make_node): Use target.set_default_type_attributes.
+       (default_comp_type_attributes,
+       default_set_default_type_attributes): New functions.
+       * tree.h (default_comp_type_attributes,
+       default_set_default_type_attributes): Declare.
+       * c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
+       (comptypes): Use target.comp_type_attributes.
+       * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
+       (arc_comp_type_attributes, arc_set_default_type_attributes,
+       COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove
+       functions and macros with default behaviour.
+       * config/m32r/m32r-protos.h, config/m32r/m32r.c,
+       config/m32r/m32r.h (m32r_comp_type_attributes,
+       m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+       * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+       config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
+       m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+       * config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
+       config/ns32k/ns32k.h (ns32k_comp_type_attributes,
+       COMP_TYPE_ATTRIBUTES): Likewise.
+       * config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
+       config/rs6000/rs6000.h (rs6000_comp_type_attributes,
+       rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+       * config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
+       definitions.
+       * config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+       * config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+       * config/arm/arm.c (arm_comp_type_attributes,
+       arm_set_default_type_attributes): Make static.
+       (TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
+       Define.
+       * config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES): Don't define.
+       * config/arm/arm-protos.h (arm_comp_type_attributes,
+       arm_set_default_type_attributes): Don't declare.
+       * config/i386/i386.c (ix86_comp_type_attributes): Make static.
+       (TARGET_COMP_TYPE_ATTRIBUTES): Define.
+       * config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
+       * config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
+       declare.
+
+2001-06-28  Jan van Male  <jan.vanmale@fenk.wau.nl>
+
+       * predict.c (dump_prediction): Eliminate fprintf warning.
+
+2001-06-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * flow.c (dump_bb): Remove unused third argument to call
+       to fprintf when displaying the basic block header.
+
+2001-06-28  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+           Jeff Law <law@redhat.com>
+
+       * Makefile.in (OBJS): Add df.o
+       (df.o): Add dependencies.
+       * basic-block.h (flow_depth_first_order_compute): Declare.
+       * flow.c (flow_depth_first_order_compute): No longer declare.
+       Make external.
+       * df.c, df.h: New files.
+
+2001-06-28  Zack Weinberg  <zackw@stanford.edu>
+
+       * config/i386/i386.md: Global update to use new string syntax
+       where it will improve readability.  Warning fixes:
+       (*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
+       (*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
+       *adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
+
+       * read-rtl.c: Syntactic sugar for C embedded in strings in
+       machine descriptions.
+       (read_string): Break inner loop into separate function.  Takes
+       an int.  Dispatch to read_quoted_string or read_braced_string
+       as appropriate.  Automatically insert a leading star on braced
+       strings if STAR_IF_BRACED is true.
+       (read_quoted_string, read_braced_string): New functions.
+       * doc/rtl.texi, doc/md.texi: Document new syntax.  Update
+       examples to match.
+
+       * rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
+       traverse_md_constants, fatal_with_file_and_line,
+       fatal_expected_char, read_name, read_string, def_hash,
+       def_name_eq_p, read_constants, and related data) to its own
+       file.  Weed out now-unnecessary #includes.
+       * read-rtl.c: New file.
+       * Makefile.in (HOST_RTL): Add read-rtl.o.
+       (read-rtl.o): New rule.
+       (rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
+       * doc/gcc.texi (Passes): Talk briefly about the support
+       library used by genfoo.
+       * doc/rtl.texi (Reading RTL): read_rtx is not available in the
+       compiler itself.
+
+2001-06-28  Stan Shebs  <shebs@apple.com>
+
+       * config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
+       * config/darwin-c.c: New file.
+       * config/darwin-protos.h: Declare new functions.
+       * config/rs6000/t-darwin (darwin-c.o): New rule.
+       * config.gcc (powerpc-*-darwin*): Define c_target_objs and
+       cxx_target_objs.
+       * doc/extend.texi (Pragmas): New section.
+
+Thu Jun 28 20:13:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * flow.c (try_merge_block): Rename to try_optimize_cfg;
+       do basic simplifications on the CFG.
+       (is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
+        try_simplify_condjump): New.
+       (redirect_edge_and_branch): Try replace jump insn.
+       (flow_delete_insn): Handle deleting of ADDR_VEC insns.
+
+       * basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
+
+Thu Jun 28 11:19:42 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * ssa-dce.c (eliminate_dead_code): Properly handle control
+       dependencies implied by PHI nodes.
+
+       * ssa-dce.c (eliminate_dead_code): Remove fake edges from the
+       CFG after dead code elimination is complete.
+
+2001-06-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * gthr-posix.h [LIBOBJC]: Add weak definitions of
+       sched_get_priority_max, sched_get_priority_min.
+
+2001-06-28  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (default_print_error_function): Tweak.
+       (report_error_function): Likewise.
+       * toplev.h (default_print_error_function): Move to...
+       * diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
+       * tree.h (print_error_function): Move to...
+       * diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
+
+Thu Jun 28 06:16:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (expand_assignment): When have varying-length object,
+       make MEM a BLKmode.
+       (expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
+       SAVE_EXPR stack in case we had a SUBREG.
+
+Thu Jun 28 10:31:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (cmp?i): Simplify; refuse immediate operand
+       in alternative 0
+       * i386.c (cmpsi_operand): Refuse constants.
+
+       * i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
+
+       * flow.c (block_label, redirect_edge_and_branch): Split out from ....
+       (split_edge) .... here;
+
 2001-06-28  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
 
        * i386/i386.c (ix86_valid_type_attribute_p): Give external
@@ -60,7 +340,7 @@ Wed Jun 27 18:01:09 2001  Jeffrey A Law  (law@cygnus.com)
        . at end of sentences preceded by a capital letter with @..
 
 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
-       
+
        * doc/invoke.texi: Add description of max-gcse-passes param.
 
        * gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
@@ -378,7 +658,7 @@ Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * config/ia64/quadlib.c: New.
        * config/ia64/t-hpux: New.
        * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
-       
+
 2001-06-25  Jim Wilson  <wilson@redhat.com>
 
        * config/i960/t-960bare (i960-c.o): Add missing header dependencies.
@@ -673,7 +953,7 @@ Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
 2001-06-21  DJ Delorie  <dj@redhat.com>
 
        * integrate.c (mark_hard_reg_initial_vals): Check for NULL.
-       
+
        * integrate.c (ggc.h): Include.
        (initial_value_pair, initial_value_struct,
        setup_initial_hard_reg_value_integration): Add prototypes.
@@ -735,7 +1015,7 @@ Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
 
        * ssa.c (rename_block): Update parameter to remove_phi_alternative
        (convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
-       re-running life analysis. 
+       re-running life analysis.
 
 2001-06-20  Stan Shebs  <shebs@apple.com>
 
@@ -812,7 +1092,7 @@ Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
        (delete_unreachable_blocks): Use find_unreachable_blocks.
        * basic-block.h (find_unreachable_blocks): Declare.
 
-        * dce.c (eliminate_dead_code): Fix formatting glitch.
+       * dce.c (eliminate_dead_code): Fix formatting glitch.
 
 2001-06-18  Jason Merrill  <jason_merrill@redhat.com>