2012-09-20 47 views
8

我在寫一些利用計算出來的代碼。語法檢查器將goto *ptr&&label的每個實例都標記爲語法錯誤。無論如何阻止這個?如何停止Eclipse CDT發出錯誤,因爲gcc特定的語法?

加爲ALK:

舉例計算轉移(GCC擴展名):

... 

void * pLbl = NULL; 

if (<some expression>) 
    pLbl = &&lbl1; /* gcc extension: no, '&&' is not a typo */ 
else if (<some other expression>) 
    pLbl = &&lbl2; /* gcc extension: no, '&&' is not a typo */ 

if (pLbl) 
    goto * pLbl; /* gcc extension: goes/jumps to either 'lbl1' or 'lbl2' */ 

goto lbl0; 

lbl1: 
    <do some stuff> 
goto lbl0; 

lbl2: 
    <do some other stuff> 
goto lbl0; 

lbl0: 

... 

eclipse看到這段代碼獲得黃色遍佈)

+0

請把一些代碼,我不明白的問題。 –

+3

我想知道爲什麼這個被拒絕了。它在這裏被認爲是主題嗎?如果放棄投票,留下評論是不錯的風格,不是嗎? – alk

+0

爲了更好的理解而添加的示例... @JulienFouilhé – alk

回答

1

沒有其他的辦法,然後申請一個錯誤到CDT bugtracker,最好用解析器的補丁。

+0

已經有一個條目提到:https://bugs.eclipse.org/bugs/show_bug.cgi?id = 84144也許有人可以澄清對這個錯誤報告的評論想說? – alk

+0

最初的報告是在2005年2月提交的。這個得到修復的機會看起來不太好。我只是要關閉該功能。它也給了我其他的虛假警告。儘管如此,我仍然遇到了麻煩。我在首選項> C/C++>代碼分析中取消選中所有複選框,並且仍然彈出錯誤信息。 – cleong

+0

@cleong你是否已經成功轉動了這種功能。我面臨同樣的問題。隨着時間的推移,CDT的情況沒有改變。 – Mihalko