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
This commit is contained in:
Jakub Jelinek 1999-08-03 01:14:31 +02:00 committed by Richard Henderson
parent fa56377de3
commit e438e1b788
5 changed files with 19 additions and 8 deletions

View File

@ -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'.

View File

@ -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;

View File

@ -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 ();

View File

@ -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

View File

@ -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