Repository navigation
Fixes for fulminate - #1020
Draft
kmemarian wants to merge 20 commits into
Draft
Fixes for fulminate#1020kmemarian wants to merge 20 commits into
kmemarian wants to merge 20 commits into
Conversation
This removes the dependency of the elaboration on the reference in switches.ml.
This fixes the ill-typed Core generated when using the inner_arg_temps calling convention
kmemarian
force-pushed
the
fixes-for-fulminate
branch
4 times, most recently
from
September 29, 2026 23:07
77732c9 to
30edde0
Compare
…ements The controlling expression of switch statements is now promoted and the expression in case statements is now converted to that promoted type. As a result switch statements are no longer supported with --agnostic. The .expected for ci test 0213 is updated to now show the location of the whole case statement. This commit also fixes a crash of the elaboration on singleton GNU case range statements (by desugaring to a standard case statement).
These are still reachable when control-flow falls through a preceding case statement.
…ss than 1 to _Bool
…ified value There is a new "branching_on_unspec_is_nd" switch making it a non-deterministic choice, otherwise the default makes the branching undefined behaviour.
This is to unsure that all uses of its types/functions are qualified to ease upcoming refactorings.
With this commit the lifetime of objects declared inside the body of a switch statement is properly started/ended when control-flow jumps to a case or default statement. This commit also adds an arity check in the Core typing of Erun.
kmemarian
force-pushed
the
fixes-for-fulminate
branch
from
September 29, 2026 23:14
30edde0 to
cabe81c
Compare
…pointers Fixes: cerberus-lean-04 Reported-by: Mike Dodds <mike@oath.tech>
No more buggy state, the tag definitions must now always be threaded through. The memory interface has changed a bit to add these parameters where needed. Formatted now always use the effectful array_shift to avoid threading the tagDefs through. Since these are internal to printf() not Core actions directly visible to the Driver it does not change the sb-graph for the concurrency.
…mpound literals Cabs_to_ail.qs_ctype_builder is now using the exception monad to allow reporting an error when building array types. The check of the type of compound literals is done during desugaring so that it happens before the desugaring of the initializer.
kmemarian
force-pushed
the
fixes-for-fulminate
branch
from
October 2, 2026 18:15
26abe68 to
2a121fb
Compare
This branch has not been deployed
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.
No description provided.