Commit graph

297 commits

Author SHA1 Message Date
ceriel cc3459e5a8 fix to constant unary minus 1989-05-31 12:42:56 +00:00
ceriel aa0e321971 some fixes 1989-05-29 11:32:23 +00:00
ceriel 7a7d0e413b recognize but ignore #pragma 1989-03-31 11:47:12 +00:00
dick 1d0b3910b2 more lint code 1989-03-06 15:17:39 +00:00
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
ceriel 0cd2bbdc09 updated 1987-03-25 18:52:04 +00:00
ceriel 4e03fc78dd many minor fixes and modifications 1987-03-20 08:30:31 +00:00
ceriel bcd037018f still does not fit. Delete bitfields 1987-03-19 10:51:40 +00:00
ceriel 5fe6bf0fcd made to work on pdp-11 1987-03-18 09:35:31 +00:00
ceriel 07f5d3cce4 Fixed a bug with line-directives, added copyright notice 1987-03-10 17:51:10 +00:00
ceriel 4e5611ac7b Added copyright notice 1987-03-09 15:22:58 +00:00
ceriel 2fba9c579e Added exit to main program of tab.c 1987-03-09 13:19:38 +00:00
ceriel 1be18e9a48 Initial revision 1987-03-06 09:02:15 +00:00
ceriel 3c9b5ad0bd deleted idepth 1987-03-06 08:38:29 +00:00
ceriel 1a5d5ddec2 procentry/procexit were not called properly 1987-03-05 19:22:33 +00:00
ceriel a1c73c0335 main exits instead of returns. Bloody SUNs 1987-03-05 15:22:05 +00:00
ceriel 8c3fc983bc Also remove "main" when making clean 1987-03-04 15:46:02 +00:00
ceriel 3a91ff6da5 renamed a parameters because a local had the same name 1987-02-24 15:41:16 +00:00
ceriel ca1655c25e bug fixes:
- assignment operators for bit fields were wrong
- some conversions for characters were wrong
- result of assignment operator sometimes had wrong size
- character constant \377 was 255, not -1
- string constant generation was clumsy
1987-02-23 13:08:54 +00:00
ceriel 428b24d51b minor update 1987-02-13 15:30:27 +00:00
ceriel 2238500f22 Added "standard" entries, rerun mkdep 1987-02-13 15:27:35 +00:00
ceriel e04aa9639e Initial revision 1987-02-10 09:27:44 +00:00
ceriel ad72edfa49 many changes: fixes and efficiency-oriented 1987-02-09 23:19:42 +00:00
ceriel 8116e3181f now uses alloc module, bug fixes, -N option under USE_TMP, to not do so 1987-01-24 00:25:56 +00:00
ceriel 493efb1bf7 added EX_SIDEEFFECTS, options['p'] --> ! options['L'], fixed some bugs 1987-01-14 09:58:51 +00:00
ceriel ecf93dbf4f made error in macro parameter count into a warning 1987-01-08 14:57:18 +00:00
ceriel 33a89a8684 bug fix in LLlex.c, "string_token" 1986-12-16 14:30:33 +00:00
dick 78aaf2fd9d some small changes, asm() yields error message 1986-12-13 20:57:40 +00:00
ceriel 42162f7b37 simplified 0-padding, minor cosmetic changes 1986-12-10 12:00:55 +00:00
erikb 8a95b29c86 added: file_info.h 1986-12-09 08:19:55 +00:00
erikb ad5c92044c corrected basename() 1986-12-08 08:58:21 +00:00
ceriel 53d6dfcb6b version using input module and detecting preprocessor loops 1986-12-04 16:29:44 +00:00
ceriel abc2ba9a3c bug fix: size 0 error messages also appeared for labels 1986-12-02 11:39:34 +00:00
ceriel ad40a77afd handle void properly, avoid 0-alignments, handle #if defined(..) 1986-12-01 10:00:23 +00:00
erikb 22d4d72ef4 adapted default IDEPTH value 1986-11-14 08:16:38 +00:00
erikb ed106b7feb removed the debug message for encountering STRING-type Values 1986-11-12 09:55:28 +00:00
erikb d51281b576 updated the manual pages 1986-11-12 09:53:18 +00:00
erikb f784236908 merged the vax and mantra versions 1986-11-11 13:47:58 +00:00
erikb 6f8b72bfb3 corrected the treatment of static functions declared on non-global level 1986-11-10 09:16:27 +00:00
erikb 3ebe2a7176 use programs and modules from ACK instead of local versions 1986-11-10 09:14:29 +00:00
erikb 5af21dfc79 modified the treatment of op=, ++ and -- operators 1986-09-29 14:01:34 +00:00
erikb 42112db262 modified the treatment of op=, ++ and -- operators 1986-09-29 13:16:11 +00:00
dick 66c247ba9c some very minor changes 1986-09-28 20:33:15 +00:00
erikb c967d1ab3a put heavily used pointer variables in registers 1986-09-24 13:53:16 +00:00
erikb f21743e213 if NOPP: made #line directives treated correctly 1986-09-22 13:04:04 +00:00
erikb dad1ab3b22 some minor fixes 1986-09-17 12:31:45 +00:00
erikb a968ce8437 changed some large static data structures into STATIC 1986-09-15 08:47:53 +00:00
erikb 225f1fb724 added one byte to ibuf 1986-09-12 12:58:22 +00:00
erikb c6a51a39f0 built in the compile time flag NOFLOAT to get rid of the float stuff 1986-09-12 09:16:07 +00:00
erikb ecf5219493 corrected the treatment of the <<= and >>= operators 1986-09-10 10:23:26 +00:00
erikb b9bce39f1e simplified the return expression in loadbuf() 1986-09-09 13:49:46 +00:00