Commit graph

127 commits

Author SHA1 Message Date
Dale Weiler
cbeac3e5f2 Implemented smart intrinsic / builtin system. When you use trivial math functions like "pow", if they don't exist as a builtin, the compiler will implement its own versions, likewise, if a compiler builtin depends on a function that exists, it will use it, likewise if it doesn't it will implement it. If you explicitally use __builtin_ (prefixed) versions, the compiler again will select the best option it can, be it a combination of both builtins and compiler builtins, all compiler builtins, OR, all builtins (most performant). 2013-03-09 08:53:39 +00:00
Dale Weiler
d3c7b6fb39 Implement exponentiation operator ** as well as __builtin_pow (used for exponentiation operator). Use of exponentiation operator with constants results in const folded (precomputed at compile time exponentiation), otherwise runtime exponentiation with some clever loops (slow!). 2013-03-07 21:31:19 +00:00
Dale Weiler
9f06e0e017 Print the number for the test itself in the test-suite. The log10 can be improved. 2013-02-25 10:01:36 +00:00
Dale Weiler
e4554892b0 Oops 2013-02-08 19:07:12 +00:00
Dale Weiler
e4075916f0 depend rule for $(OBJ_P) PAK utility. 2013-02-08 16:45:05 +00:00
Dale Weiler
ac8f510dac Added $(PAK) to Makefile for clean rule. 2013-02-08 16:42:43 +00:00
Dale Weiler
eabb92f7b4 A command line interface for the PAK utility, made it a seperate build target too. 2013-02-08 16:32:15 +00:00
Dale Weiler
8d59d7029d Cleanup cargocult directory and file specific things, to fs.c (renamed file.c which also contains directory handling stuff). Also cleaned up some stuff, and added proper end comments to conditional inclusion stuff. 2013-02-08 12:06:59 +00:00
Dale Weiler
86df8c8a78 Work in progress PAK extractor/insterter. 2013-02-07 16:22:47 +00:00
Dale Weiler
d1f4b108a0 Update makefile 2013-02-06 10:54:14 +00:00
Dale Weiler
a1fac66587 Added definition file for test-suite, used by default by the test system. To override the defs globally, use -defs=file from the command line for the test-suite. To override the defs per-file, use F: -no-defs flag in the test template file. 2013-01-30 08:04:56 +00:00
Dale Weiler
9fffb3441c Older clang had -Wmissing-variable-declarations, which causes a heap of warnings, we disable it, because it's a stupid warning. However, because it's unsupported in newer clang, disabling it causes a warning, so we need to -Wno-unknown-warning-option. *sigh* 2013-01-30 06:52:36 +00:00
Dale Weiler
480b2fc7b6 Added documentation to all options inside the binary itself. These will be used later for "man/nroff -man"-like documentation on OSs that lack "man" and the concept of system wide documentation. Also it will be nice to add -Wsome_warning help (to get some help about a specific warning/error, etc). 2013-01-30 02:56:58 +00:00
Dale Weiler
a94d2fee4e Fixes, updates, and added uninstall target for makefile 2013-01-27 07:45:49 +00:00
Wolfgang Bumiller
a8d5504445 fixing manpage permissions 2013-01-17 23:22:38 +01:00
Dale Weiler
0da4626417 will warn about "check" no such file or directory (since it aliases in the rule for the Makefile) 2013-01-10 20:28:53 +00:00
Wolfgang Bumiller
16ccaffc3f checking if git even is available 2013-01-10 16:13:47 +01:00
Wolfgang Bumiller
7a5a328c54 --version now prints GMQCC_GITINFO, which is not not defined in gmqcc.h to some empty string, it just won't exist in release builds 2013-01-10 16:07:33 +01:00
Dale Weiler
54c8801bec Merge branch 'master' of github.com:graphitemaster/gmqcc 2013-01-07 12:40:03 +00:00
Dale Weiler
d8ae1cb3e9 Move splint.sh into the Makefile 2013-01-07 12:39:33 +00:00
Wolfgang Bumiller
99249c8fa3 Guard 2 peephole optimizations which should only work on the currently-last instruction by a check if it's actually really at the end... 2013-01-07 00:22:54 +01:00
Dale Weiler
985a177288 Pipe stderr from makedepend for depend rule in makefile to /dev/null 2013-01-06 15:27:39 +00:00
Dale Weiler
ecb83404ab Add test alias to check for make file 2013-01-06 15:12:46 +00:00
Dale Weiler
8ac6bcdad7 Add splint rule to makefile 2013-01-06 12:43:46 +00:00
Dale Weiler
3fa771f51d Leave a space here for makedepend 2013-01-06 10:56:25 +00:00
Dale Weiler
4afe61060d Add a "depend" rule for the makefile. It uses makedepend to generate dependinces that are catted to the current Makefile. 2013-01-06 10:55:22 +00:00
Dale Weiler
6f5a20e76b Use -O2 by default 2013-01-06 10:29:29 +00:00
Dale Weiler
d97e032fcf Cleanups and add the corrector to the makefile. Starting integration with the parser. 2013-01-04 10:05:41 +00:00
Wolfgang Bumiller
14593ce789 Makefile: ftepp.o: lexer.h 2013-01-02 15:05:52 +01:00
Wolfgang Bumiller
e37adb8c47 GMQCC_GITINFO 2012-12-28 20:39:30 +01:00
Dale Weiler
566dda6ad7 Working on getting gmqcc to work when compiled with tcc 2012-12-28 09:30:01 +00:00
Dale Weiler
a7724bffaa Reorder operands 2012-12-28 09:06:04 +00:00
Dale Weiler
dbb7a87fd8 Quoting of strings is forbid in some "make" implementations 2012-12-28 09:05:14 +00:00
Dale Weiler
cfa7119fdb Got it working on arm :) 2012-12-28 08:59:41 +00:00
Dale Weiler
ba25970f27 Always use -fsigned-char .. The compiler I was using had -funsigned-char by default on ARM (which was breaking everything ...) try it .. add -funsigned-char and run the test-suite (only 2 out of all the tests actually pass, and it's by fluke) 2012-12-28 08:52:13 +00:00
Wolfgang Bumiller
33c7707f56 adding -fno-strict-aliasing 2012-12-26 19:58:53 +01:00
Wolfgang Bumiller
84fcd95d4e utf8lib.c -> utf8.c - I hope windows 8 allows this filename :P 2012-12-23 10:44:03 +01:00
Wolfgang Bumiller
fe3d8e44e6 Importing utf8lib 2012-12-23 10:23:41 +01:00
Dale Weiler
6bc29a1601 Merge branch 'master' of github.com:graphitemaster/gmqcc 2012-12-23 06:06:57 +00:00
Dale Weiler
13003bf6af Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules) 2012-12-23 06:05:22 +00:00
Wolfgang Bumiller
aef7ff87fc Makefile: lexer.o depends on lexer.h 2012-12-22 20:43:59 +01:00
Dale Weiler
fa401b6f56 Cleanups and make compile with clang again with no warnings. 2012-12-22 08:22:50 +00:00
Wolfgang Bumiller
145c011247 Fix object dependency: OBJ -> OBJ_D so they all depend on gmqcc.h again properly 2012-12-20 16:28:35 +01:00
Wolfgang Bumiller
5d51930adf Oh god I hate this so much 2012-12-20 15:45:15 +01:00
Dale Weiler
2e57a952a7 No more hacks 2012-12-20 10:20:16 +00:00
Dale Weiler
148f7babcd *sigh* 2012-12-20 08:51:29 +00:00
Dale Weiler
199540e6ca Allow uname override 2012-12-20 08:49:14 +00:00
Dale Weiler
3e8435783c More fixes 2012-12-20 08:45:54 +00:00
Dale Weiler
0648835061 handle cygwin/mingw for makefile 2012-12-20 00:22:22 +00:00
Wolfgang (Blub) Bumiller
8cd94192d8 default make target now is 'all' 2012-12-18 16:58:21 +01:00