Size: a a a

2020 August 24

D

Danya in C++ Together 2.0
Cool Cooler
Пафосный, то есть типа какой-то оч крутой, но так-то обычный сырок
Это чат по С++ или сыркам?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Danya
Вроде это неправильно
Ну то есть насколько я знаю хорошим тоном в разработке компилятора является промежуточное представление
Ну, оно там есть, но оно недостаточно гибкое, чтобы донести некоторую информацию до бекенда.
источник

🦊

🦊fox.cpp in C++ Together 2.0
Поэтому бекенд лезет в жопу фронтенда и начинается страшное.
источник

🦊

🦊fox.cpp in C++ Together 2.0
Danya
Это чат по С++ или сыркам?
Не злись на него, он по-другому не умеет
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
Поэтому бекенд лезет в жопу фронтенда и начинается страшное.
А как с этим у clang?
источник

CC

Cool Cooler in C++ Together 2.0
Или llvm?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
А как с этим у clang?
Там архитектурные космонавты нарожали абстракций.
источник

D

Danya in C++ Together 2.0
Cool Cooler
А как с этим у clang?
Никак, там несколько промежуточных представлений
источник

D

Danya in C++ Together 2.0
Самое известное LLVM IR
источник

CC

Cool Cooler in C++ Together 2.0
clang и llvm как-то связаны или нет?
источник

D

Danya in C++ Together 2.0
Cool Cooler
clang и llvm как-то связаны или нет?
Напрямую связаны
источник

O

Ofee in C++ Together 2.0
Roy Mustang
Чет говно запахло
ага, pair<x, y> же лучше, и пойди разберись, что first, а что second
источник

D

Danya in C++ Together 2.0
Cool Cooler
clang и llvm как-то связаны или нет?
Clang это фронтенд C++ для LLVM
источник

CC

Cool Cooler in C++ Together 2.0
Danya
Clang это фронтенд C++ для LLVM
Ааа
источник

CC

Cool Cooler in C++ Together 2.0
Спс
источник

RM

Roy Mustang in C++ Together 2.0
Ofee
ага, pair<x, y> же лучше, и пойди разберись, что first, а что second
Ты о чем?
источник

KK

Konstantin Kozyrev in C++ Together 2.0
Ofee
ага, pair<x, y> же лучше, и пойди разберись, что first, а что second
https://en.cppreference.com/w/cpp/utility/pair/pair
Падажи, разве x - не всегда 1, а y - не всегда 2?
источник

KK

Konstantin Kozyrev in C++ Together 2.0
...я уже боюсь
источник

O

Ofee in C++ Together 2.0
Roy Mustang
Ты о чем?
Я это к тому, что возвращаемая анонимная структура нужна примерно там же, где и pair с той лишь разницей, что в случае с

pair<bool, iterator> foo();
auto x = foo();
x.<ctrl+space>

ты увидишь сомнительные first и second, ничего не говорящие о сути содержимого pair

А с
auto foo() {
   struct {
       bool is_inserted;
       iterator equal_or_inserted;
   } x;
   /* ... */
   return x;
}
auto x = foo();
x.<ctrl+space>

Ты увидишь более самодокументированные (если очень повезёт, конечно) is_inserted и equal_or_inserted
источник

KK

Konstantin Kozyrev in C++ Together 2.0
Оу
источник