Skip to content

Strip hyperobject wrapper when evaluating c++14 constexpr constructor#419

Open
VoxSciurorum wants to merge 1 commit intoOpenCilk:dev/21.xfrom
VoxSciurorum:jfc/constexpr
Open

Strip hyperobject wrapper when evaluating c++14 constexpr constructor#419
VoxSciurorum wants to merge 1 commit intoOpenCilk:dev/21.xfrom
VoxSciurorum:jfc/constexpr

Conversation

@VoxSciurorum
Copy link
Copy Markdown
Contributor

Initialization of a reducer where the underlying object has a constexpr constructor can cause crashes when the type of the Decl does not match the type of the initializer.

The better approach may be to suppress constexpr processing in such cases because constexpr reducers do not make sense.

@VoxSciurorum VoxSciurorum requested a review from neboat March 28, 2026 02:04
@neboat
Copy link
Copy Markdown
Collaborator

neboat commented Mar 28, 2026

Can you add a Cilk regression test for this change?

@VoxSciurorum VoxSciurorum changed the title Strip hyperobject wrapper in some cases that c++23 considers constexpr Strip hyperobject wrapper when evaluating c++14 constexpr constructor Mar 28, 2026
@VoxSciurorum
Copy link
Copy Markdown
Contributor Author

I added a test case. It is simple but reducing to get it took time.

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.

2 participants