Commit Graph

382 Commits

Author SHA1 Message Date
peter
90fc8a53aa * auto derefence mode for array pointer (merged) 2000-08-20 15:12:49 +00:00
peter
7eaac1706d * splitted namedobjectitem.next into indexnext and listnext so it
can be used in both lists
  * don't allow "word = word" type definitions (merged)
2000-08-16 18:33:53 +00:00
florian
244fc53520 + support of 64 bit integer constants 2000-08-16 13:06:06 +00:00
peter
4549ef44e1 * merges from fixes 2000-08-04 22:00:50 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
peter
2ce33303a3 * support for inherited; only 2000-06-14 16:52:42 +00:00
pierre
7b1219536c + support for NOT overloading
+ unsupported overloaded operators generate errors
2000-06-05 20:41:17 +00:00
pierre
6433e1d8c2 tok2node moved to htypechk unit 2000-06-02 21:22:56 +00:00
peter
d75bbf8b73 * fixed crash with inherited with varsym/propsym 2000-03-23 15:56:59 +00:00
peter
797267fde1 * protected member check for classes works 2000-03-19 11:22:21 +00:00
pierre
e0cc4f9bed + oppower 2000-03-16 15:13:03 +00:00
pierre
34795ccd60 * - 1**4 = -1 fix 2000-03-14 15:50:19 +00:00
Jonas Maebe
0ab87d5ed8 * modifications to make the compiler functional when compiled with
-Or
2000-02-13 14:21:50 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
florian
6c3bbb7915 * corrected wrong error message of a member of a class/object/classref wasn't found 2000-01-19 22:41:58 +00:00
peter
99fe175be6 * added st_default stringtype
* genstringconstnode extended with stringtype parameter using st_default
    will do the old behaviour
2000-01-09 23:16:05 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
pierre
6d8f8ef3f9 * web bug769 fix 1999-12-20 21:24:29 +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
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
pierre
94f418dc11 + one field added for ttoken record for operator
linking the id to the corresponding operator token that
    can now now all be overloaded
  * overloaded operators are resetted to nil in InitSymtable
    (bug when trying to compile a uint that overloads operators twice)
1999-11-15 17:52:59 +00:00
peter
8cbc068314 * fixed crash with an errordef 1999-11-14 15:57:35 +00:00
florian
7265215469 * problem with "index X"-properties solved
* typed constants of class references are now allowed
1999-11-08 14:02:16 +00:00
florian
917bf5b071 * previous fix for 517 was imcomplete: there was a problem if the property
had only an index
1999-11-07 23:21:30 +00:00
florian
8b40781b6c * finally bug #517 solved ... 1999-11-07 23:16:49 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
338a386280 * fixed inherited with properties 1999-11-05 00:10:30 +00:00
peter
e0fe0916fd * check for object in extended new 1999-10-27 16:06:19 +00:00
peter
503d5a1cfa * const parameter is now checked
* better and generic check if a node can be used for assigning
  * export fixes
  * procvar equal works now (it never had worked at least from 0.99.8)
  * defcoll changed to linkedlist with pparaitem so it can easily be
    walked both directions
1999-10-26 12:30:40 +00:00
peter
8e7dd52200 * error when properties are passed to var parameters 1999-10-22 14:37:25 +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
6b2a0a3a5c * fixed result access in 'if result = XXX then'
* fixed const cr=chr(13)
1999-09-28 11:03:54 +00:00
peter
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
0f8f8e8ff4 * fix for pointer reading in const with @type.method 1999-09-27 11:59:42 +00:00
peter
2687d75c38 + constant pointer support which can happend with typecasting like
const p=pointer(1)
  * better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
florian
1c638f2952 * small fix to operator overloading when in MMX mode
+ the compiler uses now fldz and fld1 if possible
  + some fixes to floating point registers
  + some math. functions (arctan, ln, sin, cos, sqrt, sqr, pi) are now inlined
  * .... ???
1999-09-15 20:35:37 +00:00
peter
8a6774104d * fix crash with empty object as childs 1999-09-13 16:26:32 +00:00
florian
35eef74308 * bug fix for @tobject.method, fixes bug #557, 605 and 606 1999-09-11 19:47:26 +00:00
florian
1609dde2ca * fixed bug #596
* fixed some problems with procedure variables and procedures of object,
    especially in TP mode. Procedure of object doesn't apply only to classes,
    it is also allowed for objects !!
1999-09-11 09:08:31 +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
peter
7fd914d24c * @(<x>) support 1999-09-07 08:01:20 +00:00
peter
678aa200f1 * fixed crash with assigned() 1999-09-01 22:08:58 +00:00
peter
7b5e8ad618 * fixed property writeaccess which was buggy after my previous
subscribed property access
1999-08-15 22:47:45 +00:00
peter
8d9aa81d3a * hack to support property with record fields 1999-08-14 00:38:53 +00:00
peter
67e1069659 * fixed crash after wrong para's with class contrustor 1999-08-09 22:16:29 +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
florian
ab66749e27 * new(...)^. is now allowed 1999-08-04 13:49:45 +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
michael
eba7f7c4ed + Changes for alpha 1999-08-03 13:50:16 +00:00
florian
7e74642b02 * modifications for the new code generator 1999-08-01 18:28:09 +00:00
peter
538e677425 * fixed crash with unknown id and colon parameter in write 1999-07-30 12:28:40 +00:00
peter
30be2bf063 * indirect type referencing is now allowed 1999-07-27 23:42:10 +00:00
peter
62273909ca * fixed crash with resourcestring 1999-07-23 21:31:42 +00:00
peter
f380e3bd68 * error for illegal type reference, instead of 10998 1999-07-23 11:37:46 +00:00
florian
35f636dea1 + resourcestring implemented
+ start of longstring support
1999-07-22 09:37:28 +00:00
peter
45bf051885 * merged 1999-07-16 10:04:32 +00:00
florian
42f09e54ae * another fix for TP/Delphi styled procedure variables 1999-07-06 22:38:11 +00:00
peter
248826aa81 * removed temp defines 1999-07-05 20:13:06 +00:00
peter
e303022851 * merged 1999-07-01 21:33:57 +00:00
florian
cc8c629550 * two bugs regarding method variables fixed
- if you take in a method the address of another method
      don't need self anymore
    - if the class pointer was in a register, wrong code for a method
      variable load was generated
1999-06-30 15:43:18 +00:00
pierre
2083621f3e * mereg from fixes-0_99_12 branch 1999-06-26 00:24:53 +00:00
pierre
e8da115c3f * merged from 0_99_12 branch 1999-06-17 13:19:50 +00:00
peter
c36ae78617 * merged 1999-06-15 18:58:33 +00:00
peter
99395db696 * merged from fixes 1999-06-13 22:41:05 +00:00
pierre
5f05d07dcb * previous wrong log corrected 1999-06-02 22:43:57 +00:00
pierre
35777a48a1 types.pas 1999-06-02 22:25:22 +00:00
peter
94c276ce8d * better checks for procvar and methodpointer 1999-06-01 19:27:47 +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
e8bf496ae8 * containsself fixes
* checktypes()
1999-05-18 14:15:18 +00:00
peter
d4659125d9 * procedure of object and addrn fixes 1999-05-18 09:52:17 +00:00
peter
b9d655b118 * remove firstcallparan which looks obsolete 1999-05-16 17:06:31 +00:00
florian
d8307b9cd3 * override isn't allowed in objects! 1999-05-12 22:36:04 +00:00
florian
a62eb5e144 * first fix for a problem with method pointer properties, still doesn't work
with WITH
1999-05-07 10:35:20 +00:00
peter
9abbb34b34 * fixed crash 1999-05-06 21:40:16 +00:00
peter
8ba31512e1 * check for calln in handle_procvar 1999-05-06 10:13:20 +00:00
peter
1c96916943 * generic write_float and str_float
* fixed constant float conversions
1999-05-06 09:05:05 +00:00
florian
78d13ec796 * changes to compile it with Delphi 4.0 1999-05-04 21:44:30 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
49786e5fe5 * farpointerdef moved into pointerdef.is_far 1999-04-26 18:29:54 +00:00
peter
d2f717c9e0 * removed my property fix 1999-04-19 09:27:48 +00:00
peter
0869bc80e9 * class property without write support 1999-04-19 09:13:47 +00:00
florian
b6a9251cf3 * property problem fixed: a propertysym is only a write
access if it is followed by a assignment token
1999-04-19 06:10:08 +00:00
peter
dc1f9b5bbb * addr() internal 1999-04-17 13:10:23 +00:00
peter
10c57d43f3 * fixed property write 1999-04-15 09:00:08 +00:00
florian
982e083f76 * fixed problem with default properties which are a class
* case bug (from the mailing list with -O2) fixed, the
    distance of the case labels can be greater than the positive
    range of a longint => it is now a dword for fpc
1999-04-08 20:59:37 +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
peter
6a802e85d7 * released valintern
+ deffile is now removed when compiling is finished
  * ^( compiles now correct
  + static directive
  * shrd fixed
1999-03-26 00:05:26 +00:00
peter
d0cb5a147a * fixed bugs 212,222,225,227,229,231,233 1999-03-24 23:16:42 +00:00
Jonas Maebe
1e6d667c3b * changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
* in cgi386inl: also range checking for subrange types (compile with "-dreadrangecheck")
  * in cgai386: also small fixes to emitrangecheck
1999-03-16 17:52:52 +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
florian
a7179a75db * behaviaor of PROTECTED and PRIVATE fixed, works now like TP/Delphi 1999-02-22 15:09:39 +00:00
peter
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +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
3134c9352e * small fix for method pointers
* found the annoying strpas bug, mainly nested call to type cast which
    use ansistrings crash
1999-01-28 14:06:45 +00:00
florian
ccd94e19cc * "procedure of object"-stuff fixed 1999-01-27 00:13:52 +00:00
pierre
0cfc4c8f6b * fix for constructor inside with statements 1999-01-21 16:40:51 +00:00
peter
6ee9d913cd + farpointer type
* absolutesym now also stores if its far
1998-12-30 22:15:45 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
florian
df1edc9bc0 * some stuff for procedures of object added
* bug with overridden virtual constructors fixed (reported by Italo Gomes)
1998-12-04 10:18:06 +00:00
peter
a41f61713d + open strings, $P switch support 1998-11-27 14:50:30 +00:00
pierre
4201ea4903 * var:=new(pointer_type) support added 1998-11-25 19:12:51 +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
peter
de4cf49059 * ansistring fixes 1998-11-04 10:11:36 +00:00
peter
e659040083 * fixed filedef for typenodetype 1998-10-22 23:57:29 +00:00
pierre
6c1766feed * bug fix for IOCHECK inside a procedure with iocheck modifier
* removed the GPF for unexistant overloading
    (firstcall was called with procedinition=nil !)
  * changed typen to what Florian proposed
    gentypenode(p : pdef) sets the typenodetype field
    and resulttype is only set if inside bt_type block !
1998-10-21 15:12:49 +00:00
pierre
4494bfafb6 * type ptree only allowed inside expression
if following sizeof typeof low high or as first arg of new !!
1998-10-20 15:10:15 +00:00
pierre
136cf23427 * calling of private method allowed inside child object method 1998-10-20 11:15:44 +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
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
9ec2dfaf4a + added tai_const_symbol_offset
for r : pointer = @var.field;
  * better message for different arg names on implementation
    of function
1998-10-12 12:20:37 +00:00
florian
8cc7f2636e + auto dereferencing of pointers to structured types in delphi mode 1998-10-12 10:28:30 +00:00
peter
e3dedeb4b2 * fixed mem leak with arrayconstrutor 1998-10-12 10:05:41 +00:00
peter
166faa64f6 * crash preventions 1998-10-05 13:57:13 +00:00
peter
369e79adf9 + assert() support 1998-10-05 12:32:44 +00:00
peter
630d8ea8d2 * crash preventions 1998-10-01 14:56:24 +00:00
florian
2cd812215b * better error recovering 1998-09-30 07:40:33 +00:00
florian
70920974de * two fixes to get ansi strings work 1998-09-28 16:18:16 +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
7ff17144f4 * problem with with and classes fixed 1998-09-23 15:46:36 +00:00
peter
a3fbac27af * first working array of const things 1998-09-23 09:58:48 +00:00
florian
31ec3c428f * hasharray for defs fixed
* ansistring code generation corrected (init/final, assignement)
1998-09-20 09:38:45 +00:00
florian
af83d90357 * some changes to compile with Delphi 1998-09-18 16:03:37 +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
peter
cba20a515a * fixed str(boolean,string) which was allowed
* fixed write(' ':<int expression>) only constants where allowed :(
1998-09-07 22:25:48 +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
peter
58c2d999f0 * updated some error messages 1998-09-04 08:41:36 +00:00
peter
d66124cb2f + internal constant functions 1998-09-01 17:39:46 +00:00
peter
5c013220a3 * fixed smallset generation from elements, it has never worked before! 1998-08-28 10:54:18 +00:00
florian
c1c5ec3235 * internalerror with mod/div fixed 1998-08-23 16:07:20 +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
pierre
d72ca253fe * bug for -So proc assignment to p^rocvar fixed 1998-08-18 16:48:48 +00:00
pierre
6a556346ed * bug about assigning the return value of a function to
a procvar fixed : warning
    assigning a proc to a procvar need @ in FPC mode !!
  * missing file/line info restored
1998-08-18 14:17:08 +00:00
pierre
2222aab027 * small warning position bug fixed
* support_mmx switches splitting was missing
  * rhide error and warning output corrected
1998-08-18 09:24:35 +00:00
peter
49e9cc95b0 * fixed proc()=expr which was not allowed anymore by my previous fix 1998-08-15 16:50:29 +00:00
peter
fb1bcf7724 + dynamic set contruction
* smallsets are now working (always longint size)
1998-08-14 18:18:37 +00:00
peter
1a6ee8d4f3 * fixed procedure<>procedure construct 1998-08-13 11:00:09 +00:00
peter
befed16714 * write extended to ppu file
* new version 0.99.7
1998-08-11 15:31:35 +00:00
peter
d5e1886c8c * fixed sizeof(array of char) 1998-08-11 14:05:32 +00:00
peter
85c8a88cbe + localswitches, moduleswitches, globalswitches splitting 1998-08-10 14:49:33 +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
4ac8e5d18f + internal inc/dec 1998-06-25 14:04:17 +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
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
7b28ebd6ef * symtable.pas splitted into includefiles
* symtable adapted for $ifdef NEWPPU
1998-05-27 19:45:02 +00:00
pierre
804a6a36dc * bug fix for empty sets (nil pd was dereferenced ) 1998-05-26 07:53:59 +00:00
pierre
af65f86213 * firstpasscount bug fixed
now all is already set correctly the first time
    under EXTDEBUG try -gp to skip all other firstpasses
    it works !!
  * small bug fixes
    - for smallsets with -dTESTSMALLSET
    - some warnings removed (by correcting code !)
1998-05-25 17:11:36 +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
carl
ed8a63512c * crash bugfix (patched msanually to main branch) 1998-05-22 12:37:03 +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
f0daa16b41 * problem with DOM solved: it crashes when accessing a property in a method 1998-05-04 11:22:26 +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
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
c5932b0677 + exclude/include with constant second parameter added 1998-04-14 23:27:02 +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
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
pierre
c937f63b10 * bugfixes for reset_gdb_info
in MEM parsing for go32v2
    better external symbol creation
    support for rhgdb.exe (lowercase file names)
1998-04-07 13:19:42 +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