Conversation
Signed-off-by: Shaw Summa <shawsumma@gmail.com>
- Fix cross-TU static initialization order fiasco by generating module init functions with dependency init calls and static bool guards - For modules without init blocks, defer variable initializations to init function for guaranteed cross-TU ordering - For modules with init blocks, keep struct-constructor pattern to preserve separate stack frames (avoids [&] lambda capture issues) - Add DepInit struct at beginning of each TU to trigger init function - Add regex runtime stubs in core.hpp (compileFormatted, compiledFound, compiledFind, compiledReplace, compiledSplit, pushCaptureName, pushCodeTo) - Add polymorphic eq/ne overloads for mixed shared_ptr types - Remove Regex::format connected reference (use generated formatter) - Update snapshot test for new init function pattern Fixes typesJsonSyntaxTree test (70/75 now passing, up from 69/75). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Shaw Summa <shawsumma@gmail.com>
Signed-off-by: Shaw Summa <shawsumma@gmail.com>
tjpalmer
reviewed
Mar 19, 2026
Contributor
tjpalmer
left a comment
There was a problem hiding this comment.
Note that the latest cpp work was previously under cppv, which is also used in the external c++03 backend. The cppv backend also has support specifically for c++23 and other things also, so we probably should correlate plans before merging this or anything else on c++.
Signed-off-by: Tom <tom@temper.systems>
Signed-off-by: Tom <tom@temper.systems>
Signed-off-by: Tom <tom@temper.systems>
Signed-off-by: Tom <tom@temper.systems>
- Main goal here is let the be-cpp pr be merged sooner than later - I've still only done a quick skim on all the new code, especially in translator and in core.hpp, but I didn't see anything outright evil in the skim
Contributor
|
@ShawSumma Looks like main needs merged in before it will try running ci tests. Maybe worth doing before applying your other changes? I haven't run full tests, so I'm curious if it passes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This gets the C++11 backend to a state that is able to run significant chunks of temper code. I've added it to the default backends too