o: 100 PROC Delay.ms (VAL INT DelayFor.ms) 101 INT time: 102 TIMER clock: 103 SEQ 104 clock ? time 105 clock ? AFTER time PLUS DelayFor.ms 106 :
c: 200 static void P_Delay_ms_1432 (tSF_P_Delay_ms_1432 *FP) 201 { 202 while(true) 203 { 204 switch(FP->_Header.IP) 205 { 206 CASE(0): 207 FP->time_1430 = ReadTimer(); 208 DELAY((FP->time_1430 + FP->DelayFor_ms_1429),1); 209 CASE(1): 210 RETURN(); 211 default: SETERR(MSG_IP); 212 } 213 } 214 }
PC-lint protests on line 208 because the DELAY macro contains a return to Scheduler.
PC-lint also protests on line 210 because it does not know that the last parameter of the macro in line 208 is a next state specification.
Too bad, since erroneous unreachable code will not be detected with our filter enabled.