eddy_em: (Default)
[personal profile] eddy_em
Пересобирая старый велосипед, обнаружил еще один косяк нового 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));. Блин, вот же япона мать!!! Как дальше жЫть?

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 07:30 am
Powered by Dreamwidth Studios