diff options
author | Jakub Jelinek <jj@ultra.linux.cz> | 1999-08-03 01:14:31 +0200 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-08-02 16:14:31 -0700 |
commit | e438e1b788a2877778e1592d914e6285964faac4 (patch) | |
tree | bca98a17bca1b69626b97df72e98febaabcc9aff | |
parent | fa56377de3213de3b1f2cc263cfda2843a610685 (diff) | |
download | gcc-e438e1b788a2877778e1592d914e6285964faac4.zip gcc-e438e1b788a2877778e1592d914e6285964faac4.tar.gz gcc-e438e1b788a2877778e1592d914e6285964faac4.tar.bz2 |
Jakub Jelinek <jj@ultra.linux.cz>
* java/decl.c (start_java_method): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* java/expr.c (pop_arguments): Ditto.
* java/parse.y (expand_start_java_method): Ditto.
From-SVN: r28419
-rw-r--r-- | gcc/java/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/java/decl.c | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 5 | ||||
-rw-r--r-- | gcc/java/parse.c | 4 | ||||
-rw-r--r-- | gcc/java/parse.y | 4 |
5 files changed, 19 insertions, 8 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 1b6bdd2..77fcd63 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,11 @@ +1999-08-02 Jakub Jelinek <jj@ultra.linux.cz> + + * java/decl.c (start_java_method): Change all uses of + PROMOTE_PROTOTYPES, so that it tests it as a C expression. + Ensure expr.h is included. + * java/expr.c (pop_arguments): Ditto. + * java/parse.y (expand_start_java_method): Ditto. + 1999-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (ALL_CFLAGS): Add '-W -Wall'. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index ed1e7f8..71e84d0 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -34,6 +34,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "toplev.h" #include "function.h" #include "except.h" +#include "expr.h" static tree push_jvm_slot PROTO ((int, tree)); static tree builtin_function PROTO ((const char *, tree, @@ -1637,11 +1638,10 @@ start_java_method (fndecl) parm_decl = build_decl (PARM_DECL, parm_name, parm_type); DECL_CONTEXT (parm_decl) = fndecl; -#ifdef PROMOTE_PROTOTYPES - if (TYPE_PRECISION (parm_type) < TYPE_PRECISION (integer_type_node) + if (PROMOTE_PROTOTYPES + && TYPE_PRECISION (parm_type) < TYPE_PRECISION (integer_type_node) && INTEGRAL_TYPE_P (parm_type)) parm_type = integer_type_node; -#endif DECL_ARG_TYPE (parm_decl) = parm_type; *ptr = parm_decl; diff --git a/gcc/java/expr.c b/gcc/java/expr.c index a825e98..38fa5d4 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1448,11 +1448,10 @@ pop_arguments (arg_types) tree tail = pop_arguments (TREE_CHAIN (arg_types)); tree type = TREE_VALUE (arg_types); tree arg = pop_value (type); -#ifdef PROMOTE_PROTOTYPES - if (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node) + if (PROMOTE_PROTOTYPES + && TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node) && INTEGRAL_TYPE_P (type)) arg = convert (integer_type_node, arg); -#endif return tree_cons (NULL_TREE, arg, tail); } abort (); diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 4574459..b862054 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -140,6 +140,7 @@ #include "xref.h" #include "function.h" #include "except.h" +#include "expr.h" #ifndef DIR_SEPARATOR #define DIR_SEPARATOR '/' @@ -8178,7 +8179,8 @@ expand_start_java_method (fndecl) tree next = TREE_CHAIN (tem); tree type = TREE_TYPE (tem); #ifdef PROMOTE_PROTOTYPES - if (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node) + if (PROMOTE_PROTOTYPES + && TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node) && INTEGRAL_TYPE_P (type)) type = integer_type_node; #endif diff --git a/gcc/java/parse.y b/gcc/java/parse.y index deba7e9..e9caf8d 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -64,6 +64,7 @@ definitions and other extensions. */ #include "xref.h" #include "function.h" #include "except.h" +#include "expr.h" #ifndef DIR_SEPARATOR #define DIR_SEPARATOR '/' @@ -5593,7 +5594,8 @@ expand_start_java_method (fndecl) tree next = TREE_CHAIN (tem); tree type = TREE_TYPE (tem); #ifdef PROMOTE_PROTOTYPES - if (TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node) + if (PROMOTE_PROTOTYPES + && TYPE_PRECISION (type) < TYPE_PRECISION (integer_type_node) && INTEGRAL_TYPE_P (type)) type = integer_type_node; #endif |