Chris Palmer via llvm-dev
2019-Nov-04 22:01 UTC
[llvm-dev] Compilation failure with on branch master in destroying_delete_t.pass.cpp
Hi all, I've been seeing this failure for a couple weeks. I assume I am doing something wrong, but I can't tell what. :) ``` $ git pull --rebase ... $ git checkout master $ git diff origin/master → confirming no difference $ cd build $ ninja check-all ... GNU C++17 (Debian 8.3.0-6) version 8.3.0 (x86_64-linux-gnu) compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version 4.0.2-rc1, MPC version 1.1.0, isl version isl-0.20-GMP warning: MPFR header version 4.0.2-rc1 differs from library version 4.0.2. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 5e2cda5349948e2d3e86e3d9186f42cf /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp:31:52: error: ‘operator delete’ takes type ‘void*’ as first parameter void operator delete(A*, std::destroying_delete_t); ^ /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp:50:55: error: ‘operator delete’ takes type ‘void*’ as first parameter void A::operator delete(A* a, std::destroying_delete_t) { ^ /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp: In function ‘int main()’: /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp:74:10: error: no suitable ‘operator delete’ for ‘A’ delete ap; ^~ ``` I assume the problem is that I am using GNU C++17 to compile (as stated in the message), and the feature requires C++20 (as stated at the top of destroying_delete_t.pass.cpp I tried setting my CXX environment variable to clang++, but that didn't change the outcome. Following the docs <https://llvm.org/docs/CMake.html>, I also tried that, plus: ``` $ cmake -G Ninja -DLLVM_CXX_STD=c++20 ../llvm CMake Warning: Manually-specified variables were not used by the project: LLVM_CXX_STD ``` So I'm sure I'm doing something wrong, but I don't know what else to try. Any clues? Thanks. :) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191104/3cad7e09/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4843 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191104/3cad7e09/attachment-0001.bin>
Chris Palmer via llvm-dev
2019-Nov-07 18:12 UTC
[llvm-dev] Compilation failure with on branch master in destroying_delete_t.pass.cpp
The patch "Update the docs for building libc++" gave me the info I needed to get over this hurdle. Thanks. :) On Mon, Nov 4, 2019 at 2:01 PM Chris Palmer <palmer at google.com> wrote:> Hi all, > > I've been seeing this failure for a couple weeks. I assume I am doing > something wrong, but I can't tell what. :) > > ``` > $ git pull --rebase > ... > $ git checkout master > $ git diff origin/master > → confirming no difference > $ cd build > $ ninja check-all > ... > GNU C++17 (Debian 8.3.0-6) version 8.3.0 (x86_64-linux-gnu) > compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR version > 4.0.2-rc1, MPC version 1.1.0, isl version isl-0.20-GMP > > warning: MPFR header version 4.0.2-rc1 differs from library version 4.0.2. > GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 > Compiler executable checksum: 5e2cda5349948e2d3e86e3d9186f42cf > /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp:31:52: > error: ‘operator delete’ takes type ‘void*’ as first parameter > void operator delete(A*, std::destroying_delete_t); > ^ > /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp:50:55: > error: ‘operator delete’ takes type ‘void*’ as first parameter > void A::operator delete(A* a, std::destroying_delete_t) { > ^ > /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp: > In function ‘int main()’: > /usr/local/google/home/palmer/llvm-project/libcxx/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp:74:10: > error: no suitable ‘operator delete’ for ‘A’ > delete ap; > ^~ > ``` > > I assume the problem is that I am using GNU C++17 to compile (as stated in > the message), and the feature requires C++20 (as stated at the top of > destroying_delete_t.pass.cpp > > I tried setting my CXX environment variable to clang++, but that didn't > change the outcome. Following the docs <https://llvm.org/docs/CMake.html>, > I also tried that, plus: > > ``` > $ cmake -G Ninja -DLLVM_CXX_STD=c++20 ../llvm > CMake Warning: > Manually-specified variables were not used by the project: > > LLVM_CXX_STD > ``` > > So I'm sure I'm doing something wrong, but I don't know what else to try. > Any clues? Thanks. :) >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191107/d3f61d6b/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 4843 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191107/d3f61d6b/attachment.bin>