Size: a a a

2020 August 20

ПК

Побитый Кирпич... in pro.cxx
Anatoly Tomilov
Вот здесь-то мы и расходимся. Это не абсурд.
Это абсурд, потому что прямо противоречит цитате которую я привёл
источник

VA

Valery Antopol in pro.cxx
Добавить нельзя. А изменить можно?
Правда, мне кажется, что любое действие со стандартной библиотекой - UB. Компилятор ведь может опираться на _любые_ детали реализации своей стандартной библиотеки?
источник

AT

Anatoly Tomilov in pro.cxx
Побитый Кирпич
Дак я тебе кинул цитату с подтверждением  что это UB
видимо у тебя какое-то непонимание основных вещей. Беру git clone https://github.com/llvm-mirror/libcxx.  Беру делаю git checkout old-old-revision, а затем делаю git checkout master -- include/initializer_list. Собираю это с clang-ом из транка. Что я нарушил?
источник

ПК

Побитый Кирпич... in pro.cxx
Valery Antopol
Добавить нельзя. А изменить можно?
Правда, мне кажется, что любое действие со стандартной библиотекой - UB. Компилятор ведь может опираться на _любые_ детали реализации своей стандартной библиотеки?
Всё верно
источник

AT

Anatoly Tomilov in pro.cxx
Побитый Кирпич
Это абсурд, потому что прямо противоречит цитате которую я привёл
не противоречит
источник

AT

Anatoly Tomilov in pro.cxx
эта цитата тобой интерпретируется как запрет на разработку собственных стандартных библиотек?
источник

ПК

Побитый Кирпич... in pro.cxx
Anatoly Tomilov
видимо у тебя какое-то непонимание основных вещей. Беру git clone https://github.com/llvm-mirror/libcxx.  Беру делаю git checkout old-old-revision, а затем делаю git checkout master -- include/initializer_list. Собираю это с clang-ом из транка. Что я нарушил?
> Что я нарушил?

Стандарт С++
источник

AT

Anatoly Tomilov in pro.cxx
а каким из них можно существовать?
источник

AT

Anatoly Tomilov in pro.cxx
Побитый Кирпич
> Что я нарушил?

Стандарт С++
в чём?
источник

ПК

Побитый Кирпич... in pro.cxx
Anatoly Tomilov
в чём?
В том что добавил в std имя которого там не должно быть
источник

AT

Anatoly Tomilov in pro.cxx
должно. Я ж потом вызываю компилятор с -std=c++11
источник

AT

Anatoly Tomilov in pro.cxx
он-то поддерживает
источник

VA

Valery Antopol in pro.cxx
Anatoly Tomilov
эта цитата тобой интерпретируется как запрет на разработку собственных стандартных библиотек?
Можно сделать свою либу со своим компилятором. Патчить либу вместе с компилятором. Иначе окажется что все сломалось потому что компилятор генерирует валидный код только при условии что количество пробелов в стандартной библиотеке делится на 3847.
источник

ПК

Побитый Кирпич... in pro.cxx
Anatoly Tomilov
видимо у тебя какое-то непонимание основных вещей. Беру git clone https://github.com/llvm-mirror/libcxx.  Беру делаю git checkout old-old-revision, а затем делаю git checkout master -- include/initializer_list. Собираю это с clang-ом из транка. Что я нарушил?
Чем это отличается от того, что ты просто изменил код в хэдерах в стандартной библиотеке?
источник

ПК

Побитый Кирпич... in pro.cxx
Или ты считаешь, что это тоже не UB?
источник

AT

Anatoly Tomilov in pro.cxx
Valery Antopol
Можно сделать свою либу со своим компилятором. Патчить либу вместе с компилятором. Иначе окажется что все сломалось потому что компилятор генерирует валидный код только при условии что количество пробелов в стандартной библиотеке делится на 3847.
так я ж проверил, что ничего не окажется. Здесь в обсуждении предполагается, что я наизусть знаю и понимаю код и компилятора и код остальной части стандартной библиотеки.
источник

AT

Anatoly Tomilov in pro.cxx
Побитый Кирпич
Или ты считаешь, что это тоже не UB?
Да. C++ UB? Или какой-то ещё не определённый UB?
источник

AT

Anatoly Tomilov in pro.cxx
Побитый Кирпич-UB?
источник

ПК

Побитый Кирпич... in pro.cxx
Anatoly Tomilov
Да. C++ UB? Или какой-то ещё не определённый UB?
UB как его стандарт С++ определяет
источник

AT

Anatoly Tomilov in pro.cxx
нет)
источник