search for: l_structtype_

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

Did you mean: l_structtype_s
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 eleme...
2006 Sep 20
0
[LLVMdev] bug? c backend produces code rejected by gcc4.0.1: array type has incomplete element type
...s the same problem. If not, then please create a new bug report. -bw On 9/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 w...
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 de...
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
2007 Jan 15
2
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
On Mon, 15 Jan 2007, 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 co...
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 w...
2007 Jan 16
0
[LLVMdev] llc c backend can produce code that doesn't compile on gcc 4.x
...; the element type must be defined first. But consider 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 f...