Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Known issues of the compiler #3

Open
1 of 5 tasks
alastairreid opened this issue Dec 19, 2024 · 0 comments
Open
1 of 5 tasks

Known issues of the compiler #3

alastairreid opened this issue Dec 19, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@alastairreid
Copy link

alastairreid commented Dec 19, 2024

We know about the following limitations of the compiler

Missing features that we do not plan to address

  • No string operations are supported so the only strings you can use are string literals.
    We strongly encourage limiting the use of strings to logging/debugging prints.
  • The real type, real literals and real operations are not supported.
    These are only used in floating point specs and we plan to release a floating point specification that avoids the use of 'real'.

Missing features that we do plan to address

  • Bitvectors are only supported if is is possible to determine the bitwidth based on how the function that uses it is used.
    We currently work around this by inserting case-splits manually (or in machine generated code like instruction decoders). This could be improved by automatically inserting case-splits.
  • Runtime checks are not performed for array indexes and bitvector slices. (Missing ASL feature: runtime checks #32)
  • Integers are represented by a fixed bitwidth (usually 128 bits) which makes it possible that integers will overflow or wraparound. (Bug: Fixed width integer representation #36)

Scope for improvement / optimization

@alastairreid alastairreid added the bug Something isn't working label Feb 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant