carbon-lang icon indicating copy to clipboard operation
carbon-lang copied to clipboard

bazel test -c opt ..., llvm-15 issues with -Wdeprecated-builtins

Open malkia opened this issue 3 years ago • 2 comments
trafficstars

Doing bazel test -c opt -k ... with llvm-15 fails some warning from absl (abseil) code, like:

n file included from external/com_google_absl/absl/base/internal/thread_identity.cc:27:
In file included from external/com_google_absl/absl/base/call_once.h:34:
In file included from external/com_google_absl/absl/base/internal/invoke.h:42:
external/com_google_absl/absl/meta/type_traits.h:301:36: error: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Werror,-Wdeprecated-builtins]
    : std::integral_constant<bool, __has_trivial_destructor(T) &&
                                   ^
external/com_google_absl/absl/meta/type_traits.h:350:36: error: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Werror,-Wdeprecated-builtins]
    : std::integral_constant<bool, __has_trivial_constructor(T) &&
                                   ^
external/com_google_absl/absl/meta/type_traits.h:494:17: error: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Werror,-Wdeprecated-builtins]
          bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
                ^
external/com_google_absl/absl/meta/type_traits.h:559:8: error: builtin __has_trivial_copy is deprecated; use __is_trivially_constructible instead [-Werror,-Wdeprecated-builtins]
      (__has_trivial_copy(ExtentsRemoved) || !kIsCopyOrMoveConstructible) &&
       ^
external/com_google_absl/absl/meta/type_traits.h:560:8: error: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Werror,-Wdeprecated-builtins]
      (__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
       ^
5 errors generated.

this should fix it possibly:

malkia@penguin:~/p/carbon-language/carbon-lang$ git diff
diff --git a/bazel/cc_toolchains/clang_cc_toolchain_config.bzl b/bazel/cc_toolchains/clang_cc_toolchain_config.bzl
index 2ed6595..5beda84 100644
--- a/bazel/cc_toolchains/clang_cc_toolchain_config.bzl
+++ b/bazel/cc_toolchains/clang_cc_toolchain_config.bzl
@@ -126,6 +126,7 @@ def _impl(ctx):
                             "-Wnon-virtual-dtor",
                             # Unfortunately, LLVM isn't clean for this warning.
                             "-Wno-unused-parameter",
+                            "-Wno-deprecated-builtins",
                             # Compile actions shouldn't link anything.
                             "-c",
                         ],
diff --git a/explorer/syntax/parser.ypp b/explorer/syntax/parser.ypp
index 79e9357..df3fdae 100644

malkia avatar Jul 24 '22 19:07 malkia

Did you install llvm [https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/contribution_tools.md#clang-and-llvm](using homebrew)?

geoffromer avatar Jul 25 '22 20:07 geoffromer

Did you install llvm [https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/contribution_tools.md#clang-and-llvm](using homebrew)?

Ha! For some reason my brain ignored homebrew thinking it's OSX only. Okay, so I'll try with this then! Thanks! (I'm using debian bullseye 11 from my chromebook, and it was limited to llvm-11)

malkia avatar Jul 25 '22 23:07 malkia