Bug#914688: g++: fails to understand BOOST_OS_LINUX on ppc64el?
Source: gcc-8
Version: 8.2.0-10
Severity: serious
Affects: src:performous
Hello, after trying to debug why src:performous was FTBFS on ppc64el, I got this issue:
test example reproducing the issue:
cat test.c++
#include <boost/predef.h>
#include <stdio.h>
#if BOOST_OS_LINUX
#warning "OS LINUX DEFINED"
#endif
int main()
{
printf("%d\n", BOOST_OS_WINDOWS);
printf("%d\n", BOOST_OS_LINUX);
}
apt-get install libboost-dev
on an amd64 machine this happens:
$ g++ test.c++
test.c++:5:2: warning: #warning "OS LINUX DEFINED" [-Wcpp]
#warning "OS LINUX DEFINED"
^~~~~~~
$ g++ test.c++ -std=c++14
test.c++:5:2: warning: #warning "OS LINUX DEFINED" [-Wcpp]
#warning "OS LINUX DEFINED"
^~~~~~~
(everything is ok)
on a ppc64el machine this happens instead:
g++ test.c++
test.c++:5:2: warning: #warning "OS LINUX DEFINED" [-Wcpp]
#warning "OS LINUX DEFINED"
^~~~~~~
g++ test.c++ -std=c++14
(NO WARNINGS HERE).
this is why the package FTBFS, because that macro is not defined when std is defined.
Any idea?
(this might be a boost issue, but I can't prove it!)
same happens with old g++-7, and with c++0x or c++11
G.
Reply to: