Skip to content

[clang] Migration to PointerIntPair #69835

@Endilll

Description

@Endilll

Here is an incomplete list of ad-hoc tagged pointers that should be refactored to use llvm::PointerIntPair:

  • clang::ActionResult::Value
  • clang::ASTWriter::DeclOrType::Stored
  • clang::CGBlockInfo::Capture::Data
  • clang::DeclAccessPair::Ptr
  • clang::DeclarationName::Ptr
  • clang::DesignatedInitExpr::Designator::NameOrField
  • clang::IdentifierResolver::Iterator::Ptr
  • clang::LazyOffsetPtr::Ptr
  • clang::NodeGroup::P
  • clang::ObjCMessageExpr::SelectorOrMethod
  • clang::OffsetOfNode::Data
  • clang::Selector::InfoPtr
  • clang::StmtIteratorBase::RawVAPtr
  • clang::Token::PtrData
  • clang::VTableComponent::Value
  • clang::api_notes::FunctionInfo::NullabilityPayload

Apart from inconsistency with newer code that uses PointerIntPair, ad-hoc tagged pointers require boilerplate on the side of debug formatters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang:codegenIR generation bugs: mangling, exceptions, etc.clang:frontendLanguage frontend issues, e.g. anything involving "Sema"code-quality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions