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

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: