annotate Makefile @ 0:e0a26cc60a20 default tip

Test for solaris cc bug with bit-fields. With "cc -fast" (or, rather, "cc -xalias_level=basic -xO3", implied by "cc -fast") solaris cc compiles incorrect code for bit-field accesses, notably not rechecking data after functions calls in some situations. Using "-xalias_level=any" resolves the problem (as well as using any non-bit-field type). Tested cc version is "Sun C 5.9 SunOS_i386 2007/05/03" (Sun Studio 12).
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 16 Aug 2011 22:09:57 +0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2 FAST= -fast
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 #FAST= -xalias_level=basic -xO3
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 # no bug seen with:
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 #FAST= -fast -xalias_level=any
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 test: t
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 ./t
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 clean:
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 rm t *.o
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 t: t.o t2.o
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15 cc -o t t.o t2.o ${FAST}
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 t.o: t.c t.h
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18 cc -c t.c ${FAST}
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20 t2.o: t2.c t.h
e0a26cc60a20 Test for solaris cc bug with bit-fields.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 cc -c t2.c ${FAST}