search for: l_fixarray_array3

Displaying 7 results from an estimated 7 matches for "l_fixarray_array3".

Did you mean: fixarray_array3
2007 Jan 15
2
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
...Nick Lewycky wrote: > Eric van Riet Paap wrote: >> *testme.cbe.c:106: error: array type has incomplete element type* > > The problem code boils down to: > > /* Structure forward decls */ > struct l_structtype_s; > > /* Typedefs */ > typedef struct l_structtype_s l_fixarray_array3[3]; > > which is illegal C, but perfectly valid C++, and g++ accepts it. > > The structure contents are defined right afterwards, but I assume that > the typedefs are used when emitting the structure contents? We may have > to put fully defined structures first and typedefs second...
2006 Sep 20
4
[LLVMdev] bug? c backend produces code rejected by gcc4.0.1: array type has incomplete element type
The C backend can currently (recent head) produce code with such patterns: /* Global Declarations */ /* Structure forward decls */ struct l_structtype_s; /* Typedefs */ typedef struct l_structtype_s l_fixarray_array3[3]; /* problematic declaration */ typedef struct l_structtype_s l_structtype_s; /* Structure contents */ struct l_structtype_s { int field0; }; gcc 4.0.1 will reject this with example.c:7: error: array type has incomplete element type this kind of code was accepted by previous versions of gc...
2007 Jan 15
0
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
Eric van Riet Paap wrote: > *testme.cbe.c:106: error: array type has incomplete element type* The problem code boils down to: /* Structure forward decls */ struct l_structtype_s; /* Typedefs */ typedef struct l_structtype_s l_fixarray_array3[3]; which is illegal C, but perfectly valid C++, and g++ accepts it. The structure contents are defined right afterwards, but I assume that the typedefs are used when emitting the structure contents? We may have to put fully defined structures first and typedefs second. Nick Lewycky
2007 Jan 16
1
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
On Tue, 16 Jan 2007, Gordon Henriksen wrote: > The simplest solution is to avoid typedefs for array types. With > names of array types removed from the symbol table, llc will simply > output (for instance) 'l_structtype_s[3]' instead of the equivalent > 'l_fixarray_array3'. Very nice catch and approach. > A more ambitious fix would be to merge the "typedef" and "structure > contents" loops into a single, substantially more complex dependency- > ordered traversal. This would preserve type names from the bytecode > file—but to wha...
2007 Jan 16
0
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
...something like [2 x { [2 x {int}] }]; these two stages must be interleaved. The simplest solution is to avoid typedefs for array types. With names of array types removed from the symbol table, llc will simply output (for instance) 'l_structtype_s[3]' instead of the equivalent 'l_fixarray_array3'. A more ambitious fix would be to merge the "typedef" and "structure contents" loops into a single, substantially more complex dependency- ordered traversal. This would preserve type names from the bytecode file—but to what end? Here's the patch and test: http://...
2007 Jan 15
2
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
Hello, I would like to ask the llvm developers to have a look at http:// llvm.org/bugs/show_bug.cgi?id=918 . This bug has been reported 4 month ago but is none the less a somewhat serious one. Below I have pasted the test case and output of the issue running on my ppc machine. thank you Eric pb:~ eric$ cat testme.ll;llvm-as -f testme.ll;llc -march=c -f testme.bc;gcc -c testme.cbe.c
2006 Sep 20
0
[LLVMdev] bug? c backend produces code rejected by gcc4.0.1: array type has incomplete element type
...20/06, Samuele Pedroni <pedronis at strakt.com> wrote: > The C backend can currently (recent head) produce code with such patterns: > > /* Global Declarations */ > /* Structure forward decls */ > struct l_structtype_s; > > /* Typedefs */ > typedef struct l_structtype_s l_fixarray_array3[3]; /* problematic > declaration */ > typedef struct l_structtype_s l_structtype_s; > > /* Structure contents */ > struct l_structtype_s { > int field0; > }; > > gcc 4.0.1 will reject this with > > example.c:7: error: array type has incomplete element type > &g...