leonardchan added a comment.

Hi. Our GCC builders are failing with

  [182/12433] CXX kernel-x64-gcc/obj/kernel/lib/ktl/ktl.dummy-new.cc.o
  FAILED: kernel-x64-gcc/obj/kernel/lib/ktl/ktl.dummy-new.cc.o
  /b/s/w/ir/k/fuchsia/prebuilt/third_party/goma/linux-x64/gomacc  
../../prebuilt/third_party/gcc/linux-x64/bin/x86_64-elf-g++ -MD -MF 
kernel-x64-gcc/obj/kernel/lib/ktl/ktl.dummy-new.cc.o.d -o kernel-x64...
  In file included from ../../zircon/kernel/lib/ktl/dummy-new.cc:7:
  ../../prebuilt/third_party/clang/linux-x64/include/c++/v1/new: In function 
'constexpr void* std::__2::__libcpp_allocate(size_t, size_t)':
  ../../prebuilt/third_party/clang/linux-x64/include/c++/v1/new:252:24: error: 
call to non-'constexpr' function 'void* operator new(size_t)'
    252 |   return ::operator new(__size);
        |          ~~~~~~~~~~~~~~^~~~~~~~
  In file included from ../../zircon/kernel/lib/ktl/dummy-new.cc:7:
  ../../prebuilt/third_party/clang/linux-x64/include/c++/v1/new:186:66: note: 
'void* operator new(size_t)' declared here
    186 | _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* 
operator new(std::size_t __sz) _THROW_BAD_ALLOC;
        |                                                                  
^~~~~~~~

I presume it's because `_LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE` is defined 
from

  #if !__has_builtin(__builtin_operator_new) || 
!__has_builtin(__builtin_operator_delete)
  #define _LIBCPP_HAS_NO_BUILTIN_OPERATOR_NEW_DELETE
  #endif

Is there a recommended way for working around this? We're using GCC 10.2.1. 
Thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68364/new/

https://reviews.llvm.org/D68364

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to