Skip to content

Better is_circular function detection#103

Open
amir734jj wants to merge 41 commits into
boyland:masterfrom
amir734jj:user/amir734jj/circularity-detection-fix
Open

Better is_circular function detection#103
amir734jj wants to merge 41 commits into
boyland:masterfrom
amir734jj:user/amir734jj/circularity-detection-fix

Conversation

@amir734jj
Copy link
Copy Markdown
Contributor

@amir734jj amir734jj commented Apr 4, 2023

  • formal inside KEYcase_stmt is circular if KEYcase_stmt's expression is circular and formal type is extending LATTICE
  • Use of actual is circular if formal and actual have the same type and the type is extending LATTICE
  • Use of return of function call is circular if type of LHS and return type of function call are equal and extending LATTICE
  • prevent simple edge from function_decl$result -> LHS
  • To detect if the declaration is circular, IF MOD (modifier) is not null then we say edge is monotone

MicrosoftTeams-image

Tested on:

  • all aps examples (first/follow/nullable/nested-cycles/cool-circular-semant and etc)

Comment thread analyze/canonical-signature.c Outdated
Comment thread analyze/canonical-type.c Outdated
Comment thread analyze/aps-dnc.c Outdated
Comment thread analyze/aps-dnc.c Outdated
Comment thread analyze/aps-dnc.c Outdated
@amir734jj amir734jj marked this pull request as draft April 19, 2023 20:24
@amir734jj amir734jj changed the title Better is_circular function (draft, work in progress) Better is_circular function detection Apr 19, 2023
@amir734jj amir734jj marked this pull request as ready for review April 25, 2023 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant