Ради человечества.. Там они точную версию хотят, препроцешеный файл, и прочее.. А у меня вот есть:
https://godbolt.org/z/G7nsW9a7c
Код там с ошибками (то есть он не должен компилироваться), но GCC 10.3 показывает ошибку, а GCC 11.1 и trunk падают с ICE, то есть регрессия.
@antoshkka Антоша, вроде, быстро на это реагирует, но если не занят.
У меня получилось минимизировать ещё в три раза (ошибка, правда, поменялась): https://godbolt.org/z/jnffoTvao
А дайте вывод gcc -v
И полный вывод компилятора на этом примере
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100764
если добавить к опциям -v то можно увидеть спеки версии gcc
Идейно, спасибо, добавлю.
Пользуясь случаем, расскажу, что завела меня туда попытка написать замену QStringLiteral / QByteArrayLiteral, чтобы без макросов (ну, в клиентском коде, по крайней мере) можно было достаточно кратко, на лету создавать QString / QByteArray без аллокаций памяти (и надеюсь без копирований, если компилятор достаточно всё подчистит). Вроде бы получилось, в MSVC работает, в GCC старше 10 по идее тоже, но не проверял. И наверное Clang может начиная с 12, но когда ещё он в Apple Clang попадёт =( Получается u"Hello, world!"_q даёт QString, а "Hello, world!"_q даёт QByteArray. Наверное правда это уже кто-то делал :)
А можете упростить пример? Убрать все include и уменьшить количество кода?
Там уже ниже что-то получилось: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100764
Обсуждают сегодня