From 03261851a10dd2d6900a0a00a7515a0a46fb5d76 Mon Sep 17 00:00:00 2001 From: Ranjith Kumaran Date: Fri, 17 Mar 2000 22:48:54 +0000 Subject: 20000317 sourceware import --- libgloss/testsuite/libgloss.all/struct.c | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 libgloss/testsuite/libgloss.all/struct.c (limited to 'libgloss/testsuite/libgloss.all/struct.c') diff --git a/libgloss/testsuite/libgloss.all/struct.c b/libgloss/testsuite/libgloss.all/struct.c new file mode 100644 index 000000000..799f9a50f --- /dev/null +++ b/libgloss/testsuite/libgloss.all/struct.c @@ -0,0 +1,65 @@ +/* Oki bug report, no number. Here's the output the error generates. + + gcc -c -g -ansi oki008.c -o oki008.o -msoft-float + oki008.c: In function `Proc0': + oki008.c:50: internal error--insn does not satisfy its constraints: + (insn 37 35 24 (set (mem:DF (post_inc:DF (reg:SI 1 %r1))) + (reg:DF 48 %fr12)) 94 {reload_outdf+2} (nil) + (nil)) + gcc: Internal compiler error: program cc1 got fatal signal 6 + */ + +#include + +typedef int Enumeration; +typedef int OneToFifty; +typedef char String30[31]; +struct Record +{ + struct Record *PtrComp; + Enumeration Discr; + Enumeration EnumComp; + OneToFifty IntComp; + String30 StringComp; +}; + +typedef struct Record RecordType; +typedef RecordType * RecordPtr; +typedef int boolean; + +#include + +char buf[0x10000]; +char *pbuf = buf; + +char *_malloc(size) +{ + char *p; + + p = pbuf; + pbuf += size; + if (pbuf >= &buf[sizeof (buf)]) { + printf("_malloc error\n"); + return (0); + } + return (p); +} + +main() +{ + Proc0(); + pass ("struct"); + fflush (stdout); + return (0); +} + +RecordPtr PtrGlbNext; + +Proc0() +{ + extern char *_malloc(); + + register unsigned int i; + + PtrGlbNext = (RecordPtr) _malloc(sizeof(RecordType)); +} -- cgit v1.2.3