[cfe-dev] [llvm-dev] LLVM-3.8.0 libcxx in-tree build fails with cmath error ::signbit has not been declared
Eric Fiselier via cfe-dev
cfe-dev at lists.llvm.org
Mon Mar 14 09:45:37 PDT 2016
Well unfortunately that doesn't help me either. Something really weird
seems to be going on because libc++ provides the definition for these
functions itself it libcxx/include/math.h. I suspect that maybe CMake is
really messing up the compiler invocation but honestly I have no clue.
Could you provide the compiler invocation used for that file?
/Eric
On Mon, Mar 14, 2016 at 10:17 AM, Oza, Hiral <Hiral.Oza at netapp.com> wrote:
> cmake -E cmake_progress_report
> llvm-3.8.0.src_bld_x86_64-rhel6.4-linux-gnu/CMakeFiles
>
> In file included from
> llvm-3.8.0.src/projects/libcxx/include/__hash_table:19:0,
>
> from llvm-3.8.0.src/projects/libcxx/src/hash.cpp:10:
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:310:9: error: '::signbit' has
> not been declared
>
> using ::signbit;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:311:9: error: '::fpclassify'
> has not been declared
>
> using ::fpclassify;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:312:9: error: '::isfinite'
> has not been declared
>
> using ::isfinite;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:315:9: error: '::isnormal'
> has not been declared
>
> using ::isnormal;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:316:9: error: '::isgreater'
> has not been declared
>
> using ::isgreater;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:317:9: error:
> '::isgreaterequal' has not been declared
>
> using ::isgreaterequal;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:318:9: error: '::isless' has
> not been declared
>
> using ::isless;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:319:9: error: '::islessequal'
> has not been declared
>
> using ::islessequal;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:320:9: error:
> '::islessgreater' has not been declared
>
> using ::islessgreater;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:321:9: error: '::isunordered'
> has not been declared
>
> using ::isunordered;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:322:9: error: '::isunordered'
> has not been declared
>
> using ::isunordered;
>
> ^
>
> llvm-3.8.0.src/projects/libcxx/include/cmath:328:9: error: '::abs' has not
> been declared
>
> using ::abs;
>
> ^
>
> In file included from
> llvm-3.8.0.src/projects/libcxx/include/functional:475:0,
>
> from
> llvm-3.8.0.src/projects/libcxx/include/experimental/optional:144,
>
> from llvm-3.8.0.src/projects/libcxx/src/optional.cpp:10:
>
> llvm-3.8.0.src/projects/libcxx/include/typeinfo: In member function
> 'size_t std::type_info::hash_code() const':
>
> llvm-3.8.0.src/projects/libcxx/include/typeinfo:116:62: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
>
> {return *reinterpret_cast<const size_t*>(&__type_name);}
>
> ^
>
> cmake -E cmake_progress_report
> llvm-3.8.0.src_bld_x86_64-rhel6.4-linux-gnu/CMakeFiles
>
> In file included from
> llvm-3.8.0.src/projects/libcxx/include/__hash_table:14:0,
>
> from llvm-3.8.0.src/projects/libcxx/src/hash.cpp:10:
>
> llvm-3.8.0.src/projects/libcxx/include/__config:448:50: warning:
> '__unused__' attribute ignored [-Wattributes]
>
> #define _LIBCPP_UNUSED __attribute__((__unused__))
>
> ^
>
> Thank you.
>
> -H
>
>
>
> *From:* Eric Fiselier [mailto:eric at efcs.ca]
> *Sent:* Monday, March 14, 2016 8:55 PM
> *To:* Oza, Hiral <Hiral.Oza at netapp.com>
> *Cc:* cfe-dev at lists.llvm.org; LLVM Dev <llvm-dev at lists.llvm.org>
> *Subject:* Re: [llvm-dev] LLVM-3.8.0 libcxx in-tree build fails with
> cmath error ::signbit has not been declared
>
>
>
> Can you post the full error log please?
>
>
>
> /Eric
>
>
>
> On Mon, Mar 14, 2016 at 3:10 AM, Oza, Hiral via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> Greetings!
>
> I have been building llvm-3.6.x, 3.7.1 and 3.7.2 with (glibc-2.12.1,
> binutils-2.24, gcc-4.9.2) almost same set if CMake flags.
> However while building LLVM-3.8.0 using same CMake flags I am observing
> projects/libcxx/include/cmath errors...
> ...'::signbit' has not been declared
> ...'::fpclassify' has not been declared
> ...'::isfinite' has not been declared
> ...
>
> My environment is...
> Glibc-2.12.1
> Binutils-2.24
> Gcc-4.92.
> Llvm-3.8.0
>
> Cmake flags...
> -DBUILD_SHARED_LIBS=ON \
> -DCMAKE_BUILD_TYPE="Release" \
> -DCMAKE_CXX_COMPILER=$GCC_ROOT/bin/g++ \
> -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
> -DCMAKE_CXX_LINK_FLAGS="$LDFLAGS" \
> -DCMAKE_C_COMPILER=$GCC_ROOT/bin/gcc \
> -DCMAKE_C_FLAGS="$CFLAGS" \
> -DCMAKE_C_LINK_FLAGS="$LDFLAGS" \
> -DCMAKE_INSTALL_PREFIX=$PREFIX_DIR \
> -DCMAKE_LIBRARY_PATH=${BASE_DIR}/lib \
> -DCMAKE_SKIP_INSTALL_RPATH=OFF \
> -DCMAKE_SKIP_RPATH=OFF \
> -DCMAKE_SYSTEM_INCLUDE_PATH=$myincpath \
> -DCMAKE_SYSTEM_LIBRARY_PATH=$mylibpath \
> -DCMAKE_VERBOSE_MAKEFILE=ON \
> -DCURSES_NEED_NCURSES=TRUE \
> -DFFI_INCLUDE_DIR=$DESTROOT/lib/libffi-3.0.11/include \
> -DFFI_LIBRARY_DIR=$DESTROOT/lib \
> -DGCC_INSTALL_PREFIX=$GCC_ROOT \
> -DLLVM_BINUTILS_INCDIR=${DESTROOT}/include \
> -DLLVM_BUILD_32_BITS=OFF \
> -DLLVM_BUILD_EXAMPLES=ON \
> -DLLVM_ENABLE_CXX1Y=ON \
> -DLLVM_ENABLE_EH=ON \
> -DLLVM_ENABLE_FFI=ON \
> -DLLVM_ENABLE_LIBCXX=ON \
> -DLLVM_ENABLE_RTTI=ON \
> -DLLVM_ENABLE_THREADS=ON \
> -DLLVM_ENABLE_ZLIB=ON \
> -DLLVM_INCLUDE_EXAMPLES=ON \
> -DLLVM_INCLUDE_UTILS=ON \
> -DLLVM_OPTIMIZED_TABLEGEN=ON \
> -DLLVM_PARALLEL_COMPILE_JOBS=15 \
> -DLLVM_PARALLEL_LINK_JOBS=15 \
> -DLLVM_TARGETS_TO_BUILD="X86" \
> -DLLVM_TARGETS_WITH_JIT="X86"
>
> Any suggestions?
>
> Thank you in advance.
> -H
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160314/00f07750/attachment.html>
More information about the cfe-dev
mailing list