Commit graph

156 commits

Author SHA1 Message Date
Joseph Poirier 011ee0f3eb explicit casts, add includes 2015-06-17 16:57:50 -05:00
Joseph Poirier 97fbbaaf8f system includes before user includes, and cleanup 2015-06-17 16:34:26 -05:00
Joseph Poirier 0ac0f71fc0 proper static prototypes 2015-06-17 04:30:27 -05:00
Joseph Poirier e780f43222 fix the unary not (logical not) handling for issue #5, add tests 2015-06-14 17:54:48 -05:00
Joseph Poirier 63cd9d074b fix warning for cast to pointer from integer of different size, enhance conditional check of pointer to 'if' test 2015-06-14 17:27:41 -05:00
Joseph Poirier 62d1695632 Fixes issue #5 2015-06-14 17:03:55 -05:00
Joseph Poirier 09501d22fd Partial fix (e.g. if (somepointer) but not if (!somepointer)) for issue #5 2015-06-14 16:05:10 -05:00
Joseph Poirier 1ff1ef9cfb minor formatting, add message on how to terminate interactive mode 2015-06-14 15:48:18 -05:00
Joseph Poirier 890694a14a formatting 2015-06-14 04:46:15 -05:00
Joseph Poirier b83f9a66dc cleanup unused function params and FIXMEs 2015-06-14 02:17:11 -05:00
Joseph Poirier 463f086a33 changes after simple analysis, added FIXMEs 2015-06-14 02:08:10 -05:00
Joseph Poirier df817a54fc cast from long to int 2015-06-14 01:18:31 -05:00
Joseph Poirier cef18ad49e don't use an intermediate value for fp coercion 2015-06-14 01:16:34 -05:00
Joseph Poirier c753db4f59 fix from formatting 2015-06-13 19:07:57 -05:00
Joseph Poirier 6248fb2fb6 minor format changes 2015-06-13 19:00:49 -05:00
Joseph Poirier 6132405404 fix: issue #2, for real this time 2015-06-13 13:27:01 -05:00
Joseph Poirier e8b2139b26 fix: issue #2 2015-06-13 12:07:39 -05:00
Joseph Poirier f44d7556be minor formatting 2015-06-13 12:05:27 -05:00
Joseph Poirier b35b1005d8 explicit static prototypes 2015-06-13 10:26:33 -05:00
Joseph Poirier d865074892 malloc deref pointer to struct syntax, minor formatting changes 2015-06-13 09:41:41 -05:00
Joseph Poirier 8c18e1d061 respect 80 col mark when it makes sense 2015-06-10 19:27:30 -05:00
Joseph Poirier e52188dcda respect 80 col mark when it makes sense 2015-06-10 18:49:09 -05:00
Joseph Poirier 9293ed0443 use stdbool.h and convert TRUE/FALSE to true/false 2015-06-10 14:24:53 -05:00
Joseph Poirier cfb3a821b4 removed BROKEN_FLOAT_CASTS 2015-06-10 13:52:30 -05:00
Joseph Poirier b2d468537e remove NO_FP checks; assume at least softfp, remove NO_MODULUS 2015-06-10 13:38:54 -05:00
Joseph Poirier c063462464 reorder types 2015-06-10 13:07:58 -05:00
Joseph Poirier f26b78f29f PRINT_SOURCE_POS macro refactors 2015-06-10 12:33:16 -05:00
Joseph Poirier c504c52cd1 misc formatting, more descriptive out of mem erros, increase default stack size 2015-06-09 02:45:00 -05:00
Joseph Poirier 6c9bd24783 more desciptive error messages 2015-06-08 17:46:25 -05:00
Joseph Poirier 9addfe1788 tidy up compilation environment 2015-06-07 22:05:17 -05:00
Joseph Poirier e0775801f9 formatting 2015-06-07 01:28:10 -05:00
Joseph Poirier a61bd97d9b formatting 2015-06-06 23:40:08 -05:00
zik.saleeba 62ca6eacf1 Fixed issue #192 - "Define macro inside a function block will crash picoc".
Macros inside functions now work correctly.


git-svn-id: http://picoc.googlecode.com/svn/trunk@605 21eae674-98b7-11dd-bd71-f92a316d2d60
2014-03-01 02:54:09 +00:00
zik.saleeba 6e9b4b3c84 Fixed DEBUG_EXPRESSIONS option
Issue #179


git-svn-id: http://picoc.googlecode.com/svn/trunk@601 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-17 00:23:39 +00:00
zik.saleeba b5a600a749 Merged in a pile of changes from broscutamaker
git-svn-id: http://picoc.googlecode.com/svn/trunk@599 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 07:39:34 +00:00
zik.saleeba a784b77f75 Fix for macro bug sumbitted by broscutamaker
git-svn-id: http://picoc.googlecode.com/svn/trunk@597 21eae674-98b7-11dd-bd71-f92a316d2d60
2013-03-16 06:09:32 +00:00
zik.saleeba 62bc229f4a Adapted to be fully re-entrant.
Issue #137


git-svn-id: http://picoc.googlecode.com/svn/trunk@581 21eae674-98b7-11dd-bd71-f92a316d2d60
2012-09-22 05:11:44 +00:00
zik.saleeba 10714186eb Added the ability to declare unsized arrays which can then have a sized
value assigned to them. Part of #142


git-svn-id: http://picoc.googlecode.com/svn/trunk@577 21eae674-98b7-11dd-bd71-f92a316d2d60
2012-09-03 10:14:06 +00:00
zik.saleeba cb4c34b506 Created Visual Studio 2011 project.
Modified to compile under Visual Studio 2011.

git-svn-id: http://picoc.googlecode.com/svn/trunk@572 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-10-05 10:57:24 +00:00
zik.saleeba 853b6f6259 Added some more comments.
Added the beginnings of a debugger. It's not useful yet.


git-svn-id: http://picoc.googlecode.com/svn/trunk@570 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-05-01 06:50:00 +00:00
zik.saleeba 3d7eaa7da6 Added "goto" statement.
git-svn-id: http://picoc.googlecode.com/svn/trunk@560 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-21 04:44:16 +00:00
zik.saleeba b1bd91a900 Fixed a problem with explicit pointer/pointer casts not being allowed.
git-svn-id: http://picoc.googlecode.com/svn/trunk@558 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-21 00:57:06 +00:00
zik.saleeba 33985ad161 Working on enum issue
git-svn-id: http://picoc.googlecode.com/svn/trunk@552 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-18 02:31:56 +00:00
zik.saleeba b23d1e8e06 Big reorganisation to make it easier to access picoc as a library.
Also moved most internal header stuff to the new header interpreter.h.


git-svn-id: http://picoc.googlecode.com/svn/trunk@549 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-17 07:11:20 +00:00
zik.saleeba cab5e8b2d8 Added support for static type qualifiers.
git-svn-id: http://picoc.googlecode.com/svn/trunk@546 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-16 23:38:41 +00:00
zik.saleeba bd601e45c3 Structure element access wasn't obeying precedence rules. It is now.
Fixed test case 50.

git-svn-id: http://picoc.googlecode.com/svn/trunk@545 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-16 04:46:04 +00:00
zik.saleeba 2de3aaba52 Fixed a bug in bracket evaluation - was collapsing the expression stack at the wrong precedence.
Fixed a bug in evaluation of logical operators where the RHS is not evaluated - off-by-one error in precedence.

git-svn-id: http://picoc.googlecode.com/svn/trunk@544 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-16 03:58:48 +00:00
zik.saleeba 807b3d09ba Logical operators now only evaluate the second argument if necessary, as specified in the C standard.
git-svn-id: http://picoc.googlecode.com/svn/trunk@542 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-16 00:13:11 +00:00
zik.saleeba e44b198946 Added a new alignment system which should correspond to the struct alignments of most processors. This means that picoc struct members should match up with native C structs in most cases. I hope.
git-svn-id: http://picoc.googlecode.com/svn/trunk@532 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-15 04:25:09 +00:00
zik.saleeba b2c4d6ce83 Fixed bug108 - brackets were not collapsing the expression stack
as they should have.
Now more permissive in declarations of void main()


git-svn-id: http://picoc.googlecode.com/svn/trunk@520 21eae674-98b7-11dd-bd71-f92a316d2d60
2011-02-14 06:05:53 +00:00