[all-commits] [llvm/llvm-project] f47680: [clang] Fix PointerAuth semantics of cpp_trivially...

Oliver Hunt via All-commits all-commits at lists.llvm.org
Thu Jun 12 13:51:29 PDT 2025


  Branch: refs/heads/users/ojhunt/ptrauth-vs-trivial-relocation-sema
  Home:   https://github.com/llvm/llvm-project
  Commit: f47680310ed68a9f8e8cb15bc1cd474740072463
      https://github.com/llvm/llvm-project/commit/f47680310ed68a9f8e8cb15bc1cd474740072463
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-06-12 (Thu, 12 Jun 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
    M clang/test/SemaCXX/ptrauth-triviality.cpp
    A clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp

  Log Message:
  -----------
  [clang] Fix PointerAuth semantics of cpp_trivially_relocatable

This adds a function to ASTContext to query whether a type contains
values with address discriminated pointer auth, and performs the
required semantic checks to ensure correct reporting of relocatablity
in those cases.

For the standardized version, __builtin_is_cpp_trivially_relocatable
this means rejecting unions of types containing address discriminated
values.

For the old deprecated __builtin_is_trivially_relocatable this means
rejecting any type containing an address discriminated value.

This PR does not update the codegen for __builtin_trivially_relocate,
that will be in a follow on PR that is much more complex.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list