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

Make all public classes of CSP visible for user extension modules #365

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

AdamGlustein
Copy link
Collaborator

Closes #363

@AdamGlustein AdamGlustein added the lang: c++ Issues and PRs related to the C++ codebase label Oct 2, 2024
@AdamGlustein AdamGlustein force-pushed the fix-symbol-visibility-for-user-extensions branch from 78e4af3 to 5cc011e Compare October 2, 2024 14:13
Copy link
Collaborator

@robambalu robambalu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also add a build / test of a user extension node and adapter as part of this

cpp/csp/core/EnumBitSet.h Outdated Show resolved Hide resolved
cpp/csp/engine/CMakeLists.txt Outdated Show resolved Hide resolved
@@ -14,7 +14,7 @@ namespace csp
one of the simplest! template type is required to have an intrinsic next pointer
*/
template< typename T >
class alignas(CACHELINE_SIZE) SRMWLockFreeQueue
class CSP_PUBLIC alignas(CACHELINE_SIZE) SRMWLockFreeQueue
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like some of these are missing the Platform.h include leading to the syntax errors in compilation

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, the header propagates in from csp/core/TIme.h in this case. There's some weird behavior with the combination of alignas and CSP_PUBLIC, although locally it builds fine for me.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ITs good practice to always include all of your deps directly, otherwise you can break if the header you rely on to transitively include stops including your dep.
As for the error, I havent seen which build failed but if its macos it could be the compiler

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Included all the headers btw

…cess them

Signed-off-by: Adam Glustein <adam.glustein@point72.com>
@AdamGlustein AdamGlustein force-pushed the fix-symbol-visibility-for-user-extensions branch from 5cc011e to 49a7bfa Compare October 2, 2024 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang: c++ Issues and PRs related to the C++ codebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Visibility too restrictive for externally defined C++ nodes & adapters
3 participants