You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yeah, it's intended fall-through; each case is guarded by tmp_conv during the fall-through. It's also awful and ridiculous and stupid, but arm-gcc knows exactly what to do with it.
The underlying issue was that nanoprintf was non-conformant: the C standard requires that printf + friends ignore the 0 flag when precision is specified, so you need to do some special-casing iff an integer type and0and precision were specified. That could have been a separate if statement with a bunch of or sub-clauses after the switch case, but it added ~100 bytes to the compiled code on cortex-m0 architectures. So, I did a disgusting Duff's-Device-ish thing here, and it ended up being a freebie in terms of size.
Hello,
is it intended, that there is no break for each case here?
nanoprintf/nanoprintf.h
Lines 402 to 407 in 64333b3
The text was updated successfully, but these errors were encountered: