[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