Bug#914688: g++: fails to understand BOOST_OS_LINUX on ppc64el?
Control: severity -1 important
Control: tags -1 + moreinfo
On 26.11.18 11:23, Gianfranco Costamagna wrote:
> 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!)
... but you are sure enough to file a RC issue for a different package.
> same happens with old g++-7, and with c++0x or c++11
look at include hierarchy, and defined macros, and try to figure out what
happens here.
Reply to: