From: Kristis M. <kri...@as...> - 2008-07-01 14:04:17
|
Hello, It seems that CIL 1.3.6 (have not tried other versions) converts something like: typedef volatile int mytype_t; into typedef int volatile mytype_t; when it emits code. This can eventually lead to the CIL error message: Error: Invalid combination of type specifiers Error on A.TYPEDEF (Errormsg.Error) I'm running into this problem when implementing a source-level diff-tool that produces as output (using CIL) a compileable patch file. I need to be able to compile this output file (e.g. diffing version 1 against version 2), and to do so I need to prepend header files defined in C that CIL has not parsed yet. The problem is that when CIL reverses the volatile keyword like this it produces a typedef that conflicts with the original typedef found in the C header files. I ran across this with the typedef: typedef volatile int pthread_spinlock_t; Does this sound like a bug ? I need CIL to emit the original typedef without reversing the volatile keyword, or at least not to complain that the type specifiers are invalid for this typedef (if indeed that's valid). |