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

Fixing issues with cpp support for ASPIS #3

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

EmilioCorigliano
Copy link

@EmilioCorigliano EmilioCorigliano commented Nov 8, 2024

  • Fixes how addConsistencyChecks handles the new verification basic block, fixing issue [EDDI] Transforming a noexcept function could lead to malformed code #2
  • Removing sret attribute from duplicated function arguments
  • Avoiding the duplication of reserved llvm global variables
  • Using in llvm.global_ctors the _dup version of global constructors if existent
  • Resolving the aliases with aliasees
  • Enhanced the cpp test

@EmilioCorigliano EmilioCorigliano changed the title Fixing issues with ASPIS support for cpp Fixing issues with cpp support for ASPIS Nov 8, 2024
…sic block

Fixes HEAPLab#2.
When creating a VerificationBB between the exception handling and the call of __clang_call_terminate, the invoke landing pad address was substituted with the verificationBB address instead of the exception handler address. This lead to the invoke unwind label jumping after the exception handling part, leading to the "The unwind destination does not have an exception handling instruction!" error.
Added tests for:
- Potentially throwing operation called in a `noexcept` function
- Function returning a struct (generating a `sret` parameter)
- static class, generating an `llvm.global_ctors`
Now the global constructor called are the dup versions if they exist
@EmilioCorigliano EmilioCorigliano marked this pull request as ready for review December 5, 2024 10:04
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