Open kyleheadley opened 2 years ago
also in libtiff(macro-expanded -alltypes):
libtiff/tif_fax3sm.c:5:22: error: redefinition of 'TIFFFaxMainTable' with a different type: 'const TIFFFaxTabEnt _Checked[128]' vs '_Array_ptr<const TIFFFaxTabEnt>'
const TIFFFaxTabEnt TIFFFaxMainTable _Checked[128] = {
^
libtiff/tif_fax3.h:90:40: note: previous declaration is here
extern _Array_ptr<const TIFFFaxTabEnt> TIFFFaxMainTable : count(128);
^
Here's a simple test case:
extern const char lua_ident[];
const char lua_ident[] = "foo";
converts to
extern _Array_ptr<const char> lua_ident : count(4);
const char lua_ident _Checked[] = "foo";
Note that the error does not occur if the definition comes before the declaration.
This happens in Lua:
and in ZLib:
The compiler does not complain for simple examples, like when 3C converts one line in each file.