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