michael
e7aca136a1
+ Initial import
2000-07-13 06:29:38 +00:00
peter
757f68ec58
* fixed internalerror 2002 when case expr is not correct, by creating
...
a temp correct case expression
2000-06-30 22:15:39 +00:00
pierre
40f1da8f8e
* bug found by Kovacs Attila Zoltan corrected
2000-05-04 12:59:10 +00:00
peter
ad5c964217
* support asm block without assembler directive for -Sd
2000-04-29 12:50:14 +00:00
peter
ebbf2e578f
* backtraces for exceptions are now only generated from the place of the
...
exception
* frame is also pushed for exceptions
* raise statement enhanced with [,<frame>]
2000-04-24 11:11:50 +00:00
florian
9f57527c98
* crash when using exception classes without sysutils unit fixed
2000-03-19 14:17:05 +00:00
peter
98a50970e7
* check for unknown id in on exception
2000-03-19 11:16:44 +00:00
pierre
977081b2d7
assembler method code does not need ebp framepointer
2000-03-16 15:12:06 +00:00
pierre
cadf4cc024
* destructor can have args in TP mode only (bug825 and 839)
2000-03-14 16:37:25 +00:00
pierre
35d59eeb52
Use $GOTO ON
2000-02-29 23:59:47 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +00:00
peter
f16647ede6
* fixed destructor parsing with preprocessor things
...
* support dipsoe(p,done())
* fixed constructor message with dispose(p,<nonexist>)
2000-01-23 16:33:49 +00:00
peter
25dda03cdc
* renamed call_offset to para_offset
2000-01-16 22:17:11 +00:00
peter
0e4c33391c
* fixed library with only end.
2000-01-12 10:30:50 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
peter
7583de7a4f
- removed freelabel()
...
* added undefined label detection in internal assembler, this prevents
a lot of ld crashes and wrong .o files
* .o files aren't written anymore if errors have occured
* inlining of assembler labels is now correct
1999-12-22 01:01:45 +00:00
florian
577edbbd3f
+ compiler checks now if a goto leaves an exception block
1999-12-14 09:58:41 +00:00
peter
f2d894e78f
* fixed sigsegv with casedef=nil
1999-12-01 22:43:17 +00:00
peter
d3b404c1a4
* fixed bug #698
...
* removed some notes about unused vars
1999-12-01 12:42:31 +00:00
peter
0512ba80fb
+ ttype, tsymlist
1999-11-30 10:40:42 +00:00
pierre
8025581bfd
* DLL index used for win32 target with DEF file
...
+ DLL initialization/finalization support
1999-11-20 01:19:10 +00:00
pierre
b528749138
* Notes/Hints for local syms changed to
...
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
62da9bd4c0
* Notes/hints changes
1999-11-17 17:04:58 +00:00
peter
918b5219ea
* labels used but not defined give error instead of warning, the warning
...
is now only with declared but not defined and not used.
1999-11-15 22:00:46 +00:00
pierre
acaa9296b7
* more browser details
1999-11-10 00:24:02 +00:00
peter
b8b39e0980
* fixed 'raise end;'
1999-11-09 13:02:46 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
peter
89b677a0ee
* split type reading from pdecl to ptype unit
...
* parameter_dec routine is now used for procedure and procvars
1999-10-22 10:39:34 +00:00
florian
fa19f0aa09
- removed the hcodegen use in the new cg, use cgbase instead
1999-10-14 14:57:51 +00:00
peter
6b1ab5eb31
* procinfo is now a pointer
...
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
florian
fbbf8a505c
* m68k compiler is again compilable (only gas writer, no assembler reader)
1999-09-16 23:05:51 +00:00
florian
a9d8bfa1f7
* some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
...
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
Jonas Maebe
88306ed3f3
* framepointer cannot be changed to esp for methods
1999-09-07 14:12:35 +00:00
peter
5e26e5d0c9
* better error recovery for case
1999-08-26 21:10:08 +00:00
peter
cb8aeb3fd6
* V_Fatal=1, all other V_ are also increased
...
* Check for local procedure when assigning procvar
* fixed comment parsing because directives
* oldtp mode directives better supported
* added some messages to errore.msg
1999-08-05 16:52:53 +00:00
Jonas Maebe
ace7ff6983
* all tokens now start with an underscore
...
* PowerPC compiles!!
1999-08-04 13:02:40 +00:00
florian
ca53eee67e
* renamed i386asm and i386base to cpuasm and cpubase
1999-08-04 00:22:34 +00:00
peter
ed8eb13d59
* moved bitmask constants to sets
...
* some other type/const renamings
1999-08-03 22:02:29 +00:00
florian
1cf1665d73
* the alpha compiler can be compiled now
1999-08-03 17:09:34 +00:00
florian
eac806034d
* the main branch psub.pas is now used for
...
newcg compiler
1999-08-02 21:28:56 +00:00
florian
9cbaac5beb
* bugs 494-496 fixed
1999-07-26 09:41:59 +00:00
florian
497a3d3686
* use of is_ordinal checked: often a qword/int64 isn't allowed (case/for ...)
...
* small qword problems fixed
1999-06-30 22:16:19 +00:00
pierre
05b6362265
* local browser stuff corrected
1999-06-22 16:24:39 +00:00
pierre
e8da115c3f
* merged from 0_99_12 branch
1999-06-17 13:19:50 +00:00
pierre
a5305b32ee
* better uninitialized var tests for TP mode
1999-06-15 13:19:46 +00:00
peter
0b272f13c7
* removed oldasm
...
* plabel -> pasmlabel
* -a switches to source writing automaticly
* assembler readers OOPed
* asmsymbol automaticly external
* jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
peter
bfed29ff8b
* NEWLAB for label as symbol
1999-05-21 13:54:38 +00:00
peter
12313fbed8
* with temp vars now use a reference with a persistant temp instead
...
of setting datasize
1999-05-17 23:51:37 +00:00
peter
a47afc3857
* removed oldppu code
...
* warning if objpas is loaded from uses
* first things for new deref writing
1999-05-13 21:59:19 +00:00
peter
4841b4236c
* updated messages
1999-05-05 22:21:47 +00:00
peter
611da2d24e
* merged nasm compiler
...
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
884c517b18
* release storenumber,double_checksum
1999-04-26 13:31:24 +00:00
peter
cb70b62a82
* storenumber works
...
* fixed some typos in double_checksum
+ incompatible types type1 and type2 message (with storenumber)
1999-04-21 09:43:28 +00:00
pierre
7482ba0913
* void pointer accepted with warning in tp and delphi mode
1999-04-16 12:14:44 +00:00
pierre
9bca84a43d
* fix for bug0234
1999-04-15 12:58:07 +00:00
peter
bedd3653f2
* fixed set loading
...
* object inheritance support for browser
1999-04-15 09:01:32 +00:00
daniel
1335d7de8a
* Better use of routines in pbase and symtable. 4k code removed.
1999-04-14 18:41:24 +00:00
peter
cc9df8d478
* first things to store the symbol/def number in the ppu
1999-04-14 09:14:44 +00:00
pierre
dae5c188e4
* bug found by Peter for DirectWith code fixed
1999-04-09 12:22:06 +00:00
peter
ee82810a16
* more use of ttoken
1999-04-06 11:21:56 +00:00
peter
2bfdf91c5c
* assembler inlining working for ag386bin
1999-03-31 13:55:03 +00:00
pierre
ebd2da41dc
* typecheck for exit(value) : resulttype was not set
1999-03-10 11:23:29 +00:00
pierre
58bfc3ac78
* some m68k fixes (still not compilable !)
...
* new(tobj) does not give warning if tobj has no VMT !
1999-03-04 13:55:39 +00:00
peter
c5e45b576b
+ stabs support for binary writers
...
* more fixes and missing updates from the previous commit :(
1999-03-02 02:56:08 +00:00
peter
a17c03cca3
* assembler writers fixed for ag386bin
1999-02-26 00:48:13 +00:00
pierre
0669413251
+ -b and -bl options work !
...
+ cs_local_browser ($L+) is disabled if cs_browser ($Y+)
is not enabled when quitting global section
* local vars and procedures are not yet stored into PPU
1999-02-22 13:06:52 +00:00
peter
bf9b5e3a54
* updates for ag386bin
1999-02-22 02:14:59 +00:00
pierre
c881aae7e9
* fix for bug0216
1999-02-15 13:13:15 +00:00
pierre
f59803f7d2
* fix for normal method calls inside static methods :
...
WARNING there were both parser and codegen errors !!
added static_call boolean to calln tree
1999-02-11 09:46:21 +00:00
florian
b73b83a01b
+ complex results for assembler functions, fixes bug0155
1999-02-09 15:45:46 +00:00
pierre
714da479ee
* memory leak in case optimization fixed
1999-01-27 13:06:57 +00:00
peter
eadf1f63b4
* more fixes for the on bug with unknown id
1999-01-25 22:49:09 +00:00
florian
90d0bea35a
* first running version of the new code generator
...
* when compiling exceptions under Linux fixed
1999-01-23 23:29:31 +00:00
pierre
0cfc4c8f6b
* fix for constructor inside with statements
1999-01-21 16:40:51 +00:00
florian
d15d426756
* mainly problem with invalid case ranges fixed (reported by Jonas)
1999-01-05 08:19:59 +00:00
Jonas Maebe
8cf4da6d5e
+ optimize pascal code surrounding assembler blocks
1998-12-29 18:48:15 +00:00
peter
2f303a746d
* fixed new(x) crash if x contains an error
1998-12-23 22:52:56 +00:00
Jonas Maebe
75331d6648
* released CaseRange
1998-12-16 12:30:59 +00:00
Jonas Maebe
401078117f
+ convert consecutive case labels to a single range (-dCaseRange)
1998-12-15 22:32:24 +00:00
peter
ff335d3911
* fixed dup release of statement label in case
1998-12-15 11:52:18 +00:00
peter
1b369bb4bb
+ globtype,tokens,version unit splitted from globals
1998-12-11 00:02:37 +00:00
florian
4244dda54b
+ basic operations with int64/qord (compiler with -dint64)
...
+ rtti of enumerations extended: names are now written
1998-12-10 09:47:13 +00:00
pierre
274bce92b8
+ added -Se in Makefile cvstest target
...
+ lexlevel cleanup
normal_function_level main_program_level and unit_init_level defined
* tins_cache grown to A_EMMS (gave range check error in asm readers)
(test added in code !)
* -Un option was wrong
* _FAIL and _SELF only keyword inside
constructors and methods respectively
1998-11-13 15:40:12 +00:00
pierre
364132b0bb
* fix for bug0176 and bug0177
1998-11-12 12:55:16 +00:00
peter
dedaf4db95
* fixed assembler directive and then not an ASM statement
1998-11-05 23:43:24 +00:00
peter
3fcd0a1086
* fixed dispose(destructor) crash when destructor didn't exists
1998-10-30 16:20:22 +00:00
pierre
1a77339355
* several memory corruptions due to double freemem solved
...
=> never use p^.loc.location:=p^.left^.loc.location;
+ finally I added now by default
that ra386dir translates global and unit symbols
+ added a first field in tsymtable and
a nextsym field in tsym
(this allows to obtain ordered type info for
records and objects in gdb !)
1998-10-20 08:06:37 +00:00
pierre
a5f0168fbb
* wrong stabs info corrected once again !!
...
+ variable vmt offset with vmt field only if required
implemented now !!!
1998-10-19 08:54:53 +00:00
peter
1468993242
* new style for m68k/i386 infos and enums
1998-10-13 13:10:08 +00:00
peter
075d0d16fc
* added eof message
...
* fixed unit init section parsing with finalize
1998-10-08 13:46:22 +00:00
peter
d4ac5e456b
+ idtoken and only one token table
1998-09-26 17:45:30 +00:00
peter
8e85a889de
+ aktmodeswitches
1998-09-24 23:49:05 +00:00
florian
7f57cdf52c
* the following doesn't work: on texception do, was a parser error, fixed
1998-09-23 21:53:04 +00:00
peter
4ae6e577c5
* merged fix
1998-09-21 10:26:07 +00:00
peter
58c2d999f0
* updated some error messages
1998-09-04 08:41:36 +00:00
pierre
b61cd6cd0e
+ TEST_FUNCRET now default (old code removed)
...
works also for m68k (at least compiles)
1998-08-21 14:08:39 +00:00
peter
7c8e445400
* fixed 'with object do' bug
1998-08-20 21:36:38 +00:00
pierre
2d9cbf7fde
+ funcret setting in underproc testing
...
compile with _dTEST_FUNCRET
1998-08-20 09:26:37 +00:00
peter
6cc16ea7f1
- removed OLDPPU
1998-08-17 10:10:04 +00:00
peter
6fe91685a0
* fixed some crashes
1998-08-12 19:39:28 +00:00
peter
85c8a88cbe
+ localswitches, moduleswitches, globalswitches splitting
1998-08-10 14:49:33 +00:00
florian
8eb9f6121d
* on o : tobject do should also work now, the exceptsymtable shouldn't be
...
disposed by dellexlevel
1998-08-02 16:41:59 +00:00
florian
23fe1ae0de
* try ... expect <statement> end; works now
1998-07-30 16:07:08 +00:00
florian
a1f903d4b1
* final implemenation of exception support, maybe it needs
...
some fixes :)
1998-07-30 13:30:31 +00:00
florian
38ec73449d
+ first implementation of try ... except on .. do end;
...
* limitiation of 65535 bytes parameters for cdecl removed
1998-07-30 11:18:13 +00:00
florian
25b34c1c6c
+ implementation of raise and try..finally
...
+ some misc. exception stuff
1998-07-28 21:52:49 +00:00
florian
4caf39e3ac
* fix to allow tv like stream registration:
...
@tmenu.load doesn't work if load had parameters or if load was only
declared in an anchestor class of tmenu
1998-07-27 21:57:13 +00:00
peter
c9715847f6
* updated messages file
1998-07-14 21:46:38 +00:00
peter
889203c8ba
* fixed realnumber scanning
...
* [] after asmblock was not uppercased anymore
1998-07-10 10:48:40 +00:00
florian
028721c4de
* first version of rtti support
1998-06-25 08:48:04 +00:00
peter
804397de24
* ifdef newppu -> ifndef oldppu
1998-06-24 14:48:34 +00:00
peter
fe323891cf
* fixed the name changes
1998-06-24 14:06:33 +00:00
peter
3968111048
* renamed RA* units
1998-06-23 14:00:15 +00:00
peter
f98459e1fb
* smartlinking works for win32
...
* some defines to exclude some compiler parts
1998-06-08 22:59:41 +00:00
pierre
1a44be1502
* fixes for inline for operators
...
* inline procedure more correctly restricted
1998-06-05 14:37:27 +00:00
pierre
afe0d5a50d
* demangled name of procsym reworked to become independant of the mangling scheme
...
Come test_funcret improvements (not yet working)S: ----------------------------------------------------------------------
1998-06-04 09:55:35 +00:00
pierre
f08a7114ae
* with node corrected for objects
...
* small bugs for SUPPORT_MMX fixed
1998-06-02 17:02:59 +00:00
peter
4fc1780fe4
+ $ASMMODE
1998-05-30 14:31:02 +00:00
pierre
2e4f12cfd9
* OPR_REGISTER for 1 arg was missing in ratti386.pas
...
(probably a merging problem)
* errors at start of line were lost
1998-05-29 09:58:14 +00:00
peter
d4c6283e32
* fixed -R switch, it didn't work after my previous akt/init patch
...
* fixed bugs 110,130,136
1998-05-28 17:26:47 +00:00
peter
994d0eb578
+ better procedure directive handling and only one table
1998-05-21 19:33:31 +00:00
pierre
c80de3be27
+ UseTokenInfo now default
...
* unit in interface uses and implementation uses gives error now
* only one error for unknown symbol (uses lastsymknown boolean)
the problem came from the label code !
+ first inlined procedures and function work
(warning there might be allowed cases were the result is still wrong !!)
* UseBrower updated gives a global list of all position of all used symbols
with switch -gb
1998-05-20 09:42:32 +00:00
peter
5e4c788be5
+ $ifdef NEWPPU for the new ppuformat
...
+ $define GDB not longer required
* removed all warnings and stripped some log comments
* no findfirst/findnext anymore to remove smartlink *.o files
1998-05-11 13:07:53 +00:00
pierre
6fc80b783f
* better position info with UseTokenInfo
...
UseTokenInfo greatly simplified
+ added check for changed tree after first time firstpass
(if we could remove all the cases were it happen
we could skip all firstpass if firstpasscount > 1)
Only with ExtDebug
1998-05-06 08:38:32 +00:00
florian
a965360572
* problems with properties fixed
...
* crash fixed: i:=l when i and l are undefined, was a problem with
implementation of private/protected
1998-05-05 12:05:42 +00:00
florian
3233d4aeb7
* handling of private and protected fixed
...
+ change_keywords_to_tp implemented to remove
keywords which aren't supported by tp
* break and continue are now symbols of the system unit
+ widestring, longstring and ansistring type released
1998-05-01 16:38:44 +00:00
pierre
a10c3e36bc
* GDB works again better :
...
correct type info in one pass
+ UseTokenInfo for better source position
* fixed one remaining bug in scanner for line counts
* several little fixes
1998-04-30 15:59:39 +00:00
pierre
5cdd60cac8
+ added some code for ansistring (not complete nor working yet)
...
* corrected operator overloading
* corrected nasm output
+ started inline procedures
+ added starstarn : use ** for exponentiation (^ gave problems)
+ started UseTokenInfo cond to get accurate positions
1998-04-29 10:33:40 +00:00
pierre
9b14f1f183
* several bugfixes
...
ADD ADC and AND are also sign extended
nasm output OK (program still crashes at end
and creates wrong assembler files !!)
procsym types sym in tdef removed !!
1998-04-08 16:58:01 +00:00
florian
2d790e0158
* secondin bugfix (m68k and i386)
...
* overflow checking bugfix (m68k and i386) -- pretty useless in
secondadd, since everything is done using 32-bit
* loading pointer to routines hopefully fixed (m68k)
* flags problem with calls to RTL internal routines fixed (still strcmp
to fix) (m68k)
* #ELSE was still incorrect (didn't take care of the previous level)
* problem with filenames in the command line solved
* problem with mangledname solved
* linking name problem solved (was case insensitive)
* double id problem and potential crash solved
* stop after first error
* and=>test problem removed
* correct read for all float types
* 2 sigsegv fixes and a cosmetic fix for Internal Error
* push/pop is now correct optimized (=> mov (%esp),reg)
1998-03-28 23:09:53 +00:00
florian
01575ac687
- switch -Sa removed
...
- support of a:=b:=0 removed
1998-03-26 11:18:30 +00:00
root
d1a1f501c8
Initial revision
1998-03-25 11:18:12 +00:00