[cmake-developers] [CMake 0013274]: test_INT_C.c and test_INT_CXX.cxx fail to compile due to broken PRIxNN macros
Mantis Bug Tracker
mantis at public.kitware.com
Wed Jun 6 13:33:41 EDT 2012
The following issue has been SUBMITTED.
======================================================================
http://public.kitware.com/Bug/view.php?id=13274
======================================================================
Reported By: Daniel R. Gomez
Assigned To:
======================================================================
Project: CMake
Issue ID: 13274
Category: CMake
Reproducibility: always
Severity: minor
Priority: normal
Status: new
======================================================================
Date Submitted: 2012-06-06 13:33 EDT
Last Modified: 2012-06-06 13:33 EDT
======================================================================
Summary: test_INT_C.c and test_INT_CXX.cxx fail to compile
due to broken PRIxNN macros
Description:
Building CMake git nightly on AIX 4.3 yields these errors:
In file included from .../CMake/Utilities/KWIML/test/test_INT_C.c:14:
.../CMake-build/Utilities/KWIML/test/test_INT_format.h: In function
`test_INT_format':
.../CMake-build/Utilities/KWIML/test/test_INT_format.h:106: `hi' undeclared
(first use in this function)
.../CMake-build/Utilities/KWIML/test/test_INT_format.h:106: (Each undeclared
identifier is reported only once
.../CMake-build/Utilities/KWIML/test/test_INT_format.h:106: for each function it
appears in.)
.../CMake-build/Utilities/KWIML/test/test_INT_format.h:108: parse error before
string constant
.../CMake-build/Utilities/KWIML/test/test_INT_format.h:110: `hd' undeclared
(first use in this function)
.../CMake-build/Utilities/KWIML/test/test_INT_format.h:112: parse error before
string constant
[...]
(Refer to http://open.cdash.org/viewBuildError.php?buildid=2337121 for the full
list)
This platform has a long-standing issue with broken PRIxNN format macros in
/usr/include/inttypes.h. An excerpt:
#define PRId8 %hd
#define PRId16 %hd
#define PRId32 %d
#if defined(__64BIT__)
#define PRId64 %ld
#else
#if defined(_LONG_LONG)
#define PRId64 %lld
#endif
#endif
On the Autoconf side, Gettext has an m4 macro gt_INTTYPES_PRI that checks for
this:
https://gnunet.org/svn/Extractor/m4/inttypes-pri.m4
CMake could probably avoid the use of inttypes.h on this system altogether; the
above files compile correctly with -DcmIML_INT_NO_INTTYPES_H. Either that, or it
needs to know to use its own format-string macros instead of the system's.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2012-06-06 13:33 Daniel R. GomezNew Issue
======================================================================
More information about the cmake-developers
mailing list