[all-commits] [llvm/llvm-project] 4e7cf1: [clang][Interp] Add an EvaluationResult class (#71...

Timm Baeder via All-commits all-commits at lists.llvm.org
Fri Jan 19 01:08:15 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4e7cf1b1ed3824d1298d4232922f54c6295eab50
      https://github.com/llvm/llvm-project/commit/4e7cf1b1ed3824d1298d4232922f54c6295eab50
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-01-19 (Fri, 19 Jan 2024)

  Changed paths:
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/ByteCodeEmitter.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Context.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    A clang/lib/AST/Interp/EvaluationResult.cpp
    A clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Add an EvaluationResult class (#71315)

Add an `EvaluationResult` class. This contains the result either as a
`Pointer` or as a `APValue`.

This way, we can inspect the result of the evaluation and diagnose
problems with it (e.g. uninitialized fields in global initializers or
pointers pointing to things they shouldn't point to).




More information about the All-commits mailing list