Commit Graph

504 Commits

Author SHA1 Message Date
peter
d0cb5a147a * fixed bugs 212,222,225,227,229,231,233 1999-03-24 23:16:42 +00:00
florian
706eedfedd * typecanbeforward wasn't always restored in object_dec which
sometimes caused strange effects
1999-03-22 22:10:25 +00:00
pierre
74719d1acf * bug0198 : call conventions for methods
not yet implemented is the control of same calling convention
    for virtual and child's virtual
  * msgstr and msgint only created if message was found
    who implemented this by the way ?
    it leaks lots of plabels !!!! (check with heaptrc !)
1999-03-05 01:14:23 +00:00
peter
c8f444b65f * ag386bin updates
+ coff writer
1999-02-25 21:02:16 +00:00
peter
e25d934e2f * small updates for ag386bin 1999-02-24 00:59:11 +00:00
florian
204c81bd98 + message directive for integers added 1999-02-22 23:33:29 +00:00
florian
3c576cce7d + first implementation of message keyword 1999-02-22 20:13:32 +00:00
peter
5befcfad1e * ag386bin doesn't use i386.pas anymore 1999-02-22 02:44:07 +00:00
pierre
696db29f84 * Reference specific bug in recompiling unit solved 1999-02-17 14:20:40 +00:00
peter
ad379bc2dd * fixed crash with forward declared class of ... 1999-01-25 20:13:48 +00:00
peter
fbfdeee09e * fixed constant strings > 255 chars 1999-01-19 12:17:00 +00:00
peter
f67fb1b0eb * error if upper<lower in array decl 1999-01-15 13:08:19 +00:00
peter
f8f66faad4 * fixed forwardpointer problem with multiple forwards for the same
typesym. It now uses a linkedlist instead of a single pointer
1999-01-14 21:49:58 +00:00
peter
6ee9d913cd + farpointer type
* absolutesym now also stores if its far
1998-12-30 22:15:45 +00:00
peter
c7230805a2 * fixed const s : ^string
* first things for const pchar : @string[1]
1998-12-15 17:16:00 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
pierre
a1f1003555 * some range check bugs fixed (still not working !)
+ added DLL writing support for win32 (also accepts variables)
  + TempAnsi for code that could be used for Temporary ansi strings
    handling
1998-11-30 09:42:52 +00:00
peter
6df97708c1 * check for constants with array decl 1998-11-29 12:42:24 +00:00
peter
b4045fe57e + support for dll variables 1998-11-28 16:20:48 +00:00
peter
162124d10c * give error when string[0] decl is found 1998-11-27 14:34:41 +00:00
peter
dabc19f0ff * H+ fixes 1998-11-17 10:40:15 +00:00
pierre
93620d84dd * stackcheck removed for i386_win32
* exportlist does not crash at least !!
    (was need for tests dir !)z
1998-11-16 11:28:57 +00:00
peter
59c75c7410 * fixes for ansistrings 1998-11-16 10:18:07 +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
peter
fdb8d828a6 + nil constants 1998-11-13 10:18:09 +00:00
peter
3037445491 * released useansistring
* removed -Sv, its now available in fpc modes
1998-11-05 12:02:30 +00:00
pierre
1dfbb756e9 * classes get a vmt allways
* better error info (tried to remove
    several error strings introduced by the tpexcept handling)
1998-10-27 13:45:25 +00:00
florian
eadcc6ad1a * new introduded problem with classes fix, the parent class wasn't set
correct, if the class was defined forward before
1998-10-26 22:58:16 +00:00
peter
c65b618cfb * procvar parsing updated just like psub.pas routine 1998-10-25 23:31:18 +00:00
florian
d666ac848e + ansistring operator +
+ $h and string[n] for n>255 added
  * small problem with TP fixed
1998-10-21 08:39:56 +00:00
peter
309ac0b4cb * fixed object(unknown) crash 1998-10-20 13:09:13 +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
pierre
6b1fd26b42 * added vmt_offsets in destructors code also !!!
* vmt_offset code for m68k
1998-10-16 13:12:46 +00:00
pierre
d91210671d + added oo_hasconstructor and oo_hasdestructor
for objects options
1998-10-15 15:13:25 +00:00
peter
1468993242 * new style for m68k/i386 infos and enums 1998-10-13 13:10:08 +00:00
pierre
1b303e7447 * typo error for propertyparas dispose corrected 1998-10-09 12:07:49 +00:00
pierre
4073682c64 * still more memory leaks fixes !! 1998-10-09 11:47:45 +00:00
peter
47c808f95a * fixed memory leaks for do nothing source
* fixed unit interdependency
1998-10-08 13:48:40 +00:00
peter
3176cb83db * fixed set of bugs. like set of false..true set of #1..#255 and
set of #1..true which was allowed
1998-10-06 20:43:30 +00:00
peter
fb43998d8c * commited the wrong file :( 1998-10-05 22:43:35 +00:00
peter
4f0915d6e1 * fixed 161,165,166,167,168 1998-10-05 21:33:15 +00:00
peter
166faa64f6 * crash preventions 1998-10-05 13:57:13 +00:00
peter
c5039c8527 * better error message for unresolved forward types 1998-10-02 17:05:58 +00:00
peter
b56098e7e3 * fixed error msg with type l=<var>
* block_type bt_const is now set in read_const_dec
1998-10-02 09:23:24 +00:00
florian
2cd812215b * better error recovering 1998-09-30 07:40:33 +00:00
peter
d4ac5e456b + idtoken and only one token table 1998-09-26 17:45:30 +00:00
florian
16af381be8 * problems when calling class methods fixed 1998-09-25 00:04:00 +00:00
peter
8e85a889de + aktmodeswitches 1998-09-24 23:49:05 +00:00
pierre
9589f619d7 * browser bugfixes
was adding a reference when looking for the symbol
    if -bSYM_NAME was used
1998-09-23 15:38:59 +00:00
daniel
13fa23a76e * Memory leak fixed. 1998-09-21 13:24:44 +00:00
pierre
8aa4df4046 sizeof(TPOINT) problem 1998-09-17 13:41:16 +00:00
pierre
06104cdb46 * forward def are not put in record or objects
+ added check for forwards also in record and objects
  * dummy parasymtable for unit initialization removed from
  symtable stack
1998-09-09 11:50:52 +00:00
florian
29fe330347 * a lot of stuff fixed regarding rtti and publishing of properties,
basics should now work
1998-09-07 23:10:17 +00:00
florian
26dbc1a7ba + some stuff for property rtti added:
- NameIndex of the TPropInfo record is now written correctly
     - the DEFAULT/NODEFAULT keyword is supported now
     - the default value and the storedsym/def are now written to
       the PPU fiel
1998-09-07 19:33:20 +00:00
peter
12a80cf3dc * update smartlinking, uses getdatalabel
* renamed ptree.value vars to value_str,value_real,value_set
1998-09-07 18:45:52 +00:00
florian
e7f5a26700 * first fixes for published properties 1998-09-07 17:37:00 +00:00
peter
58c2d999f0 * updated some error messages 1998-09-04 08:41:36 +00:00
florian
66f6852b96 + rtti generation
* init table generation changed
1998-09-03 16:03:14 +00:00
peter
d66124cb2f + internal constant functions 1998-09-01 17:39:46 +00:00
peter
a705ddb599 * fixed array_dec when unknown type was used 1998-08-31 12:20:28 +00:00
peter
19c63e360f * removed warnings 1998-08-28 10:56:56 +00:00
pierre
27c439c940 * corrected mangling sheme :
cvar add Cprefix to the mixed case name whereas
    export or public use direct name
1998-08-25 13:09:25 +00:00
pierre
b94116497c * CDECL changed to CVAR for variables
specifications are read in structures also
  + started adding GPC compatibility mode ( option  -Sp)
  * names changed to lowercase
1998-08-25 12:42:36 +00:00
florian
544b4099f7 + rtti generation for classes added
+ new/dispose do now also a call to INITIALIZE/FINALIZE, if necessaray
1998-08-23 21:04:34 +00:00
pierre
a5e988f4d4 * more cdecl chagnes
- better line info
    - changes the definition options of a procvar
      if it is a unnamed type
1998-08-21 15:48:58 +00:00
peter
35c6030a1b + subrange types for enums
+ checking for bounds type with ranges
1998-08-19 00:42:39 +00:00
peter
2f9143310e + public is the same as export for c_vars
* a exported/public c_var incs now the refcount
1998-08-12 19:20:39 +00:00
peter
befed16714 * write extended to ppu file
* new version 0.99.7
1998-08-11 15:31:35 +00:00
peter
85c8a88cbe + localswitches, moduleswitches, globalswitches splitting 1998-08-10 14:49:33 +00:00
florian
9af86a2bf0 + better support for switch $H
+ index access to ansi strings added
 + assigment of data (records/arrays) containing ansi strings
1998-07-26 21:58:57 +00:00
florian
e770d0b0d2 * hex constants in numeric char (#$54#$43 ...) are now allowed
* there was a bug in record_var_dec which prevents the used
    of nested variant records (for example drivers.tevent of tv)
1998-07-20 22:17:15 +00:00
florian
ce8b39ae1f + ansi string constants fixed
+ switch $H partial implemented
1998-07-18 17:11:07 +00:00
peter
c9715847f6 * updated messages file 1998-07-14 21:46:38 +00:00
peter
1bffd4e290 * released NEWINPUT 1998-07-14 14:46:36 +00:00
peter
5e5e2fd78d * fixed ttypesym bug finally
* fileinfo in the symtable and better using for unused vars
1998-07-09 23:59:59 +00:00
peter
4ac8e5d18f + internal inc/dec 1998-06-25 14:04:17 +00:00
peter
3ea08ab259 * stricter var parsing like tp7 and some optimizes with directive
parsing
1998-06-24 12:26:45 +00:00
pierre
c248434392 * external name 'C_var';
export name 'intern_C_var';
    cdecl;
    cdecl;external;
    are now supported only with -Sv switch
1998-06-12 16:15:34 +00:00
pierre
390fc9063d * column problem hopefully solved
+ C vars declaration changed
1998-06-12 10:32:22 +00:00
pierre
5ad339b3d8 + added procedure directive parsing for procvars
(accepted are popstack cdecl and pascal)
  + added C vars with the following syntax
    var C calias 'true_c_name';(can be followed by external)
    reason is that you must add the Cprefix

    which is target dependent
1998-06-09 16:01:33 +00:00
pierre
1a44be1502 * fixes for inline for operators
* inline procedure more correctly restricted
1998-06-05 14:37:27 +00:00
peter
f66f837fc8 * m68k compiles
+ .def file creation moved to gendef.pas so it could also be used
    for win32
1998-06-04 23:51:26 +00:00
peter
d6268ae22f + wordbool,longbool
* rename bis,von -> high,low
  * moved some systemunit loading/creating to psystem.pas
1998-06-03 22:48:50 +00:00
florian
75f7938e27 * problem with sizes of classes fixed (if the anchestor was declared
forward, the compiler doesn't update the child classes size)
1998-06-03 22:14:16 +00:00
peter
f793c53486 * nicer error message when no id is used after var 1998-05-28 14:35:54 +00:00
peter
b3865ae063 + aktasmmode, aktoptprocessor, aktoutputformat
+ smartlink per module $SMARTLINK-/+ (like MMX) and moved to aktswitches
  + $LIBNAME to set the library name where the unit will be put in
  * splitted cgi386 a bit (codeseg to large for bp7)
  * nasm, tasm works again. nasm moved to ag386nsm.pas
1998-05-23 01:20:53 +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
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
258d6968af + correct semantics of private and protected
* small fix in variable scope:
     a id can be used in a parameter list of a method, even it is used in
     an anchestor class as field id
1998-05-01 09:01:20 +00:00
florian
f700edae4d + basics for rtti implemented
+ switch $m (generate rtti for published sections)
1998-05-01 07:43:52 +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
florian
f956607284 * make it compilable with TP
+ small COM problems solved to compile classes.pp
1998-04-28 11:45:52 +00:00
peter
6fd535b87d + new scanner
* $makelib -> if smartlink
  * small filename fixes pmodule.setfilename
  * moved import from files.pas -> import.pas
1998-04-27 23:10:27 +00:00
florian
fd860db6c6 + some stuff to support method pointers (procedure of object) added
(declaration, parameter handling)
1998-04-10 21:36:55 +00:00
florian
768499730d * more fixes to get classes.pas compiled 1998-04-10 15:39:47 +00:00
florian
9c5d07fbba * small problems solved to get remake3 work 1998-04-09 23:02:14 +00:00
florian
50cbe1751e * problem with previous REGALLOC solved
* improved property support
1998-04-09 22:16:33 +00:00
florian
41301b806d * problem with new expr_type solved 1998-04-08 14:59:20 +00:00
florian
1d8165e4bc * correct error handling of virtual constructors
* problem with new type declaration handling fixed
1998-04-08 10:26:07 +00:00
florian
bc2d9f0a3f * bug0092, bug0115 and bug0121 fixed
+ packed object/class/array
1998-04-07 22:45:03 +00:00
peter
8b105d9697 * fixed the -Ss bug
+ warning for Virtual constructors
  * helppages updated with -TGO32V1
1998-04-05 13:58:35 +00:00
root
d1a1f501c8 Initial revision 1998-03-25 11:18:12 +00:00