[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: