/* Expands front end tree to back end RTL for GNU C-Compiler
- Copyright (C) 1987, 88, 89, 92-99, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
/ BITS_PER_UNIT));
}
- else if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST
+ else if (TREE_CODE (DECL_SIZE_UNIT (decl)) == INTEGER_CST
&& ! (flag_stack_check && ! STACK_CHECK_BUILTIN
- && (TREE_INT_CST_HIGH (DECL_SIZE (decl)) != 0
- || (TREE_INT_CST_LOW (DECL_SIZE (decl))
- > STACK_CHECK_MAX_VAR_SIZE * BITS_PER_UNIT))))
+ && (TREE_INT_CST_HIGH (DECL_SIZE_UNIT (decl)) != 0
+ || (TREE_INT_CST_LOW (DECL_SIZE_UNIT (decl))
+ > STACK_CHECK_MAX_VAR_SIZE))))
{
/* Variable of fixed size that goes on the stack. */
rtx oldaddr = 0;
const0_rtx, VOIDmode, 0);
/* Compute the variable's size, in bytes. */
- size = expand_expr (size_binop (CEIL_DIV_EXPR,
- DECL_SIZE (decl),
- size_int (BITS_PER_UNIT)),
- NULL_RTX, VOIDmode, 0);
+ size = expand_expr (DECL_SIZE_UNIT (decl), NULL_RTX, VOIDmode, 0);
free_temp_slots ();
/* Allocate space on the stack for the variable. Note that
/* Top level of GNU C compiler
- Copyright (C) 1987, 88, 89, 92-98, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
characters. The value N is in `id_clash_len'. */
int warn_id_clash;
-unsigned id_clash_len;
+int id_clash_len;
/* Nonzero means warn about any objects definitions whose size is larger
than N bytes. Also want about function definitions whose returned
values are larger than N bytes. The value N is in `larger_than_size'. */
int warn_larger_than;
-unsigned larger_than_size;
+HOST_WIDE_INT larger_than_size;
/* Nonzero means warn if inline function is too large. */
else if (!strncmp (arg, "align-loops=", 12))
align_loops = read_integral_parameter (arg + 12, arg - 2, align_loops);
else if (!strncmp (arg, "align-functions=", 16))
- align_functions =
- read_integral_parameter (arg + 16, arg - 2, align_functions);
+ align_functions
+ = read_integral_parameter (arg + 16, arg - 2, align_functions);
else if (!strncmp (arg, "align-jumps=", 12))
align_jumps = read_integral_parameter (arg + 12, arg - 2, align_jumps);
else if (!strncmp (arg, "align-labels=", 13))
/* Parse a -W... comand line switch. ARG is the value after the -W.
It is safe to access 'ARG - 2' to generate the full switch name.
Return the number of strings consumed. */
+
static int
decode_W_option (arg)
const char * arg;
if (!strncmp (arg, "id-clash-", 9))
{
- const int id_clash_val = read_integral_parameter (arg + 9, arg - 2, -1);
+ id_clash_len = read_integral_parameter (arg + 9, arg - 2, -1);
- if (id_clash_val != -1)
- {
- id_clash_len = id_clash_val;
- warn_id_clash = 1;
- }
+ if (id_clash_len != -1)
+ warn_id_clash = 1;
}
else if (!strncmp (arg, "larger-than-", 12))
{
- const int larger_than_val =
- read_integral_parameter (arg + 12, arg - 2, -1);
- if (larger_than_val != -1)
- {
- larger_than_size = larger_than_val;
- warn_larger_than = 1;
- }
+ larger_than_size = read_integral_parameter (arg + 12, arg - 2, -1);
+
+ if (larger_than_size != -1)
+ warn_larger_than = 1;
}
else
return 0;