Поиск

Еще косяк в гцц-7


Пересобирая старый велосипед, обнаружил еще один косяк нового gcc. Теперь помимо -Wno-trampolines (иначе gcc ругается на вложенные функции, а без них жизнь как-то скучна) надо указывать -Wno-implicit-fallthrough. Ошибку выдал на совершенно ровном месте:

bool get_radians(double *ret, char *str){ double val = 0., ftmp, sign = 1.; char *ptr; assert(str); switch(*str){ // check sign case '-': sign = -1.; case '+': str++; }...

Япона ж мать! Чего ж авторы гцц так жизнь людям на ровном месте усложняют? Уж здесь то им что не понравилось? Переменная сразу же инициирована, а если первый символ в строке ‘-‘, то соответственно меняется переменная знака. Какого хрена гцц хочет от меня break после первого case, если в обоих случаях мне нужно сделать str++??? Козлы!!!
UPD: здесь прочитал, что нужно добавлять строчку __attribute__ ((fallthrough));. Блин, вот же япона мать!!! Как дальше жЫть? eddy_em.livejournal.com

Добавить комментарий