2017-09-05 12 views
0

uncrustify를 사용하는 동안 while 루프에 문제가 발생했습니다. while 루프에 본문이 없으면 후행 세미콜론이 다음 줄로 푸시됩니다. github과이 웹 사이트에서 나는 이것에 대한 언급을 전혀 발견하지 못했습니다. 문제는 다른 줄에 하나의 강선을 강요하는 것과 관련이 있습니까?uncrustify에서 루프가없는 상태와 세미콜론 사이의 개행

나는 그것을 시도하는 코드이다 :

int main() 
{ 
    int i = 20000; 
    while(i--); 
    return 0; 
} 

을하지만 uncrustify 무엇을 반환하는 것은 (이 그것이 결국 어떻게 보일지도) :

int main() 
{ 
    int i = 20000; 
    while (i--) 
     ; 
    return 0; 
} 

은 아무도 확인 좀 도와 줄래 이 원인이되는 옵션은 무엇입니까? 구성 파일 : https://pastebin.com/3FUqHmp8

미리 감사드립니다!

답변

0

빈 구성 파일로 인해이 동작이 발생하지 않으므로 사용중인 구성 파일에 추가 한 옵션 (대부분 nl_* 옵션 중 하나임)으로 인해이 동작이 발생합니다.

파일에 대한 링크를 게시하십시오.


이 옵션 모두

이 동작을 일으키는 :

# Add or remove newline between 'while' and '{'. 
nl_while_brace     = force # ignore/add/remove/force 

# Change a one-liner while statement into simple unbraced while 
# 'while (i<5) foo(i++);' => 'while (i<5)\n foo(i++);'. 
nl_split_while_one_liner  = true  # false/true 

이 Uncrustify도없는 중괄호 (가상 괄호) 중괄호 (nl_while_brace)로 간주 명심하십시오.

Uncrustify에는 간격 옵션에 대해 vbraces 처리를 사용하지 못하게하는 옵션이 있지만 줄 바꿈 옵션에 해당하지 않는 것으로 보입니다. github 저장소 사이트에서 기능을 열거 나 요청을 열어야하는 경우 : https://github.com/uncrustify/uncrustify.

+0

좋아,이 vbrace 물건에 대해 힘들지만, 줄 바꿈이 아닌 공백에만 적용될 수 있다고 생각했습니다. 나는 그것을 위해 기능 요청을해야만한다. 불행히도 아직 당신의 대답을 파탄시킬 수는 없습니다 (평판이 충분하지 않습니다). 당신의 노고에 감사드립니다! – InfoMathze