Какие примеры недетерминированности в компиляторе C ++?

Я ищу примеры кода, который запускает недетерминизм в GCC или в процессе компиляции Clang.

Одним из ярких примеров является использование __DATE__ макро.

GCC и Clang имеют множество флагов компилятора, чтобы контролировать результат недетерминированные действия внутри компилятора например. -frandom-seed а также -fno-guess-branch-probability

Есть ли небольшие примеры, на которые влияют эти флаги?

Чтобы быть более точным:

$ c++ main.cpp -o main && shasum main
aabbccddee

$ c++ main.cpp -o main && shasum main
eeddccbbaa

Я ищу примеры кода без макросов, где несколько запусков компилятор привести к различным выходам, но может быть исправлено, например, -frandom-seed

РЕДАКТИРОВАТЬ:

связанные: из НКУ документы:

-fno-guess-branch-probability:
Sometimes gcc will opt to use a randomized model to guess branch probabilities,
when none are available from either profiling feedback (-fprofile-arcs)
or __builtin_expect.
This means that different runs of the compiler on the same program
may produce different object code.
The default is -fguess-branch-probability at levels -O, -O2, -O3, -Os.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]