[all-commits] [llvm/llvm-project] 303382: [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID`...

Vlad Serebrennikov via All-commits all-commits at lists.llvm.org
Mon Feb 12 08:41:09 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 30338223e461a00463cef665ec29d8f5a8ef2cda
      https://github.com/llvm/llvm-project/commit/30338223e461a00463cef665ec29d8f5a8ef2cda
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (#71709)

This patch refactors how values are stored inside
`IdentifierInfo::ObjcOrBuiltinID` bit-field, and annotates it with
`preferred_type`. In order to make the value easier to interpret by
debuggers, a new `ObjCKeywordOrInterestingOrBuiltin` enum is added.
Previous "layout" of this fields couldn't be represented with this new enum,
because it skipped over some arbitrary enumerators, so a new "layout"
was invented, which is reflected in `ObjCKeywordOrInterestingOrBuiltin` enum. I
believe the new layout is simpler than the new one.




More information about the All-commits mailing list