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

Within ACE_SEH_TRY block only operations may be called #1940

Open
jwillemsen opened this issue Sep 20, 2022 · 4 comments
Open

Within ACE_SEH_TRY block only operations may be called #1940

jwillemsen opened this issue Sep 20, 2022 · 4 comments

Comments

@jwillemsen
Copy link
Member

clang on windows doesn't support non-call SEH, within an ACE_SEH_TRY block only operations may be called and within the operation maybe a SEH can be thrown, directly within the ACE_SEH_TRY no SEH should be thrown as clang on Windows can't handle that. See https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/tests/Compiler_Features_39_Test.cpp as an example,

volatile int* pInt = 0x0000000;
is something that shouldn't be done as clang can't support it

@mitza-oci
Copy link
Member

Could you clarify what "only operations may be called" means? Is there clang documentation for this?

@mitza-oci
Copy link
Member

So it just has to have a stack frame between the try and the exception. Are there places in the ACE_TAO code (not tests) that depend on it working more generally? We could have those use an immediately-invoked lambda on this compiler.

@jwillemsen
Copy link
Member Author

I once did a quick scan some time ago and I think we need to update a few places, that is why I created this issue as reminder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants