Skip to content

[Bug]: builtin __is_trivially_relocatable is deprecated #1885

@hocheung-chromium

Description

@hocheung-chromium

Describe the issue

On the newer (basically LLVM ToT branch) Clang compiler, abseil-cpp shows a lot of warnings, such as

../../third_party/abseil-cpp/absl/meta/type_traits.h:391:22: warning: builtin __is_trivially_relocatable is deprecated; use __builtin_is_cpp_trivially_relocatable instead [-Wdeprecated-builtins]
  391 |                     (__is_trivially_relocatable(T) &&
      |                      ^
../../third_party/libc++/src/include/__type_traits/conjunction.h:60:58: note: in instantiation of template class 'absl::is_trivially_relocatable<sk_sp<cc::PaintFilter>>' requested here
   60 | struct conjunction<_Arg, _Args...> : conditional_t<!bool(_Arg::value), _Arg, conjunction<_Args...>> {};
      |                                                          ^
../../third_party/abseil-cpp/absl/container/internal/inlined_vector.h:319:13: note: in instantiation of template class 'std::conjunction<absl::is_trivially_relocatable<sk_sp<cc::PaintFilter>>, std::is_same<std::allocator<sk_sp<cc::PaintFilter>>, std::allocator<sk_sp<cc::PaintFilter>>>>' requested here
  319 |       absl::conjunction<absl::is_trivially_relocatable<ValueType<A>>,
      |             ^
../../third_party/abseil-cpp/absl/container/inlined_vector.h:101:33: note: in instantiation of template class 'absl::inlined_vector_internal::Storage<sk_sp<cc::PaintFilter>, 2, std::allocator<sk_sp<cc::PaintFilter>>>' requested here
  101 |   using MemcpyPolicy = typename Storage::MemcpyPolicy;
      |                                 ^
../../cc/paint/paint_filter.h:596:46: note: in instantiation of template class 'absl::InlinedVector<sk_sp<cc::PaintFilter>, 2>' requested here
  596 |   absl::InlinedVector<sk_sp<PaintFilter>, 2> inputs_;
      |                                              ^
4 warnings generated.

This problem occurs when you compile Chromium from the ToT branch using a newer Clang compiler (i.e. a custom clang binary).

Steps to reproduce the problem

Compile Chromium from the ToT branch using a newer Clang compiler (i.e. a custom clang binary).

What version of Abseil are you using?

1b52dcb

What operating system and version are you using?

Debian Unstable

What compiler and version are you using?

clang version 21.0.0git (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 802d8d90776b476ca8f257ab2e4fa2db185c6b69)

What build system are you using?

Ninja

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions