diff options
author | H.J. Lu <hjl@gnu.ai.mit.edu> | 1997-09-30 03:36:39 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1997-09-29 23:36:39 -0400 |
commit | 9f6177175d92b4d7827cd9de3240be354b2aa47b (patch) | |
tree | 3cc206011afb7e47eb6d1b156f7c6ce23549aec9 | |
parent | 3a6eabfad6aae7e06cee8d7c12995e2ca423e84b (diff) | |
download | gcc-9f6177175d92b4d7827cd9de3240be354b2aa47b.zip gcc-9f6177175d92b4d7827cd9de3240be354b2aa47b.tar.gz gcc-9f6177175d92b4d7827cd9de3240be354b2aa47b.tar.bz2 |
Makefile.in (parse.o, decl.o): Also depend on $(srcdir)/../except.h $(srcdir)/../output.h.
Mon Sep 29 19:57:51 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* Makefile.in (parse.o, decl.o): Also depend on
$(srcdir)/../except.h $(srcdir)/../output.h.
(decl2.o): Also depend on $(srcdir)/../expr.h ../insn-codes.h
$(srcdir)/../except.h $(srcdir)/../output.h.
(typeck.o, init.o): Also depend on $(srcdir)/../expr.h
../insn-codes.h.
* call.c, cp-tree.h, decl.c, tree.c: Finish prototyping.
* expr.c (cplus_expand_expr): Make it static.
* decl2.c, init.c, typeck.c: Include "expr.h".
(expand_expr): Use proper values when calling the function.
From-SVN: r15801
-rw-r--r-- | gcc/cp/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/cp/Makefile.in | 15 | ||||
-rw-r--r-- | gcc/cp/call.c | 1 | ||||
-rw-r--r-- | gcc/cp/cp-tree.h | 2 | ||||
-rw-r--r-- | gcc/cp/decl.c | 8 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 5 | ||||
-rw-r--r-- | gcc/cp/expr.c | 4 | ||||
-rw-r--r-- | gcc/cp/init.c | 9 | ||||
-rw-r--r-- | gcc/cp/tree.c | 8 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 5 |
10 files changed, 57 insertions, 16 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2fce434..27de636 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,19 @@ +Mon Sep 29 19:57:51 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * Makefile.in (parse.o, decl.o): Also depend on + $(srcdir)/../except.h $(srcdir)/../output.h. + (decl2.o): Also depend on $(srcdir)/../expr.h ../insn-codes.h + $(srcdir)/../except.h $(srcdir)/../output.h. + (typeck.o, init.o): Also depend on $(srcdir)/../expr.h + ../insn-codes.h. + + * call.c, cp-tree.h, decl.c, tree.c: Finish prototyping. + + * expr.c (cplus_expand_expr): Make it static. + + * decl2.c, init.c, typeck.c: Include "expr.h". + (expand_expr): Use proper values when calling the function. + Mon Sep 29 11:05:54 1997 Alexandre Oliva <oliva@dcc.unicamp.br> * lang-options.h: new -Wold-style-cast flag. diff --git a/gcc/cp/Makefile.in b/gcc/cp/Makefile.in index 5394c26..4b73de9 100644 --- a/gcc/cp/Makefile.in +++ b/gcc/cp/Makefile.in @@ -197,7 +197,8 @@ CXX_TREE_H = $(TREE_H) cp-tree.h cp-tree.def PARSE_H = $(srcdir)/parse.h PARSE_C = $(srcdir)/parse.c -parse.o : $(PARSE_C) $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h lex.h +parse.o : $(PARSE_C) $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h lex.h \ + $(srcdir)/../except.h $(srcdir)/../output.h $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(BIG_SWITCHFLAG) \ `echo $(PARSE_C) | sed 's,^\./,,'` @@ -230,15 +231,19 @@ spew.o : spew.c $(CONFIG_H) $(CXX_TREE_H) \ lex.o : lex.c $(CONFIG_H) $(CXX_TREE_H) \ $(PARSE_H) input.c $(srcdir)/../flags.h hash.h lex.h $(srcdir)/../c-pragma.h decl.o : decl.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h \ - lex.h decl.h $(srcdir)/../stack.h + lex.h decl.h $(srcdir)/../stack.h $(srcdir)/../output.h \ + $(srcdir)/../except.h decl2.o : decl2.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h \ - lex.h decl.h + lex.h decl.h $(srcdir)/../expr.h ../insn-codes.h $(srcdir)/../except.h \ + $(srcdir)/../output.h $(srcdir)/../except.h typeck2.o : typeck2.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h -typeck.o : typeck.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) +typeck.o : typeck.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \ + $(srcdir)/../expr.h ../insn-codes.h class.o : class.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h call.o : call.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h class.h friend.o : friend.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) -init.o : init.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) +init.o : init.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../flags.h $(RTL_H) \ + $(srcdir)/../expr.h ../insn-codes.h method.o : method.c $(CONFIG_H) $(CXX_TREE_H) class.h cvt.o : cvt.c $(CONFIG_H) $(CXX_TREE_H) class.h search.o : search.c $(CONFIG_H) $(CXX_TREE_H) $(srcdir)/../stack.h $(srcdir)/../flags.h diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 4e8750c..e232a38 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -102,6 +102,7 @@ static tree non_reference PROTO((tree)); static tree build_conv PROTO((enum tree_code, tree, tree)); static void print_n_candidates PROTO((struct candidate *, int)); static tree default_parm_conversions PROTO((tree, tree *)); +static int is_subseq PROTO((tree, tree)); #define EVIL_RETURN(ARG) ((ARG).code = EVIL_CODE, (ARG)) #define STD_RETURN(ARG) ((ARG).code = STD_CODE, (ARG)) diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 9e04b69..f91e680 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -2204,7 +2204,6 @@ extern void expand_throw PROTO((tree)); extern tree build_throw PROTO((tree)); /* in expr.c */ -/* skip cplus_expand_expr */ extern void init_cplus_expand PROTO((void)); extern void fixup_result_decl PROTO((tree, struct rtx_def *)); extern int extract_init PROTO((tree, tree)); @@ -2289,6 +2288,7 @@ extern tree snarf_defarg PROTO((void)); extern void add_defarg_fn PROTO((tree)); extern void do_pending_defargs PROTO((void)); extern int identifier_type PROTO((tree)); +extern void yyhook PROTO((int)); /* in method.c */ extern void init_method PROTO((void)); diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 695b1c4..e9b8de3 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -42,6 +42,14 @@ Boston, MA 02111-1307, USA. */ #include "output.h" #include "except.h" +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif + +#ifdef NEED_DECLARATION_FREE +extern void free PROTO((void *)); +#endif + #define obstack_chunk_alloc xmalloc #define obstack_chunk_free free diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 144502f..5031767 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -37,8 +37,7 @@ Boston, MA 02111-1307, USA. */ #include "lex.h" #include "output.h" #include "except.h" - -extern tree get_file_function_name (); +#include "expr.h" #ifdef HAVE_STDLIB_H #include <stdlib.h> @@ -3130,7 +3129,7 @@ finish_file () expand_expr (expand_vec_init (decl, TREE_VEC_ELT (init, 0), TREE_VEC_ELT (init, 1), TREE_VEC_ELT (init, 2), 0), - const0_rtx, VOIDmode, 0); + const0_rtx, VOIDmode, EXPAND_NORMAL); } else expand_assignment (decl, init, 0, 0); diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c index 1967b76..a14695d 100644 --- a/gcc/cp/expr.c +++ b/gcc/cp/expr.c @@ -30,10 +30,12 @@ Boston, MA 02111-1307, USA. */ static tree extract_aggr_init PROTO((tree, tree)); static tree extract_scalar_init PROTO((tree, tree)); +static rtx cplus_expand_expr PROTO((tree, rtx, enum machine_mode, + enum expand_modifier)); /* Hook used by expand_expr to expand language-specific tree codes. */ -rtx +static rtx cplus_expand_expr (exp, target, tmode, modifier) tree exp; rtx target; diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 83adadb..826c520 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */ #include "flags.h" #include "output.h" #include "except.h" +#include "expr.h" extern void compiler_error (); @@ -1433,7 +1434,7 @@ expand_aggr_init_1 (binfo, true_exp, exp, init, alias_this, flags) /* Unify the initialization targets. */ DECL_RTL (TREE_OPERAND (init, 0)) = DECL_RTL (exp); else - DECL_RTL (TREE_OPERAND (init, 0)) = expand_expr (exp, NULL_RTX, VOIDmode, 0); + DECL_RTL (TREE_OPERAND (init, 0)) = expand_expr (exp, NULL_RTX, VOIDmode, EXPAND_NORMAL); expand_expr_stmt (init); return; @@ -1472,7 +1473,7 @@ expand_aggr_init_1 (binfo, true_exp, exp, init, alias_this, flags) if (exp == DECL_RESULT (current_function_decl)) DECL_INITIAL (exp) = init; TREE_SIDE_EFFECTS (init) = 1; - expand_expr (init, const0_rtx, VOIDmode, 0); + expand_expr (init, const0_rtx, VOIDmode, EXPAND_NORMAL); free_temp_slots (); return; } @@ -2649,7 +2650,7 @@ build_new (placement, decl, init, use_global_new) do_pending_stack_adjust (); start_sequence_for_rtl_expr (xval); emit_note (0, -1); - rtxval = expand_expr (alloc_expr, NULL_RTX, VOIDmode, 0); + rtxval = expand_expr (alloc_expr, NULL_RTX, VOIDmode, EXPAND_NORMAL); do_pending_stack_adjust (); TREE_SIDE_EFFECTS (xval) = 1; RTL_EXPR_SEQUENCE (xval) = get_insns (); @@ -3107,7 +3108,7 @@ expand_vec_init (decl, base, maxindex, init, from_array) (rval, build_binary_op (MINUS_EXPR, maxindex, iterator, 1), type); - expand_expr (e1, const0_rtx, VOIDmode, 0); + expand_expr (e1, const0_rtx, VOIDmode, EXPAND_NORMAL); RTL_EXPR_SEQUENCE (cleanup) = get_insns (); end_sequence (); diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index c457459..6653543 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -32,6 +32,14 @@ Boston, MA 02111-1307, USA. */ #include <varargs.h> #endif +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif + +#ifdef NEED_DECLARATION_FREE +extern void free PROTO((void *)); +#endif + extern void compiler_error (); static tree get_identifier_list PROTO((tree)); diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 2e4f6e2..971cab4 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -36,6 +36,7 @@ Boston, MA 02111-1307, USA. */ #include "cp-tree.h" #include "flags.h" #include "output.h" +#include "expr.h" #ifdef HAVE_STRING_H #include <string.h> @@ -5645,7 +5646,7 @@ expand_target_expr (t) do_pending_stack_adjust (); start_sequence_for_rtl_expr (xval); emit_note (0, -1); - rtxval = expand_expr (t, NULL_RTX, VOIDmode, 0); + rtxval = expand_expr (t, NULL_RTX, VOIDmode, EXPAND_NORMAL); do_pending_stack_adjust (); TREE_SIDE_EFFECTS (xval) = 1; RTL_EXPR_SEQUENCE (xval) = get_insns (); @@ -7119,7 +7120,7 @@ c_expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) if (o[i] != TREE_VALUE (tail)) { expand_expr (build_modify_expr (o[i], NOP_EXPR, TREE_VALUE (tail)), - const0_rtx, VOIDmode, 0); + const0_rtx, VOIDmode, EXPAND_NORMAL); free_temp_slots (); } /* Detect modification of read-only values. |