Obie funkcje są u mnie __attribute__((always_inline)) i niestety, ale usuwa. Nic na kompilator nie działa. W sumie to nie wiem, dlaczego on usuwa coś, co ma atrybut volatile. Wiadomo, że NOP nic nie robi i z punktu widzenia kompilatora można to usunąć, ale nie sądzę by nie można wymusić nieusuwania. Można to oczywiście rozwiązać poprzez odpowiednie zdublowanie makr SET_LED i RESET_LED, bo tego nie usunie, ale nie o to chodzi. Chciałbym wiedzieć, jak to zapisać by nie usuwał.... R
Dodano po 57 [minuty]:
Z ciekawym spostrzeżeniem w tym temacie spotkałem się na innym forum, a że jestem w tej chwili w pracy nie jestem w stanie tego zweryfikować. Otóż,
ponoć, kompilator kompiluje to dobrze, co można zobaczyć w pliku HEX i w pliku disasemblacji patrząc na adresy rozkazów, tylko disasebmler pokazuje to w mało czytelny sposób. Poniżej zrzuty:
Ciekawe - tak daleko nie zaglądałem. Pozdrowienia. R