Цитата(Сергей Борщ @ Oct 25 2016, 13:26)

Интересно. Когда подведет еще раз - выложите сюда, вероятнее всего вы просто не умеете ее готовить.
Возможно. Мне тяжело сейчас предоставить "живой" пример - дело было два-три года назад.
Помню, что ошибка проявлялась при совместном использовании оптимизации по размеру и LinkTimeOptimization (Os и flto).
Проект был по CooCox и они только добавили опцию LTO у себя в настройках компиляции.
Обошел ее используя не библиотечную реализацию:
Код
__attribute__((used)) void * memcpy(void * d1, const void * s1, size_t n) {
char * d;
const char * s;
volatile size_t n1 = n;
s = s1;
d = d1;
while (n1--)
*d++ = *s++;
return d1;
}
"помогало" именно создание volatile'ной переменной и дальнейшая работа с ней.
в противном случае (при использовании аргументной переменной n) бесконечно висел в while - уменьшение переменной не происходило.
причем висело не в моем коде, а внутри функций freertos (тогда то ли 6, то ли 7 версии).
понимаю, что это все выглядит как рассказ про йети, но...