Commit e438e1b7 by Jakub Jelinek Committed by Richard Henderson

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
parent fa56377d
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'.
......
......@@ -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;
......
......@@ -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 ();
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment