2012-06-23 2 views
0

'~'에 나는 소스 포지erreur : '!' '!'의 피연산자 또는 변경 '및' '&&'또는

I에서 DAPL - 미리넷-12-0.12 컴파일하기 위해 노력하고있어 주위에 괄호를 제안

/root/dapl-myrinet-12-0.12/dapl/udapl/../common/dapl_ep_modify.c:584: erreur: 
suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’ 

여기있어 "문제"라인 : 그것을 해결하는 방법을

if (ep_param->recv_evd_handle != NULL && 
    (DAPL_BAD_HANDLE (ep_param->recv_evd_handle, DAPL_MAGIC_EVD) || 
    ! ((DAPL_EVD *)ep_param->recv_evd_handle)->evd_flags & DAT_EVD_DTO_FLAG)) 

어떤 생각?

if (
    ep_param->recv_evd_handle != NULL && 
    (
     DAPL_BAD_HANDLE (ep_param->recv_evd_handle, DAPL_MAGIC_EVD) || 
     !(
      ((DAPL_EVD *)ep_param->recv_evd_handle)->evd_flags & DAT_EVD_DTO_FLAG 
     ) 
    ) 
) 

또한 수 : 오류가 제안처럼

답변

0

이 코드는 조건의 마지막 부분 주위에 괄호 몇 그리워합니다 ( 조건이 일치하는 괄호를 강조하기 위해 여기에 폭발한다 수정) -Wno-parentheses 스위치를 사용하여 GCC에서이 체크를 비활성화하십시오 (사용하는 컴파일러 인 경우). 어쨌든,이 코드를 고쳐 주도록 프로그램의 관리자에게보고해야합니다.