aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
authorseyko <seyko2@gmail.com>2015-05-10 10:21:37 +0300
committerseyko <seyko2@gmail.com>2015-05-10 10:21:37 +0300
commitff06d4258eb4862b6ab01999d07fc4a888f0295c (patch)
treec92c08ad3f5c54d91b6b6754e837ca439fbdc140 /libtcc.c
parentc497f9c82c5ac218fc9835a74020c247a04a4735 (diff)
downloadtinycc-ff06d4258eb4862b6ab01999d07fc4a888f0295c.tar.gz
tinycc-ff06d4258eb4862b6ab01999d07fc4a888f0295c.tar.bz2
define __OPTIMIZE__ if -ON (N != 0)
this is gcc behaviour
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libtcc.c b/libtcc.c
index 6d65e84..c58f454 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -2048,6 +2048,15 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int argc, char **argv)
tcc_warning("unsupported language '%s'", optarg);
break;
case TCC_OPTION_O:
+ if (1) {
+ int opt = atoi(optarg);
+ char *sym = "__OPTIMIZE__";
+ if (opt)
+ tcc_define_symbol(s, sym, 0);
+ else
+ tcc_undefine_symbol(s, sym);
+ }
+ break;
case TCC_OPTION_pedantic:
case TCC_OPTION_pipe:
/* ignored */