Skip to content

Gcc16 - #1146

Merged
olemke merged 3 commits into
atmtools:mainfrom
riclarsson:GCC16
Jul 15, 2026
Merged

Gcc16#1146
olemke merged 3 commits into
atmtools:mainfrom
riclarsson:GCC16

Conversation

@riclarsson

Copy link
Copy Markdown
Contributor

This commit makes the formatting system in ARTS work with GCC16.

There is a change I cannot identify between GCC15 and GCC16 where raw characters, and their arrays are not treated correctly. Raw char becomes int, so ' ' prints as 32. Raw char[] arrays (probably also const char * but I never tested), also has their problems in that they keep the \0 in the generated string (so it secretly prints to files, which is only caught when programmatically parsing the file again.)

Anyways, the updated code explicitly makes these illegal. Your code will not compile when you try to put raw characters into the formatter. The error for tags.format(ctx, v.numer, "/", v.denom); reads (at the bottom):

• the expression '(... && no_raw_chars<Rest>) [with Rest = {char[2], long long int}]' evaluated to 'false'

which might sound cryptic but the exact line is marked in your custom formatter. So hopefully seeing "no_raw_chars" and the exact function call will be enough to understand the bug. Sadly, all the formatter code is templated so the error message will appear late in the compilation process.

@riclarsson
riclarsson requested a review from olemke July 15, 2026 07:47
Comment thread CMakeLists.txt
Comment thread src/core/jacobian/covariance_matrix.h Outdated
@olemke
olemke merged commit 1405ac0 into atmtools:main Jul 15, 2026
24 of 27 checks passed
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