66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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 <stdio.h>
 | |
| 
 | |
| 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 <stdio.h>
 | |
| 
 | |
| 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));
 | |
| }
 |