Commit Graph

257 Commits

Author SHA1 Message Date
carl
4532dbd680 * updated notes and hints 2002-11-27 19:43:21 +00:00
carl
fdbae45a2c + hint for in operator with non byte sized operand 2002-11-26 21:52:37 +00:00
carl
b844e3e32b * several mistakes fixed in message files 2002-11-25 21:05:51 +00:00
carl
6a52e7a9e5 - removed the invalid if <> checking (Delphi is strange on this)
+ implemented abstract warning on instance creation of class with
    abstract methods.
 * some error message cleanups
2002-11-25 18:43:31 +00:00
carl
60d17dbc01 * some small speed optimizations
+ added several new warnings/hints
2002-11-23 22:50:04 +00:00
carl
64655be168 * memory optimization (3-4%) : cleanup of tai fields,
cleanup of tdef and tsym fields.
  * make it work for m68k
2002-11-17 16:31:55 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
carl
5373203246 + compile-time range checking for strings 2002-10-03 21:26:08 +00:00
peter
1258411f72 * moved comments about default parameters to msg file 2002-09-09 19:40:20 +00:00
carl
65988f5c09 * PPU checking errors for fpu emulation 2002-08-15 15:12:34 +00:00
florian
030eae46de * a couple of interface related fixes 2002-08-09 07:33:01 +00:00
florian
4f7b35be5b + source code page support 2002-07-20 17:11:48 +00:00
Jonas Maebe
6b01278234 * fixed bug #1985 2002-06-10 13:41:26 +00:00
peter
4dcd96747e * moved entry and exitcode to ncgutil and cgobj
* foreach gets extra argument for passing local data to the
    iterator function
  * -CR checks also class typecasts at runtime by changing them
    into as
  * fixed compiler to cycle with the -CR option
  * fixed stabs with elf writer, finally the global variables can
    be watched
  * removed a lot of routines from cga unit and replaced them by
    calls to cgobj
  * u32bit-s32bit updates for and,or,xor nodes. When one element is
    u32bit then the other is typecasted also to u32bit without giving
    a rangecheck warning/error.
  * fixed pascal calling method with reversing also the high tree in
    the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
peter
2dcf2ee940 * give error when using enums with jumps as array index
* allow char as enum value
2002-04-16 16:12:47 +00:00
peter
3bcfe33002 * fixed stackcheck that would be called recursively when a stack
error was found
  * generic changeregsize(reg,size) for i386 register resizing
  * removed some more routines from cga unit
  * fixed returnvalue handling
  * fixed default stacksize of linux and go32v2, 8kb was a bit small :-)
2002-04-15 19:44:18 +00:00
carl
c15b93444a + added missing options 2002-04-14 13:05:26 +00:00
carl
eb09d6061c - remove go32v1 support 2002-03-28 20:46:44 +00:00
peter
bd6dcff932 * fixed Message4() 2002-03-01 12:41:40 +00:00
peter
9b385a2ab7 * regenated 2002-02-28 21:30:32 +00:00
Jonas Maebe
d117d71141 * typed constants that are "procedure of object" and which are assigned
nil require 8 bytes of "0" (not 4)
  * fixed web bug #1655 (reject the code)
2001-10-29 14:59:48 +00:00
peter
e37dbf904d * calling convention rewrite 2001-10-25 21:22:32 +00:00
peter
5f98096685 * give error with string constants longer than 255 chars, this is
compatible with kylix
2001-10-22 19:55:44 +00:00
peter
cb06c9bcb8 * array access for properties added 2001-10-21 12:33:05 +00:00
peter
17d6dded66 * interface 2 guid support
* guid constants support
2001-10-20 19:28:37 +00:00
Jonas Maebe
588c9858e0 * changed error message for explicit self parameter (it's allowed again
for normal procedures) (merged)
2001-10-01 13:54:55 +00:00
peter
45dab81414 * merged netbsd, fpu-overflow from fixes branch 2001-09-17 21:29:10 +00:00
Jonas Maebe
6a15178f0f * fixed web bug #1593
* writing of procvar headers is more complete (mention var/const/out for
    paras, add "of object" if applicable)
  + error if declaring explicit self para as var/const
  * fixed mangled name of procedures which contain an explicit self para
  * parsing para's should be slightly faster because mangled name of
    procedure is only updated once instead of after parsing each para
    (all merged from fixes)
2001-09-10 10:26:26 +00:00
peter
eb92d4bdd6 * check for size differences in typecasts when assigning 2001-09-02 21:13:31 +00:00
peter
ce43e79517 * detect duplicate labels 2001-08-30 19:43:50 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
634a68bf3e * merged netbsd start
* profile for win32
2001-08-07 18:47:12 +00:00
peter
e24474d9ac * -Ur switch (merged)
* masm fixes (merged)
  * quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
peter
e652444594 + varargs directive 2001-06-04 11:53:12 +00:00
Jonas Maebe
34ef6cd933 + detect incomplete typed constant records 2001-05-06 17:15:00 +00:00
peter
79b1b63dcb * give error with local external procedure 2001-04-13 18:03:15 +00:00
peter
e49f13a393 * press enter moved to errore.msg 2001-03-05 21:50:28 +00:00
peter
684970ea22 * merged generic m68k updates from fixes branch 2001-02-26 19:44:52 +00:00
peter
18a87e23d4 * new messages merged 2001-02-20 21:49:18 +00:00
Tomas Hajny
577ebe46a5 * mistyping correction (assemler) 2001-02-04 01:42:00 +00:00
Tomas Hajny
ee51dcc980 + APPTYPE support under OS/2, app_fs, GetEnvPChar for OS/2 2001-01-20 18:32:52 +00:00
peter
be95b0758b * object to class conversion
* more verbosity for -vt and -vd
  * -i options can be put after eachother so the Makefiles only need
    to call fpc once for all info (will be twice as the first one will
    be to check the version if fpc supports multiple info)
2000-12-23 19:46:49 +00:00
Jonas Maebe
12371eaa07 + warning when there is a chance to get a range check error because of
automatic type conversion to u32bit
2000-12-16 15:54:52 +00:00
Jonas Maebe
585b5f2e00 * fixed web bug #1144
+ implemented range checking for 64bit types
2000-12-11 19:10:19 +00:00
florian
ad8ccd0c0e *** empty log message *** 2000-11-19 16:23:06 +00:00
florian
e24f3f300e *** empty log message *** 2000-11-17 08:20:19 +00:00
florian
51527ba1c9 + merged Attila's changes for interfaces, not tested yet 2000-11-04 14:25:19 +00:00
Jonas Maebe
a4fde73649 + register renaming ("fixes" bug1088)
* changed command line options meanings for optimizer:
      O2 now means peepholopts, CSE and register renaming in 1 pass
      O3 is the same, but repeated until no further optimizations are
        possible or until 5 passes have been done (to avoid endless loops)
  * changed aopt386 so it does this looping
  * added some procedures from csopt386 to the interface because they're
    used by rropt386 as well
  * some changes to csopt386 and daopt386 so that newly added instructions
    by the CSE get optimizer info (they were simply skipped previously),
    this fixes some bugs
2000-10-24 10:40:52 +00:00
peter
4bd9325ae6 * more quotes 2000-10-15 09:07:41 +00:00
Jonas Maebe
c1e14ef033 * fixed another range check error (merged from fixes branch) 2000-10-09 14:54:27 +00:00
peter
092352b0fd * merged @result fix from Pierre 2000-10-08 10:26:33 +00:00
Jonas Maebe
45d4e0202a * fixed dupplicate message numbers (from Pierre's fix in the fixes
branch)
2000-09-28 09:10:47 +00:00
peter
24fc983597 * message updates merges 2000-09-24 21:33:46 +00:00
florian
9c18ccb6e2 + netware target added 2000-09-11 17:12:29 +00:00
peter
c21d6d6871 * give fatal if objfpc/delphi mode things are found (merged) 2000-08-20 14:58:41 +00:00
peter
cb4de797c1 * class member decl wrong then no other error after it
* -vb has now also line numbering
  * -vb is also used for interface/implementation different decls and
    doesn't list the current function (merged)
2000-08-13 12:54:53 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
peter
957d4cdc89 * new message files layout with msg numbers (but still no code to
show the number on the screen)
2000-06-30 20:23:33 +00:00
Tomas Hajny
c790e4afbe + $R support for OS/2 (EMX) added 2000-06-25 19:08:27 +00:00
pierre
a64310a252 + new warning for C packed records 2000-06-23 21:33:25 +00:00
peter
2b1d92cb5c * no binary value reading with % if not fpc mode
* extended illegal char message with the char itself (Delphi like)
2000-06-18 18:05:54 +00:00
peter
11e4a9a22d * added need_dollar msg 2000-06-14 19:04:09 +00:00
pierre
ef8abc1dd7 * operator overloading now uses isbinaryoperatoracceptable
and is unaryoperatoracceptable
2000-06-02 21:24:46 +00:00
peter
535f63923c * fixed % parsing and added modulo support
* changed some evaulator errors to more generic illegal expresion
2000-05-26 18:23:09 +00:00
pierre
947fa03cb0 + check of compatibility between selected assembler
output and target OS
2000-05-23 21:28:19 +00:00
pierre
d299af0815 + add a warning if using ENTER instruction with linux target 2000-05-17 11:08:24 +00:00
pierre
18073d8424 + FADD to FADDP conversion warning
+ MsgCrcValue added to msgidx.inc file
2000-05-15 14:02:31 +00:00
pierre
e0328653f1 + add a warning if a const string is longer than the
length of the string type
2000-05-11 09:15:12 +00:00
pierre
cd93ae3564 * some new messages 2000-05-09 10:58:09 +00:00
pierre
9560f264a3 + sym_n_unit_not_used 2000-04-26 07:32:02 +00:00
florian
3f9126f999 * fixed bug #903: the compiler gives now a nice message if it can't create
the .o file, (same for future .ar)
2000-04-02 15:22:17 +00:00
pierre
482820110c + add a warning if esi is base and index in object assembler code 2000-03-28 22:11:46 +00:00
pierre
9c44048ad2 + add error if trying to use readln or writeln for files
or read or write on untyped files.
    Reset and rewrite are still incompatible with BP
    (reset(dat,1); is allowed for typed file !)
2000-03-27 09:42:48 +00:00
pierre
0f4e1e10e0 * fix for bug #807 2000-03-16 16:41:11 +00:00
pierre
4177d64781 * fix for bug #848 (that still genrated wrong code)
+ better testing for variables used in assembler
    (gives an error if variable is not directly reachable !)
2000-03-15 23:09:58 +00:00
michael
34c8f49271 + Added switch to swicth on assertions. 2000-03-13 20:15:08 +00:00
peter
85087cf8c2 * -gl option added 2000-02-07 12:19:26 +00:00
florian
f6f3a1a039 *** empty log message *** 2000-02-06 17:17:03 +00:00
peter
0d63b79f38 * helpscreen updates 2000-01-27 09:58:59 +00:00
pierre
da01d99789 * Range check for int64 produces a warning only 2000-01-25 08:46:03 +00:00
pierre
99d8f90aec + some warnings for wrong lines inside config files 2000-01-14 14:33:53 +00:00
florian
89ccc81c2b + added compiler switch $maxfpuregisters
+ fixed a small problem in secondvecn
2000-01-04 15:15:50 +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
pierre
bed6bb6b2a + $description $version 1999-12-20 23:23:28 +00:00
florian
577edbbd3f + compiler checks now if a goto leaves an exception block 1999-12-14 09:58:41 +00:00
pierre
5169b7b86b + allow use of unit var in exports of DLL for win32
by using direct export writing by default instead of use of DEFFILE
    that does not allow assembler labels that do not
    start with an underscore.
    Use -WD to force use of Deffile for Win32 DLL
1999-12-08 10:39:59 +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
604766601d * Pavel's changes for reloc section in executable
+ warning that -g needs -WN under win32
1999-11-15 15:03:46 +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
florian
0dd2b51943 * problems with readln fixed: esi wasn't restored correctly when
reading ordinal fields of objects futher the register allocation
    didn't take care of the extra register when reading ordinal values
  * enumerations can now be used in constant indexes of properties
1999-10-21 16:41:37 +00:00
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
florian
8b9633266b * new codegenerator compiles again 1999-10-12 21:20:41 +00:00
peter
532d85cd50 + procedure directive support in const declarations, fixes bug #232 1999-10-01 10:05:37 +00:00
peter
71f28ed588 * cs_create_smart instead of cs_smartlink
* -CX is create smartlink
  * -CD is create dynamic, but does nothing atm.
1999-09-20 16:38:51 +00:00
peter
7f63615b43 * @procvar fixes for tp mode
* @<id>:= gives now an error
1999-09-17 17:14:02 +00:00
peter
64dcafcf80 * updated 1999-09-16 13:35:56 +00:00
florian
863df30860 + rtti is now automatically generated for published classes, i.e.
they are handled like an implicit property
1999-09-15 22:09:15 +00:00