I don't know if this really can be called a bug, anyway the effect of this issue is not nice:
if I have a test.ice and include the following header files:
Code:
#include <stdint.h>
#include <test.h>
the file will not compile, because:
the generated test.h includes IceUtil/Config.h
which sets the parameter __STDC_LIMIT_MACROS and afterwards includes <stdint.h>
but, if stdint.h has already been included before, it won't be included a second time and the INT64_MAX ... macros won't be defined and the compiler exits with an error at the lines:
Code:
198 // Assumes ISO C99 types
199 //
200 typedef int64_t Int64;
201 const Int64 Int64Min = INT64_MIN;
202 const Int64 Int64Max = INT64_MAX;
in IceUtil/Config.h with the error message that INT64_MIN and INT64_MAX are not defined.
I think this is not really a nice way to include stdint.h

but I have to admit I don't know if using one of the other methods which already are in IceUtil.h could deliver all needed variables.
greetings,
Peter