Opened 7 years ago

Last modified 7 years ago

#11694 new Bugs

Boost.icl tests incompatibility with Solaris

Reported by: Aparna Kumta <aparna.kumta@…> 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

Change History (1)

comment:1 by Aparna Kumta <aparna.kumta@…>, 7 years ago

Is there any suggestion regarding what the identifiers could be named? If so, I could submit a PR.

Note: See TracTickets for help on using tickets.