Opened 6 years ago

Last modified 6 years ago

#12310 new Bugs

xlc++: lexical_cast.hpp "invalid processing token"

Reported by: jlost@… Owned by: Neil Groves
Milestone: To Be Determined Component: range
Version: Boost 1.61.0 Severity: Showstopper
Keywords: lexical_cast, build, xlc++, xlc, power8 Cc: jlost@…

Description

Hi, compiling the following file with boost 1.61.0 and xlc++ on an IBM POWER8 system results in the following errors...

File: test.cpp

#include <fstream>
#include <iostream>
#include <string>
#include <map>
#include <set>
#include <boost/lexical_cast.hpp>
#include <boost/algorithm/string.hpp>

using namespace boost;
using namespace std;


struct testing
{
};


Command:

xlc++ ./test.cpp -I/home/u0017592/projects/boost_1_61_0

Output:

In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
  BOOST_concept(Integer, (T))
  ^
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:19:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:42:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
                        ^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:19:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_ELEM_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:19:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 13 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/elem.hpp:39:66: note: expanded from macro 'BOOST_PP_SEQ_ELEM_I'
#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
                                                                 ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:22:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:42:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
                        ^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:22:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_ELEM_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:22:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 13 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/elem.hpp:39:66: note: expanded from macro 'BOOST_PP_SEQ_ELEM_I'
#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
                                                                 ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:24:15: note: expanded from macro 'BOOST_concept'
      : name< BOOST_PP_SEQ_ENUM(params) >                                       \
              ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/enum.hpp:28:69: note: expanded from macro 'BOOST_PP_SEQ_ENUM'
#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:28:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:42:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
                        ^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:28:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:70:3: error: pasting formed 'BOOST_PP_SEQ_ELEM_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:28:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 13 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/elem.hpp:39:66: note: expanded from macro 'BOOST_PP_SEQ_ELEM_I'
#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
                                                                 ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
  BOOST_concept(SignedInteger,(T)) {
  ^
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:19:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:42:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
                        ^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:19:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_ELEM_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:19:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 13 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/elem.hpp:39:66: note: expanded from macro 'BOOST_PP_SEQ_ELEM_I'
#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
                                                                 ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:22:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:42:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
                        ^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:22:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_ELEM_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:22:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 13 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/elem.hpp:39:66: note: expanded from macro 'BOOST_PP_SEQ_ELEM_I'
#        define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq))
                                                                 ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:24:15: note: expanded from macro 'BOOST_concept'
      : name< BOOST_PP_SEQ_ENUM(params) >                                       \
              ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/enum.hpp:28:69: note: expanded from macro 'BOOST_PP_SEQ_ENUM'
#    define BOOST_PP_SEQ_ENUM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, BOOST_PP_SEQ_SIZE(seq)) seq
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:28:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:42:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY(seq), \
                        ^
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
In file included from ./tools/test.cpp:13:
In file included from /home/u0017592/projects/boost_1_61_0/boost/lexical_cast.hpp:30:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/iterator_range_core.hpp:38:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/functions.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size.hpp:21:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/size_type.hpp:20:
In file included from /home/u0017592/projects/boost_1_61_0/boost/range/concepts.hpp:19:
/home/u0017592/projects/boost_1_61_0/boost/concept_check.hpp:97:3: error: pasting formed 'BOOST_PP_SEQ_SIZE_0(', an invalid preprocessing token
/home/u0017592/projects/boost_1_61_0/boost/concept/detail/concept_def.hpp:28:16: note: expanded from macro 'BOOST_concept'
    template < BOOST_PP_SEQ_FOR_EACH_I(BOOST_CONCEPT_typename,~,params) >       \
               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:30:55: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I'
#    define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK(macro, data, seq)
                                                      ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/for_each_i.hpp:43:4: note: expanded from macro 'BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK'
                        BOOST_PP_SEQ_FOR_EACH_I_DETAIL_CHECK_EXEC, \
                        ^
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/seq/size.hpp:26:69: note: expanded from macro 'BOOST_PP_SEQ_SIZE'
#    define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq))
                                                                    ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:22:32: note: expanded from macro 'BOOST_PP_CAT'
#    define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
                               ^
/home/u0017592/projects/boost_1_61_0/boost/preprocessor/cat.hpp:29:36: note: expanded from macro 'BOOST_PP_CAT_I'
#    define BOOST_PP_CAT_I(a, b) a ## b
                                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Error while processing ./tools/test.cpp.

Version of xlc++:

IBM XL C/C++ for Linux, V13.1.3 (5725-C73, 5765-J08)
Version: 13.01.0003.0001

Any insight?

Change History (6)

comment:1 by jlost@…, 6 years ago

Component: Nonelexical_cast
Keywords: lexical_cast build xlc++ xlc power8 added
Owner: set to Antony Polukhin
Severity: ProblemShowstopper

comment:2 by Antony Polukhin, 6 years ago

Component: lexical_castrange
Owner: changed from Antony Polukhin to Neil Groves

Looks like an issue in boost.Range or Boost.PP

comment:4 by pitman@…, 6 years ago

You can use the option -qnoxlcompatmacros to fix this. This is the same option that is used by b2/bjam when building all of Boost with xlcpp. Using the test you provided:

xlC -c test.cpp -I../boost_1_61_0 -qnoxlcompatmacros

comment:5 by jlost@…, 6 years ago

Number1n00b, what is the nature of your proposed fix? I tested the above workaround and it works. camorton2 mentioned a patch at www-01.ibm dot com/support/docview.wss?uid=swg27006911 as well. Does your solution circumvent the need for these patches and flags?

comment:6 by jlost@…, 6 years ago

@pitman, what is the feasibility of a fix that removes the need for the -qnoxlcompatmacros flag? I see that IBM already has a patch available: www-01.ibm dot com/support/docview.wss?uid=swg27047524 What would it take for a patch like this to be merged into the codebase?

Note: See TracTickets for help on using tickets.