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
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