https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119657
Bug ID: 119657
Summary: GCC 15 fails with unknown pseudo-op .base64 error on
std::println with special char as last letter
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: igor.machado at gmail dot com
Target Milestone: ---
Hi all, I was trying g++-15 today on Ubuntu 24.04:
$ g++-15 --version
g++-15 (Ubuntu 15-20250329-1ubuntu1) 15.0.1 20250329 (experimental) [master
r15-9023-g8ad8f749729]
It fails when std::println adds special char as the last letter... I was trying
`std::println("{}", "Hello World")` and it's fine, as expected. When using
Portuguese text "Olá Mundo", it also works, but when only "Olá" is passed, then
it breaks with unknown pseudo-op .base64:
```
#include <print>
int main() {
std::println("{}", "Olá");
return 0;
}
```
g++-15 --std=c++23 test.cpp
/tmp/ccnYLGG9.s: Assembler messages:
/tmp/ccnYLGG9.s:7245: Error: unknown pseudo-op: `.base64'
When using string Olá with a single space after, it also breaks:
`std::println("{}", "Olá ");`
But with two spaces after, it works fine:
`std::println("{}", "Olá ");`
If I quote it with TWO spaces, it works:
`std::println("'{}'", "Olá ");`
Output is: $ ./a.out
'Olá '
But with THREE to FOUR spaces, it still breaks... then, with FIVE spaces after,
it works again:
`std::println("'{}'", "Olá ");`
$ ./a.out
'Olá '
In short, something is strange with std::println on g++-15. Thanks in advance!