[all-commits] [llvm/llvm-project] f5be5c: [Clang] Add __builtin_common_type (#99473)

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Sun Sep 22 00:26:13 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f5be5cdaad7edf52e39ad439cf5d608c930efca2
      https://github.com/llvm/llvm-project/commit/f5be5cdaad7edf52e39ad439cf5d608c930efca2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-09-22 (Sun, 22 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/Basic/Builtins.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/SemaCXX/type-trait-common-type.cpp
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [Clang] Add __builtin_common_type (#99473)

This implements the logic of the `common_type` base template as a
builtin alias. If there should be no `type` member, an empty class is
returned. Otherwise a specialization of a `type_identity`-like class is
returned. The base template (i.e. `std::common_type`) as well as the
empty class and `type_identity`-like struct are given as arguments to
the builtin.



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