Commit graph

243 commits

Author SHA1 Message Date
ceriel b1626ca895 try to move side effects as much as possible to the left of the
expression tree, to avoid stacking. This is not good enough yet!
1989-02-22 16:16:08 +00:00
ceriel 00ac6f88a7 empty string in directory list now means current directory 1989-02-16 11:18:44 +00:00
ceriel 4629647d78 fixed wrong count in popping parameters 1989-02-14 14:10:31 +00:00
ceriel c3f7993b1a fixed problem in sizeof() 1989-02-06 19:06:55 +00:00
dick f70dfe4d00 better evaluation order checking in expressions 1989-02-02 13:57:07 +00:00
ceriel 5e14dddb6c fix in compile time int2float conversion 1989-01-23 16:52:22 +00:00
ceriel cc55ab947d evaluate switch-expression on a different spot,
allow for *STRING expressions
1989-01-23 15:37:57 +00:00
ceriel f4caec88e8 use C_con_cst instead of C_con_icon when possible;
fix sizeof(string) to return the size of the string instead of the size of
a pointer
1988-12-12 14:21:45 +00:00
ceriel 15377abec5 Fix from Lindsey: changed CURRDIR mechanism to make it work on SunOs 4.0 1988-11-24 11:29:14 +00:00
ceriel 6ac798b50c removed tab.c, use tabgen 1988-11-16 11:23:58 +00:00
dick 4ed20925c6 lint: printf testing and FORMATs 1988-11-03 15:18:46 +00:00
dick 7267917050 foute declaratie van sprint() 1988-11-03 14:59:47 +00:00
dick 190ea14bbf lint: retrieving string arguments from str_list 1988-11-03 13:20:27 +00:00
ceriel 3bb19b6e7d Added code-expander library 1988-10-31 14:17:17 +00:00
ceriel b5083a9ccf inline substitution of strcmp: was called many times! 1988-10-31 14:10:39 +00:00
ceriel 4f11f3c3fd fixed bug in preprocessor part:
#define aap(a) a did not work if the actual argument was spread over
multiple lines
1988-10-31 14:10:00 +00:00
dick e66f3adc06 formats introduced in lint 1988-10-12 16:05:17 +00:00
ceriel 6b7a135b2b Coercion from int to float is now always done compile time 1988-10-03 10:09:19 +00:00
dick 4cecb6bffb wrong Makefile committed 1988-09-30 16:49:02 +00:00
dick ff682c0cfc testing enums in switches/cases 1988-09-30 16:43:04 +00:00
dick 4f8b2e9926 lint: additional type tests in expressions 1988-09-29 15:24:02 +00:00
dick acf34e54ec crash() replaced by ASSERT() & NOTREACHED() in lint 1988-09-26 11:37:38 +00:00
dick 3d549e7932 reorganisation of lint code 1988-09-25 17:29:37 +00:00
ceriel 9435c895bf Added l_ files to .distr 1988-09-21 13:32:24 +00:00
ceriel b52e0e8ff1 fixed l_dummy.c to also work for the C-compiler,
added lint.h to BigPars and SmallPars,
and added stuff for CODE_EXPANDER and PEEPHOLE to Makefile
1988-09-21 11:48:29 +00:00
dick 6839d8afb1 introduction of lint source code, governed by ifdef LINT 1988-09-20 16:44:27 +00:00
dick 1f7115fa8d error messages and error handling 1988-09-16 23:19:50 +00:00
dick 32e5679d6c filename and linenumber info in more places 1988-08-29 15:51:48 +00:00
dick 61b8c3e9ec more modifications due to lint 1988-08-23 12:45:11 +00:00
dick 1a6665e21d initial small modifications for lint 1988-08-19 13:55:22 +00:00
ceriel e6d132830a fix: line number administration wrong in scan.c 1988-08-09 14:07:39 +00:00
ceriel 2c413b9455 makefile --> Makefile 1988-08-08 18:03:12 +00:00
ceriel 28d39e927b fixed problem with 'if (array)' 1988-08-04 14:37:06 +00:00
ceriel 0768c4d4f1 fix to fix 1988-07-29 19:22:48 +00:00
ceriel 87c8b648fc fix in preprocessor part: macro invocation with parameterlist on the
next line did not work
1988-07-29 18:38:25 +00:00
ceriel 75d52f0a3e corrected Makefiles 1988-07-28 08:37:37 +00:00
ceriel 84acaa1163 distribute Makefile 1988-07-26 19:08:46 +00:00
ceriel 20e2452350 updated dependencies 1988-07-11 19:22:19 +00:00
ceriel 6d7522ba44 fixes for Xenix 1988-07-11 13:24:32 +00:00
ceriel 778baeb2c0 fixes for Xenix 1988-07-11 13:18:43 +00:00
ceriel cd54a85aec updated dependencies 1988-07-11 12:57:24 +00:00
ceriel 3aabba530d fixes for Xenix 1988-07-11 12:53:01 +00:00
ceriel d1a390924f we were lucky, but - indicates a range; corrected 1988-07-08 10:29:48 +00:00
ceriel 8fc459e811 fix: was wrong with constants causing overflow 1988-07-07 15:02:47 +00:00
ceriel e1cb398e02 made to fit on PDP-11 1988-07-05 18:06:00 +00:00
ceriel 901d12332d removed faulty.h from makefile 1988-07-05 16:21:05 +00:00
ceriel f2b485740b adaptions for generation of compiler with embedded code-generator 1988-06-10 09:17:45 +00:00
ceriel 5ce46ce603 removed faulty.h, updated Parameters 1988-06-03 09:33:29 +00:00
ceriel 781a1218a5 only increment line number on ASCII LF 1988-05-03 11:30:25 +00:00
ceriel 2468ee6d34 did not compile with NOPP defined 1988-05-02 15:37:13 +00:00
ceriel d5f6dfeb2a did not compile with USE_TMP not defined 1988-05-02 14:40:35 +00:00
ceriel 132e8d0baa minor fixes 1988-05-02 14:13:25 +00:00
ceriel 8acf1542f6 updated dependencies 1988-04-26 16:15:25 +00:00
ceriel 5a7fa39fc9 updated dependencies 1988-04-26 16:03:36 +00:00
ceriel 8781ada304 generate more register messages 1988-04-26 15:33:48 +00:00
ceriel d260937564 improved layout with varargs 1988-04-25 16:24:42 +00:00
ceriel 093a970d7f generate scope info for functions 1988-04-25 12:55:25 +00:00
ceriel ae50580eff new handling of setjmp; now pass return address 1988-04-20 15:28:10 +00:00
ceriel 9dbd7bdcf5 check for total size of locals and parameters 1988-04-15 17:25:01 +00:00
ceriel d1fee09721 Use varargs where needed 1988-04-15 15:07:51 +00:00
ceriel 4b79636b8f fixed a problem with #ifdef/#else/#endif 1988-03-08 11:42:00 +00:00
ceriel d04dce377a Changed use of word_align: it now only indicates the alignment on
which word-operations are allowed to take place
1988-02-17 14:29:57 +00:00
ceriel b54a58e93c made counting for register messages depending on a #define,
adapted makefile to make version with peephole optimizer library
1988-02-16 16:23:00 +00:00
ceriel b19a178e2e fixed a bug with string-initializers 1988-01-25 16:14:01 +00:00
ceriel 897b86cba2 prevent a voluntary crash and generate better code 1988-01-11 14:06:20 +00:00
ceriel a8703841b2 changed typing of constants, to be more compatible with PCC
and future standard
1987-12-03 11:12:02 +00:00
ceriel 70403f62d9 fixed a bug: casts to short or char did not work right 1987-11-23 13:48:09 +00:00
ceriel 7bbfcac62b generate CSA for empty case statement, replaced an #ifdef that was on the wrong spot 1987-11-13 16:21:33 +00:00
ceriel cf0852c846 print initializer expression before call to code_declaration 1987-11-04 16:30:02 +00:00
ceriel 867232a244 fixed some minor problems 1987-11-02 17:59:18 +00:00
ceriel a24c90f5a9 fixed some problems: ADS was generated with size > pointer_size;
some (most) backends dont implement that.
Unstacking of macros did not quite work properly, but I dont know why
1987-10-20 09:36:34 +00:00
ceriel efcb9468f4 fixed some bugs:
- switch with BIG difference between lower and upper now handled correctly
- made sure an added error production is never chosen as the default one
- don't allow AUTO as specification for a parameter
1987-10-05 10:17:44 +00:00
ceriel 7e2c3130b0 dont count when USE_TMP is not defined 1987-09-01 10:41:35 +00:00
ceriel2 adce53f009 fix for statics in nested blocks 1987-08-28 09:56:00 +00:00
ceriel 7dc04a3207 some minor corrections 1987-08-19 15:23:41 +00:00
ceriel 1c85c44fad an attempt to improve error correction on unknown type identifiers.
Also, a minor fix to ival.g
1987-08-18 10:05:18 +00:00
ceriel b53309f9f6 fixed: resulted in memory faults in rare cases 1987-08-17 20:32:00 +00:00
ceriel 46589d5798 not finding an include file is fatal 1987-08-17 14:36:55 +00:00
ceriel e5af61151e nestlevel count per file 1987-08-10 11:17:20 +00:00
ceriel 4623ed60b0 fixes to preprocessor part 1987-08-07 19:53:54 +00:00
ceriel bfd6e2061f fixed a bug with setjmp.
Fixed a bug with non-struct pointers referring to structs
1987-08-06 14:19:06 +00:00
ceriel 0b8262a167 handle returns better 1987-08-06 09:55:00 +00:00
ceriel af3e759da2 fix blocks.c 1987-08-03 14:40:49 +00:00
ceriel 1640b8cad8 fix: may no address more memory than is present blocks.c 1987-08-03 14:04:44 +00:00
ceriel 36a5618dc8 do not generate mes 11 AND mes 3! 1987-07-17 14:30:30 +00:00
ceriel 0619d27b8d use new C_insertpart mechanism, other minor changes 1987-07-16 13:27:37 +00:00
ceriel 85421efb19 Bug fix: ch7sel should call any2opnd 1987-07-06 18:24:46 +00:00
ceriel d41028a664 pass EMHOME to nested make 1987-06-30 18:30:45 +00:00
ceriel 1fb8da7a02 bug fix in local extern-declarations, some other minor changes 1987-06-01 10:17:29 +00:00
ceriel aab8234e55 bug fix in cstoper.c: max_long_sign was computed wrong 1987-05-11 14:19:13 +00:00
ceriel b6e994767c removed the limitation on number of include directories 1987-05-11 14:08:58 +00:00
ceriel 81b1d21c35 Initial revision 1987-04-13 10:32:47 +00:00
ceriel 1fdfb2b738 improved call to C_lin 1987-04-02 13:02:16 +00:00
ceriel 1da25fb7a5 minor change to manual page 1987-03-31 12:44:15 +00:00
ceriel 82f042ba98 Also install manual page 1987-03-31 12:33:23 +00:00
ceriel de8fb5d489 Minor fixes 1987-03-27 16:39:57 +00:00
ceriel fa4dfdf813 minor fix to LLlex.h 1987-03-27 10:37:58 +00:00
ceriel bac2a42c82 added estack.str, minor fix 1987-03-26 15:32:26 +00:00
ceriel 4eb84b928b align parameters on word_size, not word_align 1987-03-26 11:05:28 +00:00
ceriel 09125cce6b redesign of ival, other minor changes 1987-03-25 23:14:43 +00:00