[Llvm-bgq-discuss] mathcalls.h and ppu_intrinsics.h

Jozsef Bakosi jbakosi at lanl.gov
Tue Jan 24 15:02:20 CST 2017


Hi folks,

I'm trying to compile code including ppu_intrinsics.h as well as math.h and they
seem to be incompatible with each other. Here is the error I get:

=============================================
In file included from /soft/compilers/bgclang/r284961-stable/libc++/include/c++/v1/unordered_map:369:
In file included from /soft/compilers/bgclang/r284961-stable/libc++/include/c++/v1/__hash_table:19:
In file included from /soft/compilers/bgclang/r284961-stable/libc++/include/c++/v1/cmath:305:
In file included from /soft/compilers/bgclang/r284961-stable/libc++/include/c++/v1/math.h:301:
In file included from /bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h:70:
/bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/bits/mathcalls.h:182:1: error: exception specification in declaration does not match previous
      declaration                           
__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__));
^                                           
/bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h:59:3: note: expanded from macro '__MATHCALLX'
  __MATHDECLX (_Mdouble_,function,suffix, args, attrib)
  ^                                         
/bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/math.h:62:22: note: expanded from macro '__MATHDECLX'
  __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)
                     ^                      
/bgsys/drivers/V1R2M2/ppc64/gnu-linux-4.7.2/powerpc64-bgq-linux/sys-include/sys/cdefs.h:89:23: note: expanded from macro '__CONCAT'
#define __CONCAT(x,y)   x ## y              
                        ^                   
<scratch space>:360:1: note: expanded from here
__fabs                                      
^                                           
/usr/lib/gcc/ppc64-redhat-linux/4.4.4/include/ppu_intrinsics.h:411:16: note: expanded from macro '__fabs'
#define __fabs __ppu_fabs 
               ^
/usr/lib/gcc/ppc64-redhat-linux/4.4.4/include/ppu_intrinsics.h:416:1: note: previous declaration is here
__fabs(double x)
^
/usr/lib/gcc/ppc64-redhat-linux/4.4.4/include/ppu_intrinsics.h:411:16: note: expanded from macro '__fabs'
#define __fabs __ppu_fabs 
               ^
=============================================

Does anyone have an idea of a workaround?

Thanks,
Jozsef
-- 
Jozsef Bakosi, LANL CCS-2, 505-665-0950


More information about the llvm-bgq-discuss mailing list