
Andrew
14.05.2018
07:25:42
+

Vladislav
14.05.2018
07:25:46
https://ideone.com/MxxQH8

Дед Пегас
14.05.2018
07:29:06
А, во.

Google

Александр
14.05.2018
07:33:59
Подъехали новые бумаги по C++ для международного комитета http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/#mailing2018-05
Много весёлого будет обсуждаться: flat_map, interruptable_thread, быстрые новые исключения, альтернативная бумага на сопрограммы, constexpr во все щели в разных вариациях
Ну и бумаги от РГ21 тоже нескучные: сopy elision для всего, DL, wide_int, constexpr, stacktrace и проч.
А что-нибудь сильно ломающее совместимость уже предложили? Обсуждалось недавно, что уже готовы к этому, если не путаю.

Ender
14.05.2018
07:49:09
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]|

Vladislav
14.05.2018
08:04:17
(см. дисклеймер про отстрел ног)

Ender
14.05.2018
08:07:35
Ну щас посмотрим, что получится.
Если норм, то я так и оставлю. Если нет, то я буду вкрадчиво рассматривать, действительно ли мне нужен unsigned char

Sheldon
14.05.2018
08:23:28

Antony
14.05.2018
08:23:37

Vladislav
14.05.2018
08:23:51


Igor
14.05.2018
08:24:11
А что-нибудь сильно ломающее совместимость уже предложили? Обсуждалось недавно, что уже готовы к этому, если не путаю.
Paper лень искать, но на прошлой встрече сделали такое:
This morning in JAX we performed a major cleanup of built-in types, getting rid of many warts in the language (and breaking compatibility with C and C++98/11/14/17 :slightly_smiling_face: ). EWG voted to change all of the following for C++20:
- <, <=, >, >=, ==, !=, will now give correct mathematical meaning on arithmetic types, such that: static_assert(-1 > 1u); which would pass in C and C++17 will break in C++20
- Deprecate two-way comparisons between enumeration types and floating-point types
- Deprecate two-way comparisons between two distinct enumeration types
- Deprecate arithmetic conversions between enumeration types and floating-point types
- Deprecate arithmetic conversions between two distinct enumeration types
- Deprecate two-way comparisons where both operators are array type
- Deprecate relational comparisons between function pointers.


Дед Пегас
14.05.2018
08:24:27

Sheldon
14.05.2018
08:24:41

Igor
14.05.2018
08:51:29
есть шаблонный класс с методом в пару строк
файл с ним инклюдится в a.cpp и b.cpp
readelf -Ws натравленный на a.o и b.o говорит что в этих объектниках метод имеет разный размер, 184 байта тут и 188 байт там
оба TU компилируются с -O0 - может компилятор за кулисами всё равно проводить разную кодогенерацию в зависимости от контекста, в котором вызывается инлайновый метод?

Google

Ruslan
14.05.2018
09:01:57
Так запустить с ключем -E
Правда, там все развернет и читать не очень
Но должен увидеть сгенеренный код

Igor
14.05.2018
09:37:12
gcc -E? Он же тупо инклюды-дефайны разворачивает, нет?

Ⱪonstantin
14.05.2018
10:00:12
gcc -S даёт на ассемлере файл

Ruslan
14.05.2018
10:15:29

Igor
14.05.2018
10:59:55
gcc -S даёт на ассемлере файл
красотаааа... знать бы теперь, что это за чудо-бранч и откуда он берётся... https://paste.ee/p/masmg
два листинга идентичны вплоть до самого конца, а в конце внезапно это чудо

Ⱪonstantin
14.05.2018
11:02:05
а gcc -E даёт одинаковые листинги?
возможно разница в том, что какая-нибудь функция типа std::max() и max() берётся из двух разных неймспейсов

Igor
14.05.2018
11:04:03

Grigor
14.05.2018
11:06:47

Igor
14.05.2018
11:08:41
скорми в твой любимый дифф тул
a.cpp и b.cpp отличаются чуть более чем полностью, и совпадают только тем, что оба включают проблемный заголовочник, и пользуются функцией из него

Alex Фэils?︙
14.05.2018
11:09:28

Maksym
14.05.2018
11:09:50
ого, я не ожидал такого респонса

Egor
14.05.2018
11:10:08
у них интеграция давно уже сломана

Alex Фэils?︙
14.05.2018
11:10:12

Egor
14.05.2018
11:10:15
мне приходилось вручную конфиги править

Maksym
14.05.2018
11:10:32
мсбилд батник натравить на инстал батник небось?

Alexander
14.05.2018
11:10:35

Google

Alexander
14.05.2018
11:10:48
ну или ждать обновы конана - они завозят новые компиляторы
но с этой моделью херня приключается, так как компилятор завозится быстрее, чем конан ?

Alex Фэils?︙
14.05.2018
11:11:18

Alexander
14.05.2018
11:11:21
поэтоум и приходится руками править

Egor
14.05.2018
11:11:38

Alexander
14.05.2018
11:11:41
на линухе он лежит в /home/username/.conan/settings.yml

Egor
14.05.2018
11:11:55

Maksym
14.05.2018
11:12:05

Egor
14.05.2018
11:12:14
ну оно работает сразу?
может исправляли

Alexander
14.05.2018
11:12:18

Maksym
14.05.2018
11:12:34
Меня больше другое интересует: как сынтегрить проект под цлангом с либой под мсвц? Тот же буст сходит с ума из-за дефайнов МСВЦ

Egor
14.05.2018
11:12:37
они совместимые должны быть
шланг эмулирует мсвц

Maksym
14.05.2018
11:13:24
У него нет флагов шланга?

Egor
14.05.2018
11:13:26
если линковать через link.exe, то всё ок работает

Igor
14.05.2018
11:14:00

Egor
14.05.2018
11:14:05
если через lld или какой их там родной, он должен тоже работать, но я видел некоторые фиксы уже в транке были после релиза 6

Maksym
14.05.2018
11:15:14
у меня такой аутпут был при инклуде буст файлсистем в сендбоксе

Google

Maksym
14.05.2018
11:15:22
все читать конечно не стоит, одной ошибки хватит

Egor
14.05.2018
11:15:48
если 2015 студия, то не получится

Maksym
14.05.2018
11:15:58
Почему?(

Admin
ERROR: S client not available

Maksym
14.05.2018
11:16:03
они ж с 15-й саппортят

Egor
14.05.2018
11:16:26
ну там связку только 2017 - clang-6 хорошо поддерживают
clang/c2 с 2015 или что?

Maksym
14.05.2018
11:16:39
Я понял. Спасибо, буду знать
не, LLVM-2014 или как-то так

Egor
14.05.2018
11:16:50
кланг/ц2 умер совсем

Maksym
14.05.2018
11:17:01
ща скажу точно тулсет

Egor
14.05.2018
11:17:03
ну мс не поддерживают старое
слишком сил много надо

Maksym
14.05.2018
11:17:25
LLVM-vs2014
вот этот парень
я понял, ладно

Egor
14.05.2018
11:18:01
так он до сих пор и в 2017 висит

Maksym
14.05.2018
11:21:10
в 17-й студии цланг ток под с++14 пашет?

Egor
14.05.2018
11:23:56
нет, тулсет не переименовывают

Google

Maksym
14.05.2018
11:25:29

Egor
14.05.2018
11:26:10
всё как обычно, что шланг умеет, так и есть

Maksym
14.05.2018
11:26:21
понял. Спасибо, поиграюсь на досуге

Andriy
14.05.2018
11:58:54
Здравсвуйте, колеги! Нахожусь в поисках кросплатформенной либы для SQL Server и PostgreSQL для С++. Нашел SQLAPI++ Library (http://www.sqlapi.com/) - очень понравилась и подходить для моих целей. Подскажите, кто шарит в подобном. Какие еще хорошие либы можно посмотреть? Если кто-то работал с SQLAPI++, подскажите, какие есть негативные моменты в использовании этой либы (пока-что не увидел, боюсь. что когда увижу, будет поздно ?). Спасибо!

Alex Фэils?︙
14.05.2018
12:02:38

Никита
14.05.2018
12:02:44
wt: dbo

Matwey
14.05.2018
12:03:06

Никита
14.05.2018
12:03:09
wt: dbo
Не использовал, но внешне очень понравилась

Andriy
14.05.2018
12:03:53
Да. как минимум с этими двумя.
Нужно чтобы одновременно работала с двумя серверами?

Matwey
14.05.2018
12:04:50
Т.е. это будет пользователь переключать разные бекенды у себя?

Andriy
14.05.2018
12:06:03
Типа того.

Alexander
14.05.2018
12:08:28