Mercurial > hg > nginx-quic
annotate auto/cc/icc @ 4311:45272aab5eea
Unlock of shared memory zones on process crash.
If process exited abnormally while holding lock on some shared memory zone -
unlock it. It may be not safe thing to do (as crash with lock held may
result in corrupted shared memory structure, and other processes will
subsequently crash while trying to access shared data), therefore complain
loudly if unlock succeeds.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 23 Nov 2011 14:09:19 +0000 |
parents | d2adfc714819 |
children | 7ee8e11e17bb |
rev | line source |
---|---|
455 | 1 |
2 # Copyright (C) Igor Sysoev | |
3 | |
4 | |
589 | 5 # Intel C++ compiler 7.1, 8.0, 8.1, 9.0 |
455 | 6 |
521 | 7 NGX_ICC_VER=`$CC -V 2>&1 | grep 'Version' 2>&1 \ |
1170
5e878722ad57
remove trailing space in icc version
Igor Sysoev <igor@sysoev.ru>
parents:
681
diff
changeset
|
8 | sed -e 's/^.* Version \([^ ]*\) *Build.*$/\1/'` |
521 | 9 |
10 echo " + icc version: $NGX_ICC_VER" | |
11 | |
557 | 12 have=NGX_COMPILER value="\"Intel C Compiler $NGX_ICC_VER\"" . auto/define |
13 | |
521 | 14 |
455 | 15 # optimizations |
16 | |
17 CFLAGS="$CFLAGS -O" | |
501 | 18 # inline the functions declared with __inline |
455 | 19 #CFLAGS="$CFLAGS -Ob1" |
20 # inline any function, at the compiler's discretion | |
21 CFLAGS="$CFLAGS -Ob2" | |
22 | |
23 # multi-file IP optimizations | |
563 | 24 case "$NGX_ICC_VER" in |
25 9.*) | |
26 IPO="-ipo" | |
27 ;; | |
28 | |
1171
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
29 # 8.1.38 under FreeBSD can not link -ipo |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
30 8.1) |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
31 IPO="-ip" |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
32 ;; |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
33 |
563 | 34 *) |
35 IPO="-ipo -ipo_obj" | |
36 ;; | |
37 esac | |
38 | |
601 | 39 # single-file IP optimizations |
40 #IPO="-ip" | |
41 | |
455 | 42 CFLAGS="$CFLAGS $IPO" |
43 CORE_LINK="$CORE_LINK $IPO" | |
469 | 44 CORE_LINK="$CORE_LINK -opt_report_file=$NGX_OBJS/opt_report_file" |
455 | 45 |
573 | 46 |
455 | 47 case $CPU in |
48 pentium) | |
49 # optimize for Pentium and Athlon | |
50 CPU_OPT="-march=pentium" | |
51 ;; | |
52 | |
53 pentiumpro) | |
54 # optimize for Pentium Pro, Pentium II and Pentium III | |
55 CPU_OPT="-mcpu=pentiumpro -march=pentiumpro" | |
56 ;; | |
57 | |
58 pentium4) | |
59 # optimize for Pentium 4, default | |
60 CPU_OPT="-march=pentium4" | |
61 ;; | |
62 esac | |
63 | |
64 CFLAGS="$CFLAGS $CPU_OPT" | |
65 | |
66 if [ ".$PCRE_OPT" = "." ]; then | |
67 PCRE_OPT="-O $IPO $CPU_OPT" | |
68 fi | |
69 | |
70 if [ ".$MD5_OPT" = "." ]; then | |
71 MD5_OPT="-O $IPO $CPU_OPT" | |
72 fi | |
73 | |
74 if [ ".$ZLIB_OPT" = "." ]; then | |
75 ZLIB_OPT="-O $IPO $CPU_OPT" | |
76 fi | |
77 | |
78 | |
79 # warnings | |
80 | |
501 | 81 CFLAGS="$CFLAGS -w2" |
82 | |
83 # disable some warnings | |
455 | 84 |
501 | 85 # invalid type conversion: "int" to "char *" |
86 CFLAGS="$CFLAGS -wd171" | |
87 # argument is incompatible with corresponding format string conversion | |
88 CFLAGS="$CFLAGS -wd181" | |
89 # zero used for undefined preprocessing identifier | |
90 CFLAGS="$CFLAGS -wd193" | |
563 | 91 # the format string ends before this argument |
519 | 92 CFLAGS="$CFLAGS -wd268" |
501 | 93 # invalid format string conversion |
94 CFLAGS="$CFLAGS -wd269" | |
95 # conversion from "long long" to "size_t" may lose significant bits | |
96 CFLAGS="$CFLAGS -wd810" | |
97 # parameter was never referenced | |
98 CFLAGS="$CFLAGS -wd869" | |
681 | 99 # attribute "unused" is only allowed in a function definition, warning on pTHX_ |
100 CFLAGS="$CFLAGS -wd1301" | |
501 | 101 |
102 # STUB | |
103 # enumerated type mixed with another type | |
104 CFLAGS="$CFLAGS -wd188" | |
105 # controlling expression is constant | |
106 CFLAGS="$CFLAGS -wd279" | |
107 # operands are evaluated in unspecified order | |
108 CFLAGS="$CFLAGS -wd981" | |
109 # external definition with no prior declaration | |
110 CFLAGS="$CFLAGS -wd1418" | |
111 # external declaration in primary source file | |
112 CFLAGS="$CFLAGS -wd1419" | |
521 | 113 |
114 case "$NGX_ICC_VER" in | |
573 | 115 9.*) |
577 | 116 # "cc" clobber ignored, warnings for Liunx's htonl()/htons() |
521 | 117 CFLAGS="$CFLAGS -wd1469" |
563 | 118 # explicit conversion of a 64-bit integral type to a smaller |
119 # integral type | |
120 CFLAGS="$CFLAGS -wd1683" | |
121 # conversion from pointer to same-sized integral type, | |
122 # warning on offsetof() | |
123 CFLAGS="$CFLAGS -wd1684" | |
595 | 124 # floating-point equality and inequality comparisons are unreliable, |
125 # warning on SvTRUE() | |
126 CFLAGS="$CFLAGS -wd1572" | |
521 | 127 ;; |
128 | |
573 | 129 8.*) |
577 | 130 # "cc" clobber ignored, warnings for Liunx's htonl()/htons() |
573 | 131 CFLAGS="$CFLAGS -wd1469" |
595 | 132 # floating-point equality and inequality comparisons are unreliable, |
133 # warning on SvTRUE() | |
134 CFLAGS="$CFLAGS -wd1572" | |
573 | 135 ;; |
136 | |
521 | 137 *) |
138 ;; | |
139 esac | |
479 | 140 |
455 | 141 # stop on warning |
142 CFLAGS="$CFLAGS -Werror" | |
143 | |
144 # debug | |
145 CFLAGS="$CFLAGS -g" |