IAR 컴파일러 Warning : undefined behavior: the order of volatile accesses is undefined in this statement
얼마 전 후배의 질문이 있어 답변했다가 문득 정리해 두어야 하지 않을까 싶어 정리해 본다. 후배가 IAR 컴파일러로 컴파일 할 때 아래와 같은 워닝이 떠 제거하기 위해 검색했다고 한다. Warning : undefined behavior: the order of volatile accesses is undefined in this statement 관련된 소스를 대충 살펴 보면 아래와 같다. volatile int iPinA; volatile int iPinB; // ...... iPinB *= iPinA; 밑출친 부분에서 워닝이 감지된다. 이는 volatile에 대한 정확한 인지가 문제이다. 이걸 설명한 댓글에 보니까 컴파일러가 좋지 않아서 그렇다는 댓글도 봤는데 그건 상용 컴파일러에 대한 인지가 더 ..