Цитата(Метценгерштейн @ Apr 13 2015, 15:02)

только такие глюки никак не связаны с типом МК.
Это не глюк, а особенность работы оптимизатора. Скорее всего, "return i" в результате оптимизации совмещен с "return -1", т.е. физически отсутствует в коде как отдельный оператор. Странно только, что это наблюдается на нулевом уровне.
Если хотите получить возможность поставить точку останова на этом месте, добавьте какой-нибудь не подлежащий оптимизации оператор перед return:
Код
__nop();
return [i];