Opened 5 years ago
Closed 5 years ago
#13240 closed Bugs (fixed)
#include <boost/spirit/include/phoenix1.hpp> requires #include <complex> starting from boost 1.65.0
| Reported by: | anonymous | Owned by: | Joel de Guzman |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | spirit |
| Version: | Boost 1.65.0 | Severity: | Regression |
| Keywords: | Cc: |
Description
Compiling
#include <boost/spirit/include/phoenix1.hpp>
int main()
{
return 0;
}
with
$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.65.1/gcc-7.2.0/include -std=gnu++14
results in
In file included from /opt/wandbox/boost-1.65.0/gcc-7.2.0/include/boost/spirit/home/classic/phoenix.hpp:18:0,
from /opt/wandbox/boost-1.65.0/gcc-7.2.0/include/boost/spirit/include/phoenix1.hpp:11,
from prog.cc:1:
/opt/wandbox/boost-1.65.0/gcc-7.2.0/include/boost/spirit/home/classic/phoenix/special_ops.hpp:62:48: error: 'complex' is not a member of 'std'
template <typename T> struct rank<PHOENIX_STD::complex<T> >
^~~~~~~
/opt/wandbox/boost-1.65.0/gcc-7.2.0/include/boost/spirit/home/classic/phoenix/special_ops.hpp:62:48: error: 'complex' is not a member of 'std'
/opt/wandbox/boost-1.65.0/gcc-7.2.0/include/boost/spirit/home/classic/phoenix/special_ops.hpp:62:57: error: template argument 1 is invalid
template <typename T> struct rank<PHOENIX_STD::complex<T> >
^
/opt/wandbox/boost-1.65.0/gcc-7.2.0/include/boost/spirit/home/classic/phoenix/special_ops.hpp:62:59: error: expected unqualified-id before '>' token
template <typename T> struct rank<PHOENIX_STD::complex<T> >
^
Workaround to the problem is to #include <complex> before phoenix1.hpp but this should be probably done internally.
On boost versions prior to 1.65.0 original code would compile w/o any errors (checked on wandbox.org).
Change History (3)
comment:1 by , 5 years ago
| Component: | None → spirit |
|---|---|
| Owner: | set to |
comment:2 by , 5 years ago
comment:3 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.

Fixed in https://github.com/boostorg/spirit/pull/273