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

Add type attributes (and wire them through name mangling) for sealed types #5

Open
davidchisnall opened this issue Nov 24, 2023 · 4 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@davidchisnall
Copy link

davidchisnall commented Nov 24, 2023

Currently, we use void* for all sealed types. We should be able to write [[cheriot::sealed]] struct T * and propagate the type through the rest of the system.

All operations on sealed types other than an explicit cast should fail. The token_unseal function will take a [[cheriot::sealed]] void* and return a void*, but it is written in assembly.

@resistor
Copy link
Collaborator

Some initial wiring up of the attribute here resistor@1c83b24

For some reason it seems to only work with old-style GNU attributes and not C++ attributes at the moment.

@resistor
Copy link
Collaborator

Reworked as a proper type annotation here: resistor@20a0771

@resistor
Copy link
Collaborator

resistor commented Dec 3, 2024

Available to testing here: resistor@828e58a

@resistor resistor self-assigned this Dec 3, 2024
@resistor
Copy link
Collaborator

Fix is in #88

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants