Bug#914688: g++: fails to understand BOOST_OS_LINUX on ppc64el?

2018-12-06 Thread Mas Bedjo
On Mon, 26 Nov 2018 11:50:21 +0100 Matthias Klose  wrote:
> 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 
> > #include 
> >
> > #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
>


Bug#914688: g++: fails to understand BOOST_OS_LINUX on ppc64el?

2018-11-26 Thread Gianfranco Costamagna
control: severity -1 serious


I reduced to a simple test case that involves no boost at all, and only a macro.
cat test.cpp





this code shows on ppc64el:

$ g++ test.cpp  -std=c++14 -c
NO OUTPUT (wrong)

$ g++ test.cpp  -c
test.cpp:2:2: warning: #warning defined linux [-Wcpp]
 #warning defined linux
  ^~~
test.cpp:6:2: warning: #warning defined __linux [-Wcpp]
 #warning defined __linux
  ^~~

good output.

Is is a clear test case now?

on amd64 both are returning correct, at least __linux is still defined.


$ g++ test.cpp -c -std=c++14
test.cpp:6:2: warning: #warning defined __linux [-Wcpp]
 #warning defined __linux
  ^~~

$ g++ test.cpp -c   
test.cpp:2:2: warning: #warning defined linux [-Wcpp]
 #warning defined linux
  ^~~
test.cpp:6:2: warning: #warning defined __linux [-Wcpp]
 #warning defined __linux
  ^~~


I hope this makes the issue a little bit more clear!

G.



Bug#914688: g++: fails to understand BOOST_OS_LINUX on ppc64el?

2018-11-26 Thread Matthias Klose
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 
> #include 
> 
> #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.



Bug#914688: g++: fails to understand BOOST_OS_LINUX on ppc64el?

2018-11-26 Thread Gianfranco Costamagna
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 
#include 

#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.