저는 x86, x64 및 ARM 용 어셈블러 명령어를 뱉어내는 표현 파서를 작성했습니다.GCC C++ 경고 : 괄호 제안
나는 그것을 테스트하기 위해 임의의 표현식을 생성하고 GCC로 컴파일 한 후 그 결과를 내 코드와 비교합니다.
이제 파서가 GCC와 유사한 경고를 생성하도록하고 싶습니다.
나는 GCC와 5.1.0
int a = 100 + 100 | 10;
GCC 주위에 경고 제안 괄호를주는 것으로 나타났습니다 |
하지만
int b = 100 * 100 | 10;
GCC는 경고를 제공하지 않습니다.
하지만 덧셈과 곱셈 모두 비트 OR보다 우선 순위가 높기 때문에 int b = expression에 대한 경고가 표시되지 않는 이유는 무엇입니까?
나는 매우 피곤해서 뭔가를 간과 할 수 있습니다.
개인적으로 나는 무엇이 일어나고 있는지 분명히하기 위해 둘 다 괄호를 사용할 것입니다. –
https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Warning-Options.html#index-Weparentheses- 201 –
개인적으로 나는 괄호를 사용하지 않을 것이며, 컴파일러가 중복 된 구문을 추가 할 것을 제안하는 것은 완전히 잘못된 것으로 간주 할 것입니다. – EJP