Оно понятно, но это не особо работает. Да и стандарт конкретно сишки - просто формализация расширений гцц, поэтому отсылки на стандарт имеют мало смысла.
А шлангд оказывается Столяровоугодным: тот тоже не признаёт Си новее ansi и выстригает (его термин) из используемых им исходников даже // как комментарии.
Там один метод на всех: столяров, шланг, руст, ии, фаерфокс. Просто они не палятся в разной степени, поэтому на первый взгляд сходства не улавливаются.
Ну не расстраивайся ты из-за таких пустяков, что ты такой серьезный? Ну не поддерживает clangd alignof в C, тебе же не составит труда сделать элементарный патч и пересобрать libclang. Особенно учитывая тот факт, что для C++ такая поддержка там уже есть. Зачем вообще такой компетентный специалист притащил этот ничтожный вопрос на LOR?
То что оно лучше не умеет, так это потому что сишка тебе разрешает по ногам стрелять, так что даже компилятор этого не понимает.
Одно совсем не следует из другого. «Даже компилятор» сознательно не лезет в вопросы, которые могут ограничить эффективность. А вот написать анализатор кода, который проверяет не только то, что проверяет компилятор, вполне можно. А дальше уже, как воспользоваться результатами анализа – выбор программиста.
Да собственно, нежно любимое на ЛОРе пивас-студио так и делает, насколько я понимаю. Жаль, проприетарное.
В том то и проблема шланга, что пускай и сорцы открытые, процесс разработки не совсем. Лучше избегать шланга и llvm в качестве необходимого компонента, оставляя лишь опцией
<source>:6:22: warning: anonymous structs are a Microsoft extension [-Wmicrosoft-anon-tag]
<source>:15:22: warning: anonymous structs are a Microsoft extension [-Wmicrosoft-anon-tag]
15 | typedef struct { alignas(8) t1; int y; } t2;
Ух ты аж по твоей ссылке. Кто говно подтирать за собой будет при помощи ключа -Wno-microsoft-anon-tag к шлангу? Обосрался, так молчи. https://discourse.llvm.org/t/error-anonymous-structs-are-a-microsoft-extensio... надо же, смотри, где ты там увидел стандарт то? Указывая ключ fms-extensions ты именно их и используешь объявив об этом компилятору явно, но предупреждение об этом не выключаешь. Рекомендую изучить не только стандарт, но и инструменты за которые ты схватился, которые срать хотели на полную поддержку стандарта.