llvm / llvm/llvm-project

[analyzer] Represent parameters of the entrypoint as ParamVarRegions

Open
#215,273 3 comments 0 reactions 0 assignees View on GitHub
clang:static analyzer code-cleanup
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Currently the parameters of the entrypoint function are represented by `NonParamVarRegion`s which is confusing and counterintuitive. It would be nice to ensure that all parameters are represented by `ParamVarRegion`s -- but to achieve this, somebody must review the relevant parts of the code to ensure that this does not break anything.

This quirk surfaced e.g. at [this review comment](https://github.com/llvm/llvm-project/issues/214226#issuecomment-5232052999) but I also encountered it separately.

Obviously this is not high priority, but would be nice to fix eventually.

Contributor guide

Open the contributing guide

Research direction

Start in the analyzer code that represents parameters of the entrypoint function, focusing on the distinction between NonParamVarRegion and ParamVarRegion. Review the relevant uses and the linked review discussion for assumptions about these regions. Done means entrypoint parameters consistently use ParamVarRegion without breaking existing behavior.

Written by the indexing model from the issue text.

Assessment

Domain
compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.