Opened 7 years ago
Last modified 7 years ago
#11694 new Bugs
Boost.icl tests incompatibility with Solaris
Reported by: | Owned by: | Joachim Faulhaber | |
---|---|---|---|
Milestone: | To Be Determined | Component: | ICL |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
About 20 boost.icl tests fail on Solaris with the following errors: Error: Expected "class" or "typename" before "0x00000001" Error: "," expected instead of "0x00000001".
This happens because some of the headers use _U as a name of template parameter: boost/boost_1_58_0/libs/icl/test/test_icl_quantifier_shared.hpp:
ICL_IntervalMap_TEMPLATE(_T,_U,Traits,Trt) IntervalMap
and _U is defined in Solaris /usr/include/iso/ctype_iso.h
#define _U 0x00000001 /* Upper case */
(also they use _L, _N, _S, _P, _C , _B, _X :)
Names starting with two underscores or an underscore and an upper-case letter are reserved to the system. Declaring such names in an application has undefined results.
The other headers which have similar issues are: libs/icl/test/test_icl_map.hpp libs/icl/test/test_functions.hpp libs/icl/test/test_interval_map_shared.hpp libs/icl/test/test_interval_quantifier_shared.hpp
Is there any suggestion regarding what the identifiers could be named? If so, I could submit a PR.