stor-layout.c (layout_type): Complain if an array's size can not be represented in a size_t.
* stor-layout.c (layout_type): Complain if an array's size can not be represented in a size_t. * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r45413
This commit is contained in:
parent
caa297fe38
commit
8db4c86715
@ -1,3 +1,11 @@
|
||||
2001-09-05 Jeffrey A Law (law@cygnus.com)
|
||||
Jason Merrill (jason@redhat.com)
|
||||
|
||||
* stor-layout.c (layout_type): Complain if an array's size can
|
||||
not be represented in a size_t.
|
||||
|
||||
* config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
|
||||
|
||||
2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
|
||||
|
||||
* gcc.c: (process_command) Add parentheses around assignment
|
||||
|
@ -24,6 +24,17 @@
|
||||
|
||||
#include "elfos.h"
|
||||
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC "crtend.o%s %{pg:gcrtn.o%s}%{!pg:crtn.o%s}"
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "%{!shared: \
|
||||
%{!symbolic: \
|
||||
%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
|
||||
%{pg:gcrti.o%s}%{!pg:crti.o%s} \
|
||||
crtbegin.o%s"
|
||||
|
||||
/* Output at beginning/end of assembler file. */
|
||||
#undef ASM_FILE_START
|
||||
#define ASM_FILE_START(FILE) \
|
||||
|
@ -1442,6 +1442,19 @@ layout_type (type)
|
||||
if (TYPE_SIZE_UNIT (element) != 0 && ! integer_onep (element_size))
|
||||
TYPE_SIZE_UNIT (type)
|
||||
= size_binop (MULT_EXPR, TYPE_SIZE_UNIT (element), length);
|
||||
|
||||
/* Complain if the user has requested an array too large to
|
||||
fit in size_t. */
|
||||
if (TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
|
||||
&& TREE_OVERFLOW (TYPE_SIZE (type)))
|
||||
{
|
||||
error ("requested array too large for target");
|
||||
|
||||
/* Avoid crashing later. */
|
||||
TYPE_SIZE (type) = element_size;
|
||||
if (TYPE_SIZE_UNIT (type))
|
||||
TYPE_SIZE_UNIT (type) = TYPE_SIZE_UNIT (element);
|
||||
}
|
||||
}
|
||||
|
||||
/* Now round the alignment and size,
|
||||
|
Loading…
Reference in New Issue
Block a user