goblint / cil

C Intermediate Language
https://goblint.github.io/cil/
Other
40 stars 16 forks source link

Add support for parsing `asm goto` #92

Closed bottbenj closed 8 months ago

bottbenj commented 2 years ago

Implements parsing of asm goto statements for #81 and tracking if a asm statement is basic or advanced as required for my thesis.

This change requires https://github.com/bottbenj/analyzer/commit/e3af268163594212468a490abf9318c10ee9a803 in analyzer.

This currently doesn't handle the controlflow resulting from an asm goto but should be sufficient for parsing projects that happen to contain such statements.

michael-schwarz commented 2 years ago

Once we get the remaining open issues addressed, I think it make sense to merge this, even if Goblint will trail behind for a bit, i.e., while the better handling of asm is not yet merged into Goblint.

sim642 commented 2 years ago

Once we get the remaining open issues addressed, I think it make sense to merge this, even if Goblint will trail behind for a bit, i.e., while the better handling of asm is not yet merged into Goblint.

I wouldn't rush this so much, but would wait until we have some Goblint PR ready to handle the change to option for the Asm instruction at least, not necessarily full support for asm goto handling. Otherwise we block ourselves from making any independent changes to CIL, because any of those would also have to duplicate the adaptation of Goblint to that option.

michael-schwarz commented 8 months ago

Closing in favor of PR to be created by students from the Goblint practical which will address this issue in a principled way.