summaryrefslogtreecommitdiff
path: root/mk/wrapper/transform-gcc
blob: 21149df4566304ff7ebef80599aef89b257ac94b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# $NetBSD: transform-gcc,v 1.13 2007/02/06 20:26:51 rillig Exp $
#
# This file handles the transformations needed for gcc that can be done
# looking at only one argument at a time.
#

transform_setname "transform-gcc"

case $arg in

# Standard options.
-[EcgOos]		|\
-[DILlU]?*		|\
-O[01]			) transform_pass ;;

# Needed for the GNU configure scripts:
-V			|\
-v			|\
--version		) transform_pass ;;

# GCC extensions.
-			|\
-dynamic		|\
-export-dynamic		|\
-falign-functions=*	|\
-falign-loops=*		|\
-falign-jumps=*		|\
-fexpensive-optimizations |\
-ffast-math		|\
-ffloat-store		|\
-finline-functions	|\
-fno-builtin*		|\
-fno-common		|\
-fno-implicit-templates	|\
-fno-inline-functions	|\
-fno-strict-aliasing	|\
-fomit-frame-pointer	|\
-fPIC			|\
-fpcc-struct-return	|\
-freg-struct-return	|\
-fsigned-char		|\
-funroll-loops		|\
-funsigned-char		|\
-ggdb			|\
-M			|\
-M[DFMPT]		|\
-m64			|\
-MMD			|\
-mcpu=*			|\
-mieee-fp		|\
-O[23s]			|\
-pedantic		|\
-pedantic-errors	|\
-pipe			|\
-pthread		|\
-print-prog-name=*	|\
-print-search-dirs	|\
-S			|\
-shared			|\
-static			|\
-std=c99		|\
-std=gnu89		|\
-std=gnu99		|\
-W			|\
-W[cLlS],*		|\
-Wall			|\
-Wcast-align		|\
-Wcast-qual		|\
-Wchar-subscripts	|\
-Wconversion		|\
-Wextra			|\
-Werror			|\
-Werror-implicit-function-declaration |\
-Wformat=[012]		|\
-Wmissing-declarations	|\
-Wmissing-format-attribute |\
-Wmissing-prototypes	|\
-Wnested-externs	|\
-Wno-error		|\
-Wno-format-y2k		|\
-Wno-format-zero-length	|\
-Wno-implicit-int	|\
-Wno-import		|\
-Wno-inline		|\
-Wno-long-long		|\
-Wno-sign-compare	|\
-Wno-traditional	|\
-Wno-undef		|\
-Wno-uninitialized	|\
-Wno-unused		|\
-Wno-write-strings	|\
-Wparentheses		|\
-Wpointer-arith		|\
-Wreturn-type		|\
-Wshadow		|\
-Wsign-compare		|\
-Wstrict-aliasing	|\
-Wstrict-prototypes	|\
-Wswitch		|\
-Wunused		|\
-Wundef			|\
-Wwrite-strings		) transform_pass ;;

# There are some packages suppressing all warnings. We don't want that.
-w			) transform_discard ;;

# Options specific to g++.
-fexceptions		|\
-fmessage-length=*	|\
-fno-check-new		|\
-fno-exceptions		|\
-fno-rtti		|\
-Wno-non-virtual-dtor	|\
-ftemplate-depth=*	) transform_pass ;;

# Options specific to Objective C
-fgnu-runtime		|\
-fconstant-string-class=* ) transform_pass ;;

# Other compiler's options that have corresponding GCC options.
-KPIC			|\
-kPIC			) transform_to "-fPIC" ;;
-mt			) transform_to "-threads" ;;

# Unknown options.
-*			) transform_pass_with_warning ;;

esac