2012-09-20 13 views
8

Piszę kod, który wykorzystuje obliczone goto. Narzędzie do sprawdzania składni zaznacza każde wystąpienie goto *ptr i &&label jako błąd składni. Czy mimo to można to zatrzymać?Jak powstrzymać Eclipse CDT przed emisją błędów z powodu specyficznej składni gcc?

Dodanie przez alk:

przykładu dla obliczonych GOTOS (GCC przedłużenie):

... 

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 widząc ten kod dostaje żółty całego)

+0

Proszę podać kod, nie rozumiem pytania. –

+3

Zastanawiam się, dlaczego został odrzucony. Czy jest tu rozważany temat? Czy dobrze jest zostawić komentarz, jeśli nie głosujesz, prawda? – alk

+0

Dodano przykład dla lepszego zrozumienia ... @ JulienFouilhé – alk

Odpowiedz

1

żaden sposób inny następnie złożenie błąd do CDT bugtracker, najlepiej z łatką do parsera.

+0

Istnieje już wpis odnoszący się do tego: https://bugs.eclipse.org/bugs/show_bug.cgi?id=84144 Może ktoś może wyjaśnić, co komentarze do tego raportu o błędzie chcieć powiedzieć? – alk

+0

Oryginalny raport został złożony w ... Lut 2005. Szansa na jego naprawienie nie wygląda dobrze. Po prostu wyłączę tę funkcję. Daje mi również inne fałszywe ostrzeżenia. Mam jednak problem z tym. Usunąłem zaznaczenie wszystkich pól wyboru w preferencjach> C/C++> Analiza kodu i nadal pojawiają się błędy w tłumaczeniu. – cleong

+0

@cleong Czy udało Ci się z powodzeniem włączyć tę funkcję? Stoję w obliczu tego samego problemu. Sytuacja nie zmieniła się w CDT z biegiem czasu. – Mihalko

Powiązane problemy