Customizability Extensions: CFunction Signatures and Code Literals
This MR extends the expressivity of CFunction
by allowing users to specify its type signature, and introduces literal expressions.
-
CFunction Signature: Instances of
CFunction
now have to be created with a fixed type signature, which is used by the typifier. -
Literal expressions: Introduce
PsLiteral
andPsLiteralExpr
to allow injection of custom code literals into the AST. Literals must have a fixed type, and are considered constant within the scope of a kernel.
This MR furthermore fixes CFunction printing, and a bug that affected typification and constant elimination in the presence of array initializers.
-
Test cases for literals
Edited by Frederik Hennig
Merge request reports
Activity
Filter activity
added feature label
requested review from @he66coqe
assigned to @da15siwa
added 12 commits
-
fafe58ec...3ee5d9b6 - 11 commits from branch
backend-rework
- 9bfaa437 - Merge branch 'backend-rework' into ast_extensions
-
fafe58ec...3ee5d9b6 - 11 commits from branch
added 1 commit
- 919ed1c7 - Add literals test. Cleaned up some other tests.
added 3 commits
-
919ed1c7...e512822b - 2 commits from branch
backend-rework
- fa509a86 - Merge branch 'backend-rework' into ast_extensions
-
919ed1c7...e512822b - 2 commits from branch
enabled an automatic merge when the pipeline for fa509a86 succeeds
mentioned in commit 4b2de595
Please register or sign in to reply