[all-commits] [llvm/llvm-project] 270f2c: [clang][dataflow] Add `Environment::initializeFiel...

martinboehme via All-commits all-commits at lists.llvm.org
Tue Feb 13 01:01:37 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 270f2c5575dc5dd001e91ddc2c71b0f2d23f567c
      https://github.com/llvm/llvm-project/commit/270f2c5575dc5dd001e91ddc2c71b0f2d23f567c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp

  Log Message:
  -----------
  [clang][dataflow] Add `Environment::initializeFieldsWithValues()`. (#81239)

This function will be useful when we change the behavior of record-type
prvalues
so that they directly initialize the associated result object. See also
the
comment here for more details:


https://github.com/llvm/llvm-project/blob/9e73656af524a2c592978aec91de67316c5ce69f/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h#L354

As part of this patch, we document and assert that synthetic fields may
not have
reference type.

There is no practical use case for this: A `StorageLocation` may not
have
reference type, and a synthetic field of the corresponding non-reference
type
can serve the same purpose.




More information about the All-commits mailing list