[math] policy<discrete_quantile<real> > test's fail because multiple matches for 'real'
When I compile with VxWorks 7/Clang v5/ Dinkum 700 there is an inline
real() function in global scope. Leading to a few errors like this:
-----------------------------------------------------------------------
clang-vxworks.compile.c++
../bin.v2/libs/math/test/test_poisson_float.test/clang-vxworks-4.2.1/debug/cross-compile-vxworks/static-only-on/test_poisson.o
"/yow-build40-lx1/bkuhl/vx7/compilers/llvm-5.0.0.3/LINUX386/bin/clang"
-x c++ --target=x86_64 -m64 -mcmodel=large -fno-omit-frame-pointer
-fno-strict-aliasing -mno-implicit-float -fno-builtin -nostdlibinc
-nostdinc++ -fno-use-init-array -ftls-model=local-exec -ansi -std=c++14 -O2
-Wall -Wno-missing-braces -Wreturn-type -Wconversion -Wformat
-Wno-sign-conversion -Wno-c++11-narrowing
-isystem/yow-build40-lx1/bkuhl/workspace/VSB/usr/h
-isystem/yow-build40-lx1/bkuhl/workspace/VSB/usr/h/system
-isystem/yow-build40-lx1/bkuhl/workspace/VSB/usr/h/public -O0 -fno-inline
-Wall -g
-include/yow-build40-lx1/bkuhl/workspace/VSB/3pp/BOOST/boost_1_67_0/autoconf_vsbConfig_quote.h
-D_C99 -D_HAS_C9X -D__vxworks -D__VXWORKS__ -D__RTP__ -D__ELF__
-D__WRS_NO_DIRECT_TLS_ACCESS_FROM_RTP_TO_SHARED_LIB
-I/yow-build40-lx1/bkuhl/workspace/VSB/3pp/BOOST/boost_1_67_0
@/yow-build40-lx1/bkuhl/workspace/VSB/mk/_vsbuinc_cmdllvmBOOST
-D_VX_CPU=_VX_SIMLINUX -D_VX_TOOL_FAMILY=llvm -D_VX_TOOL=llvm
-D_nq_VSB_CONFIG_FILE=/yow-build40-lx1/bkuhl/workspace/VSB/h/config/vsbConfig.h
-I/yow-build40-lx1/bkuhl/workspace/VSB/share/h
-isystem/yow-build40-lx1/bkuhl/workspace/VSB/usr/h
-isystem/yow-build40-lx1/bkuhl/workspace/VSB/usr/h/system
-isystem/yow-build40-lx1/bkuhl/workspace/VSB/usr/h/public
-D_VSB_PUBLIC_HDR_DIR=/yow-build40-lx1/bkuhl/workspace/VSB/usr/h/public -I.
-DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1
-DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1
-DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_TIMER_STATIC_LINK=1
-DBOOST_UBLAS_UNSUPPORTED_COMPILER=0 -DTEST_FLOAT -I".."
-I"../libs/math/include_private" -I"../libs/math/test" -c -o
"../bin.v2/libs/math/test/test_poisson_float.test/clang-vxworks-4.2.1/debug/cross-compile-vxworks/static-only-on/test_poisson.o"
"../libs/math/test/test_poisson.cpp"
../libs/math/test/test_poisson.cpp:454:39: error: reference to 'real' is
ambiguous
typedef policy
-------------------------------------------------------- I'd like to contribute a pull request to resolve this. But I'd like some guidance; is a simple change that qualifies real acceptable.
using namespace boost::math::policies; - typedef policy
P1; + typedef policy boost::math::policies::real > P1; typedef policy > P2;
Fully qualifying is fine, can you file a PR? Thanks! John. --- This email has been checked for viruses by AVG. https://www.avg.com
participants (2)
-
Brian Kuhl
-
John Maddock