[OSy] chyba v testech
LubomÃr Bulej
bulej at nenya.ms.mff.cuni.cz
Mon Nov 7 12:34:12 CET 2005
Dobry den,
>
> v testech na rw zamky (soubor assignment1-tests/rwlock4/test.c) je na
> radcich 49,53,57 nekonzistence s zadanim, v zadani jsou funkce
> definovany takto:
>
> int rwlock_read_lock_timeout (struct rwlock * rwl, uint usec)
> int rwlock_write_lock_timeout (struct rwlock * rwl, uint usec)
>
> zatimco v souboru testu jsou pouzivany takto:
>
> rwlock_read_timeout (...)
> rwlock_write_timeout (...)
>
Diky za info.
Predpokladam, ze se s tim letos vyporadate makrem -- vzhledem k tomu, ze tento
tyden probehne odevzdani, tak si nemyslim, ze ma smysl vydavat novou verzi testu.
>
> p.s. zjistil jsem, ze mi obcas neco spadne, kdyz jsou zapnute
> optimalizace a s vypnutyma (-O0) mi to jede. Je to chyba kompilatoru,
> nebo nejakych mojich prasaren?
>
Bez blizsiho popisu chyby a pohledu do zdrojovek tezko neco usuzovat. Pokud
bych mel vybrat mezi temito dvema moznostvi, pravdepodobne bych vice duveroval
kompilatoru -- preci jen je za nim pomerne stabilni a hojne pouzivany kus kodu.
Navic -O2 je ve vetsine projektu bezne pouzivana volba i bez toho, aby se
autori nejak zvlast snazili vyhovet gcc, takze Vas kod by mel fungovat i s ni.
Casto problem spravi volatile u nejake obskurne modifikovane promenne, a napr.
linux kernel pouziva -O2 spolu s -fno-strict-aliasing. V souvislosti se strict
aliasing jeste existuje volba -Wstrict-aliasing=2, ktera neni implicitne
zapnuta pri -Wall.
Jinach bych se podival co delaji jednotlive optimalizace zapnute na urovnich
-O1 a -O2 a zkusil bud najit tu, ktera je relevantni, nebo se zamyslet zda ve
svem kodu nedelam neco, co by temto optimalizacim mohlo vadit.
Lubomir Bulej
More information about the NSWI004
mailing list