Commit graph

293 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
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
erikb
d7716c5e5a corrected the compile-time evaluation of ~<unsigned value> 1986-09-09 09:47:43 +00:00
erikb
5927f264a8 various null-dereference problems fixed 1986-09-02 15:22:54 +00:00
erikb
c84c57be67 added some LINT facilities 1986-09-02 15:00:50 +00:00
erikb
361613bb23 first operand to intexpr is arith typed 1986-08-26 14:59:36 +00:00