diff --git a/include/phasar/DataFlow/IfdsIde/Solver/GenericSolverResults.h b/include/phasar/DataFlow/IfdsIde/Solver/GenericSolverResults.h index e14162c0b..280d9571f 100644 --- a/include/phasar/DataFlow/IfdsIde/Solver/GenericSolverResults.h +++ b/include/phasar/DataFlow/IfdsIde/Solver/GenericSolverResults.h @@ -55,8 +55,15 @@ template class GenericSolverResults final { static_assert(std::is_trivially_copyable_v, "SolverResults should only be a *view* into the results of " "an IFDS/IDE solver."); - static_assert(alignof(type) <= alignof(void *)); - static_assert(sizeof(type) <= sizeof(Buffer)); + + /// NOTE: We reinterpret the bytes of the `Buffer` as `type`, so it better + /// be properly aligned + static_assert( + alignof(type) <= alignof(void *), + "The solver-results type is improperly aligned for the inline buffer"); + static_assert( + sizeof(type) <= sizeof(Buffer), + "The inline buffer is to small to hold this type of solver-result"); static_assert(std::is_trivially_copyable_v);