# $NetBSD: transform-gcc,v 1.10 2006/12/10 00:18:17 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 ;;

# GCC extensions.
-fPIC			|\
-fno-implicit-templates	|\
-ggdb			|\
-M			|\
-M[DFMPT]		|\
-O[23s]			|\
-pipe			|\
-pthread		|\
-shared			|\
-static			|\
-std=c99		|\
-std=gnu99		|\
-W			|\
-W[cLlS],*		|\
-Wall			|\
-Wcast-align		|\
-Wcast-qual		|\
-Wextra			|\
-Werror			|\
-Wformat=[012]		|\
-Wmissing-prototypes	|\
-Wno-error		|\
-Wno-implicit-int	|\
-Wno-long-long		|\
-Wno-traditional	|\
-Wno-uninitialized	|\
-Wno-unused		|\
-Wno-write-strings	|\
-Wpointer-arith		|\
-Wreturn-type		|\
-Wshadow		|\
-Wsign-compare		|\
-Wstrict-prototypes	|\
-Wswitch		|\
-Wwrite-strings		) transform_pass ;;

# Options specific to g++.
-fmessage-length=*	|\
-fno-exceptions		|\
-fno-rtti		) 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
