florian
ad7e261a04
* forbid to take the address of a label defined outside of the current procedure
...
git-svn-id: trunk@5974 -
2007-01-14 19:21:37 +00:00
Jonas Maebe
c0eb91ffc8
* fixed error message for trying to assign to formal parameters and
...
to open arrays (mantis #8111 )
git-svn-id: trunk@5950 -
2007-01-13 18:20:06 +00:00
florian
76dc5ab588
+ support of -fPIC (is equivalent to -Cg) so people won't be confused if ld tells them to recompile their code with -fPIC
...
git-svn-id: trunk@5934 -
2007-01-12 22:27:20 +00:00
Jonas Maebe
4003047c42
* recommanded -> recommended
...
git-svn-id: trunk@5846 -
2007-01-08 13:38:35 +00:00
florian
2ccba3604c
* fixed generation of constants containing a vmt
...
* better error message if such a construct is used in fpc where it isn't allowed
git-svn-id: trunk@5838 -
2007-01-07 10:39:06 +00:00
Jonas Maebe
efd1e86418
* give a verbose fatal error instead of an internalerror when a required
...
system unit type is not found
git-svn-id: trunk@5820 -
2007-01-05 19:43:28 +00:00
florian
a2ec2e72b6
* better hint about abstract methods (fixes 5098)
...
+ code generation for invoking dispinterface methods
* small dispinterface problems fixed
git-svn-id: trunk@5798 -
2007-01-03 19:14:31 +00:00
florian
c4d96ec538
* only non generic types can be used when specializing generics, fixes 7735
...
git-svn-id: trunk@5754 -
2006-12-30 21:51:24 +00:00
pierre
fc66d46beb
+ added several warnings about use of references
...
involving (%ebp) or (%esp) in assembler code.
Useful to track code that might suffer from regcall
convention.
git-svn-id: trunk@5736 -
2006-12-29 09:37:15 +00:00
Jonas Maebe
f308bfb45c
* fixed mantis 6686 ("function a;" without prior definition of "a"
...
accepted in Delphi mode + extra test case where something similar
has to succeed)
git-svn-id: trunk@5698 -
2006-12-24 10:48:49 +00:00
tom_at_work
949aa60805
* DWARF debug lineinfo reader
...
git-svn-id: trunk@5632 -
2006-12-17 23:11:25 +00:00
Jonas Maebe
9e60d6791d
* show name of procedure/function called with too few parameters
...
git-svn-id: trunk@5522 -
2006-12-01 20:15:57 +00:00
florian
d47dc38f2c
* ignore PIC directive on windows and warn about it
...
git-svn-id: trunk@5479 -
2006-11-25 22:58:52 +00:00
florian
43ba7cfe6f
* correct name of set packing directive is PACKSET
...
git-svn-id: trunk@5313 -
2006-11-10 19:56:19 +00:00
florian
667baf433d
+ new switch -CPSETALLOC=<y> to influence set sizes
...
git-svn-id: trunk@5299 -
2006-11-09 20:41:33 +00:00
florian
c947295cb8
+ ttertiarynode
...
* traise node refactored using tertiarynode
* more dipatch stuff
git-svn-id: trunk@5215 -
2006-11-03 23:03:31 +00:00
florian
4c76107b98
* limited generics to records, classes, objects and interfaces
...
git-svn-id: trunk@5171 -
2006-11-02 09:48:17 +00:00
florian
1275e7d109
* forbid usage of TYPE and VAR inside of common classes/objects
...
git-svn-id: trunk@5170 -
2006-11-02 09:12:59 +00:00
Jonas Maebe
36c6879581
+ -Sx command line switch to turn on exception keywords in non-Delphi/ObjFPC
...
modes (mainly for MacPas, to replace nested gotos with exceptions)
git-svn-id: trunk@4984 -
2006-10-20 12:54:47 +00:00
florian
9a1b9071a5
* implemented kylix like local directive, fixes #7242
...
git-svn-id: trunk@4982 -
2006-10-19 20:26:14 +00:00
Jonas Maebe
593f74d155
+ full support for varargs-related functionality for "mwpascal; external;"
...
functions
git-svn-id: trunk@4910 -
2006-10-14 17:56:42 +00:00
micha
dfd3b2503e
add message for {$T+} unportability
...
git-svn-id: trunk@4821 -
2006-10-07 19:21:32 +00:00
micha
a3c1250cd3
do not search for sources of released ppu files
...
git-svn-id: trunk@4818 -
2006-10-07 09:45:40 +00:00
peter
5de217f04c
* movzx reference size fallback to byte for delphi mode
...
git-svn-id: trunk@4768 -
2006-10-02 17:33:52 +00:00
florian
d4fa2100ce
* message files regenerated
...
git-svn-id: trunk@4739 -
2006-09-27 12:00:43 +00:00
florian
569c4871fc
+ first batch of varset support, as long as packset isn't changed, it doesn't change anything
...
git-svn-id: trunk@4710 -
2006-09-24 14:40:11 +00:00
Jonas Maebe
3a54183ce8
* clarified errors regarding invalid uses of packed array/record fields
...
git-svn-id: trunk@4577 -
2006-09-09 08:17:37 +00:00
peter
d1e7a68289
* include para number in call by var error
...
git-svn-id: trunk@4557 -
2006-09-04 21:14:22 +00:00
Jonas Maebe
1f42ee201b
+ support for bitpacked records, except for:
...
* rtti
* typed constants
git-svn-id: trunk@4489 -
2006-08-23 15:44:13 +00:00
Jonas Maebe
eccbc78e04
+ support for bitpacked arrays:
...
+ use {$bitpacking on/+} to change the meaning of "packed"
into "bitpacked" for arrays. This is the default for MacPas.
You can also define individual arrays as "bitpacked", but
this is not encouraged since this keyword is not known by
other compilers and therefore makes your code unportable.
+ pack(unpackedarray,index,packedarray) to pack
length(packedarray) elements starting at
unpackedarray[index] into packedarray.
+ unpack(packedarray,unpackedarray,index) to unpack
packedarray into unpackedarray, with the first
element being stored at unpackedarray[index]
* todo:
* "open packed arrays" and rtti for packed arrays are not
yet supported
* gdb does not properly support bitpacked arrays
git-svn-id: trunk@4449 -
2006-08-19 12:54:12 +00:00
Jonas Maebe
6fd4c50f0a
* give proper error message when upper or lower bound of array type is out
...
of range (bounds error instead of "upper bound lower than lower bound")
git-svn-id: trunk@4383 -
2006-08-07 14:42:21 +00:00
Jonas Maebe
5f699c7838
+ -gt, -gtt, -gttt and -gtttt switches to trash local variables with
...
different values (resp. $55, $AA, $EF and $00) in function/procedure
prologs to help find uninitialized uses. Should still be extended
for "out" parameters.
git-svn-id: trunk@4271 -
2006-07-20 22:54:23 +00:00
Jonas Maebe
73d5e259ef
* regenerated version (please always regenerate and commit these too
...
if you commit a new errore.msg, to avoid conflicts later)
git-svn-id: trunk@4270 -
2006-07-20 22:39:47 +00:00
florian
57f097a710
* made dir_warn code more clear, no implementation yet
...
git-svn-id: trunk@4200 -
2006-07-14 21:45:21 +00:00
Tomas Hajny
419ab6aeac
+ allow output of full version in QuickInfo
...
git-svn-id: trunk@4165 -
2006-07-13 23:06:46 +00:00
Tomas Hajny
db6bfea8ea
* spelling correction by Ido/ik
...
git-svn-id: trunk@4027 -
2006-06-30 21:29:52 +00:00
Tomas Hajny
ac692f7da9
* bugrep -> bugs
...
git-svn-id: trunk@3985 -
2006-06-27 22:10:55 +00:00
florian
dc2bef3875
+ implemented directives $setpeflags, $maxstacksize, $minstacksize and $imagebase, fixes #6349 and #6714
...
git-svn-id: trunk@3935 -
2006-06-25 10:22:42 +00:00
florian
daeda1b9e0
* fixed error msg (that->this)
...
* array properties can be published in delphi mode though it makes no sense to publish them because they can't be streamed
git-svn-id: trunk@3694 -
2006-05-27 15:24:55 +00:00
florian
d4848169e1
* as operator isn't allowed for non com interfaces
...
git-svn-id: trunk@3646 -
2006-05-23 18:52:56 +00:00
peter
4790838455
* add -Xi and -Xe
...
git-svn-id: trunk@3621 -
2006-05-21 20:18:50 +00:00
florian
c6787b52a7
+ compile the svn revision into the compiler, to do so, a file compiler/revision.inc must exist which is updated then
...
git-svn-id: trunk@3491 -
2006-05-13 15:25:36 +00:00
florian
06e7d4be7a
+ dispid parsing
...
git-svn-id: trunk@3378 -
2006-04-30 08:25:36 +00:00
Jonas Maebe
05540cad44
* give an error for {$calling } (i.e., when a procedure directive is
...
missing)
git-svn-id: trunk@3193 -
2006-04-12 07:58:25 +00:00
Tomas Hajny
c17b57db07
+ Statistics of warnings, hints and notes - (modified/fixed) patch from Naj Kejah, part of wishlist item 4897, plus hardcoded text moved to message file
...
git-svn-id: trunk@3181 -
2006-04-09 11:54:09 +00:00
Jonas Maebe
4db6e1ddb8
* moved type conversion of C varargs from tcallnode to
...
tarrayconstructornode.inset_typeconvs() and fixed them:
* integers < 32 bit are converted to 32 bit (this was previously
done in the code generator for some targets, and not for others)
* currency is also converted to double for targets where currency = int64
* single is converted to double, except for x86_64 (is at least
necessary on darwin/ppc, darwin/i386 and linux/i386)
* enums are converted to 32 bit ints
* procvars are converted to pointers
* proper errors are given for various unsupported types
NOTE: in C, floating point constants are by default double, while in
FPC they are of type extended. On platforms where extended <> double,
such constants when passed to C varargs are automatically converted
to double by default (gives warning). If you want to pass them as
single or extended or get rid of the warning, use an explicit typecast
* increased ppu version because of introduction of new node flag
(nf_cvarargs for tarrayconstructornode)
* fixed tests/test/cg/tprintf
* changed tests/test/cg/cdecl/taoc5 to use explicit typecasts for
floating point constants passed to C varargs functions.
git-svn-id: trunk@2949 -
2006-03-17 22:26:48 +00:00
peter
eb725d4e44
Merged revisions 2908,2911,2913-2917 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2908 | peter | 2006-03-13 13:35:48 +0100 (Mon, 13 Mar 2006) | 2 lines
* merge trunk upto r2907
........
r2911 | peter | 2006-03-13 18:08:00 +0100 (Mon, 13 Mar 2006) | 2 lines
* rename values to make room for operand size codes
........
........
........
r2915 | peter | 2006-03-14 13:51:35 +0100 (Tue, 14 Mar 2006) | 2 lines
* check aktcputype
........
r2916 | peter | 2006-03-14 15:06:32 +0100 (Tue, 14 Mar 2006) | 3 lines
* merge 300 opcodes
* more 64bit versions of opcodes
........
r2917 | peter | 2006-03-14 17:34:03 +0100 (Tue, 14 Mar 2006) | 3 lines
* x86_64 tables
* convert movq with normal registers to mov
........
git-svn-id: trunk@2931 -
2006-03-16 08:09:28 +00:00
peter
2888a21593
* list supported optimization options in -i
...
* support $OPTIMIZATION and $O+
git-svn-id: trunk@2904 -
2006-03-13 11:17:56 +00:00
peter
b6e35a200e
* rewrite of optimizer options
...
git-svn-id: trunk@2901 -
2006-03-13 09:05:50 +00:00
florian
5ece7cbc2f
* first part of x86-64 assembler
...
git-svn-id: trunk@2824 -
2006-03-09 22:05:16 +00:00
peter
785550d7e3
Merged revisions 2669,2673,2677,2683,2696,2699-2702,2704,2708,2712-2715,2718,2722-2723,2728-2730,2740,2769 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
........
r2669 | peter | 2006-02-23 09:31:21 +0100 (Thu, 23 Feb 2006) | 2 lines
* add compiler dir
........
r2673 | peter | 2006-02-23 17:08:56 +0100 (Thu, 23 Feb 2006) | 2 lines
* enabled more code
........
r2677 | peter | 2006-02-24 17:46:29 +0100 (Fri, 24 Feb 2006) | 2 lines
* pe stub and headers
........
r2683 | peter | 2006-02-25 23:13:24 +0100 (Sat, 25 Feb 2006) | 2 lines
* section options cleanup
........
r2696 | peter | 2006-02-26 20:27:41 +0100 (Sun, 26 Feb 2006) | 2 lines
* fixed typecasts
........
r2699 | peter | 2006-02-26 23:04:32 +0100 (Sun, 26 Feb 2006) | 2 lines
* simple linking works
........
r2700 | peter | 2006-02-27 09:44:50 +0100 (Mon, 27 Feb 2006) | 2 lines
* internal linker script
........
r2701 | peter | 2006-02-27 12:05:12 +0100 (Mon, 27 Feb 2006) | 2 lines
* make elf working again
........
r2702 | peter | 2006-02-27 14:04:43 +0100 (Mon, 27 Feb 2006) | 3 lines
* disable dwarf for smartlinking with .a
* fix section start in new .a file
........
r2704 | peter | 2006-02-27 18:30:43 +0100 (Mon, 27 Feb 2006) | 2 lines
* stab section fixes
........
r2708 | peter | 2006-02-28 19:29:17 +0100 (Tue, 28 Feb 2006) | 2 lines
* basic work to merge stabs sections
........
r2712 | peter | 2006-02-28 23:17:48 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload tmodules before linking
........
r2713 | peter | 2006-02-28 23:18:51 +0100 (Tue, 28 Feb 2006) | 2 lines
* fixed stabs linking
........
r2714 | peter | 2006-02-28 23:19:19 +0100 (Tue, 28 Feb 2006) | 2 lines
* show code and data size
........
r2715 | peter | 2006-02-28 23:25:35 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload .stabs from objdata after it is merged
........
r2718 | peter | 2006-03-01 12:24:38 +0100 (Wed, 01 Mar 2006) | 3 lines
* memsize/datasize cleanup
* check for exports/resources when adding module to linker
........
r2722 | peter | 2006-03-03 09:12:20 +0100 (Fri, 03 Mar 2006) | 2 lines
* new TObjSymbol splitted from TAsmSymbol
........
r2723 | peter | 2006-03-03 14:08:55 +0100 (Fri, 03 Mar 2006) | 2 lines
* coff fixes after recent objsymbol changes
........
r2728 | peter | 2006-03-03 22:43:04 +0100 (Fri, 03 Mar 2006) | 2 lines
* fixed coff writer
........
r2729 | peter | 2006-03-04 01:10:32 +0100 (Sat, 04 Mar 2006) | 2 lines
* fix read-only opening
........
r2730 | peter | 2006-03-04 01:11:16 +0100 (Sat, 04 Mar 2006) | 2 lines
* Read edata from DLLs, basic work
........
r2740 | peter | 2006-03-04 21:13:43 +0100 (Sat, 04 Mar 2006) | 3 lines
* deletedef added
* don't remove defs from index when we are already clearing everything
........
r2769 | peter | 2006-03-05 21:42:33 +0100 (Sun, 05 Mar 2006) | 4 lines
* moved TObj classes to ogbase
* ObjSection.SymbolRefs and SymbolDefines list
* DLL importing
........
git-svn-id: trunk@2771 -
2006-03-05 21:10:37 +00:00
Jonas Maebe
c15b500e32
+ warn if a static variable is read but not assigned (tw4781*)
...
git-svn-id: trunk@2472 -
2006-02-07 21:23:02 +00:00
florian
844e78b401
* error corrections for message files from Karl-Michael Schindler
...
git-svn-id: trunk@2217 -
2006-01-08 09:18:08 +00:00
Károly Balogh
cd38c236a0
+ made the compiler to know about PowerPC AmigaOS
...
git-svn-id: trunk@2201 -
2006-01-07 04:46:27 +00:00
Jonas Maebe
cbaa100654
* "fixed" web bugs 3183 and 4403 by breaking the parser in
...
Delphi mode so that you can change the return type of
overriding interface methods into anything you want.
You will get a nasty warning though.
git-svn-id: trunk@2168 -
2006-01-04 22:21:05 +00:00
florian
3ccec3fbdd
* proper error if a directory is passed as configuration file
...
git-svn-id: trunk@2134 -
2006-01-02 21:07:15 +00:00
Jonas Maebe
cd69c36f17
* commited -> committed (fix for web bug #4642 , by Vincent Snijders)
...
git-svn-id: trunk@2099 -
2005-12-31 17:30:22 +00:00
Jonas Maebe
021dabc37e
* also honour vsf_use_hints for uninitialised warnings for the
...
function result variable
git-svn-id: trunk@2052 -
2005-12-26 14:44:03 +00:00
florian
1e4e857719
* apptype causes only a note on system not supporting apptype
...
git-svn-id: trunk@1827 -
2005-11-26 21:54:15 +00:00
florian
4bd32a686d
* regenerated msg include files
...
git-svn-id: trunk@1647 -
2005-11-04 21:35:39 +00:00
florian
a068b7a059
* updated internal message files
...
git-svn-id: trunk@1562 -
2005-10-22 15:17:56 +00:00
florian
9a1c731bfb
+ basic dispinterface parsing stuff
...
git-svn-id: trunk@1445 -
2005-10-17 20:28:50 +00:00
florian
71b90d4d00
+ slice implemented
...
git-svn-id: trunk@1384 -
2005-10-15 16:48:27 +00:00
florian
1908ba2206
+ -vb: writes compiler messages with full path instead of the file name only
...
git-svn-id: trunk@1114 -
2005-09-18 18:09:19 +00:00
florian
21cc9597f2
+ fpcylix unit
...
+ -Sk option
git-svn-id: trunk@1106 -
2005-09-18 08:34:51 +00:00
florian
c7bdfe238b
* regenerated makefiles
...
git-svn-id: trunk@1039 -
2005-09-02 17:46:38 +00:00
florian
adb193497d
+ softfloat support for wince
...
* more units are build for wince
git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
florian
5e8db3eb5a
* better error message if a compiler can't find a compilerproc
...
git-svn-id: trunk@943 -
2005-08-25 20:21:06 +00:00
olle
e40c2fd8b0
+ compile time expression type checking
...
* fixed bug in $DEFINE under macpas
git-svn-id: trunk@919 -
2005-08-22 19:09:41 +00:00
florian
e36bb224ae
* typo fixed
...
git-svn-id: trunk@858 -
2005-08-13 21:36:50 +00:00
florian
9a624dd82f
* proper displaying of arm targets
...
git-svn-id: trunk@853 -
2005-08-13 16:57:06 +00:00
florian
469f2d1020
* windres isn't called anymore with an empty include parameter, fixes 4205
...
* -vd prints windres command line
git-svn-id: trunk@781 -
2005-08-02 21:05:36 +00:00
olle
438f229f52
* changed unknown align/enum warings into errors and also improved them
...
git-svn-id: trunk@582 -
2005-07-04 19:28:42 +00:00
florian
b9b9ce059d
* compilation errors fixed
...
git-svn-id: trunk@531 -
2005-06-29 19:35:05 +00:00
Jonas Maebe
43e4571fe9
+ help for -Xm and -XM (forgot to commit last time)
...
git-svn-id: trunk@513 -
2005-06-28 19:26:28 +00:00
florian
0772a35e70
+ description of -WB as option to create a relocatable image added, fixes bug #3965
...
git-svn-id: trunk@509 -
2005-06-26 21:28:01 +00:00
florian
11fe93f3b8
+ -Nu to help screen added
...
git-svn-id: trunk@452 -
2005-06-19 21:29:53 +00:00
florian
ec6d5ff211
+ utf-8 support for string constants added
...
git-svn-id: trunk@428 -
2005-06-16 20:16:37 +00:00
peter
bc347c23a8
* change error: compilation aborted to fatal
...
git-svn-id: trunk@394 -
2005-06-13 07:01:49 +00:00
florian
83fa3bd0cb
+ output of supported instruction sets in info page
2005-05-05 14:53:55 +00:00
peter
3f9d6ab32f
* add hint when passing an uninitialized variable to a var parameter
2005-03-25 22:20:18 +00:00
olle
7cb6368f12
* Support for pascal constant expr in compile time expr, is now only allowed in mode Delphi
...
+ Warning for undefined compile time var in mode macpas
* Support for some turbo directives in mode macpas
* Support for Metrowerks style DEFINED xxx
2005-03-20 18:13:34 +00:00
florian
c63ac52ac5
* fixed msg for -Xc
2005-02-26 17:50:37 +00:00
peter
c5488ea6b1
* -Fa option added, it'll load the units before the uses
...
line is parsed. Can be used to load cthreads from the commandline.
Example '-g -Faheaptrc,lineinfo' is the same as '-ghl'
2005-02-06 21:33:28 +00:00
peter
d3b559cfcc
* detect arithmetic overflows for constants at compile time
...
* use try..except instead of setjmp
2005-01-26 16:23:28 +00:00
peter
7848d612cd
* fixed -vv
2005-01-20 17:29:07 +00:00
peter
d5091e1817
* fix unreachable code check for repeat loop
2005-01-16 14:44:03 +00:00
olle
be08c4912b
- disabled macro diff message
2005-01-10 21:01:52 +00:00
olle
7572f3a539
* rework of macro subsystem
...
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
florian
5942e4b6f6
* added support of shifter ops in arm inline assembler
2005-01-05 15:22:39 +00:00
florian
4900f10f2e
* version and copyright increased
2005-01-02 10:20:08 +00:00
Jonas Maebe
07d5650ab3
* fixes to interface style help
2004-12-30 19:06:56 +00:00
peter
0d4ba90aa8
* don't allow class methods in interfaces
2004-12-26 20:12:23 +00:00
peter
00c14e1083
* external is again allowed in implementation
2004-12-15 16:00:16 +00:00
florian
0037f4a199
* fixed operand size calculation for sse operands
...
+ all nasm assembler targets to help page output added
2004-12-12 10:50:34 +00:00
peter
9c0be16488
implicit load of variants unit
2004-12-06 19:23:05 +00:00
Jonas Maebe
bd04491f50
* patch from Peter to fix inlining of case statements
2004-11-30 18:13:39 +00:00
peter
14d25d278b
mangledname setting moved to place after the complete proc declaration is read
...
import generation moved to place where body is also parsed (still gives problems with win32)
2004-11-17 22:21:35 +00:00
peter
db81b4333a
* fatal error when procedure is too complex
2004-11-14 21:08:27 +00:00
peter
6c9c4c686c
* small m68k updates to bring it up2date
...
* give better error for external local variable
2004-11-09 22:32:59 +00:00
peter
bc59556a41
* $fpctarget expands to <cpu>-<os>
...
* allow * in middle of the path to support ../*/units/$fpctarget
2004-10-31 18:54:24 +00:00
peter
8706d9bec9
* help page updated
2004-10-25 15:37:50 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
Tomas Hajny
5df0c00360
* better PathExists, fix for too long command line, correction of message
2004-09-21 23:33:43 +00:00
peter
67548d9f91
* for loop variable assignment is not allowed anymore
2004-09-13 20:28:26 +00:00
michael
ec7227e1f5
Regenerated
2004-09-08 11:58:14 +00:00
armin
354004d803
* target netwlibc added (libc is preferred for newer netware versions)
2004-09-04 21:18:47 +00:00
peter
db2ac3bc57
* allow only 1 default property
2004-08-25 15:57:04 +00:00
olle
f125ee32d1
+ added macro-lacks-content message
...
* fixed typos etc
2004-08-22 23:12:16 +00:00
florian
4b3ed28d07
* morphos now takes any pointer var. as libbase
...
* alignment for sparc fixed
* int -> double conversion on sparc fixed
2004-08-22 20:11:38 +00:00
florian
8cb7072e5f
* fixed several ie9999s when illegal operators were used
2004-08-08 15:22:29 +00:00
olle
ff36adb056
+ macpas style: exit, cycle, leave
...
+ macpas compiler directive: PUSH POP
2004-07-05 21:49:43 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
9a0a2ccd81
* give error when goto jumps to label outside current proc scope
2004-05-23 11:39:37 +00:00
olle
9b3be3f760
* changed $mode mac to $mode macpas
...
+ added GUI apptype to MacOS
2004-05-11 18:23:44 +00:00
florian
e8098f6b71
+ added lib support for Amiga/MorphOS syscalls
2004-05-01 22:05:01 +00:00
florian
a7478ee97f
+ location support for arguments, currently PowerPC/MorphOS only
2004-04-18 15:22:24 +00:00
olle
46451e4662
+ added $APPTYPE TOOL for MPW tools on MacOS
2004-04-04 18:46:09 +00:00
peter
6b96b70118
* fixed operator overload allowing for pointer-string
...
* replaced some type_e_mismatch with more informational messages
2004-03-18 16:19:03 +00:00
peter
afcb1d6c14
* change error to warning
2004-03-04 17:25:55 +00:00
florian
61f15e4ec4
* make cycle fixed
...
+ pic support for darwin
+ support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
Károly Balogh
4cf5269aa7
+ morphos target added
2004-02-24 17:16:39 +00:00
florian
1d8b4661b8
* message about illegal type conversion reports now the types
2004-02-21 16:03:10 +00:00
olle
4c95007b2b
* added target Darwin to help page
2004-02-19 13:43:50 +00:00
florian
6e1d153194
* another fix to flag handling
2004-01-23 00:01:48 +00:00
peter
d42f4af064
* give warning that DWORD is used as size in delphi mode when no
...
size was specified
2004-01-22 16:29:11 +00:00
florian
75e2de9f2c
+ reintroduce implemented
2004-01-21 14:22:00 +00:00
florian
dd8f11e8e1
* fixed ldm/stm arm assembler reading
...
* fixed a_load_reg_reg with OS_8 on ARM
* non supported calling conventions cause only a warning now
2003-12-08 17:43:57 +00:00
florian
1af574ceca
* assembler readers OOPed
...
+ typed currency constants
+ typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
florian
bbf7300a0c
* Florian's culmutative nr. 1; contains:
...
- invalid calling conventions for a certain cpu are rejected
- arm softfloat calling conventions
- -Sp for cpu dependend code generation
- several arm fixes
- remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
peter
63002aadb4
* fixed unit info messsage
2003-10-22 20:54:06 +00:00
olle
a8f6986077
* targets now in alfabetical order and lowercase
2003-10-08 11:42:19 +00:00
peter
81449fa691
* constant expr expected
2003-10-07 17:52:50 +00:00
peter
e732233993
* invalid register message
2003-09-28 13:38:11 +00:00
olle
f891435ca0
+ added command line option for language mode -M<x>
...
+ helpinfo powerpc targets
2003-09-17 21:38:54 +00:00
florian
22f1ff8da4
* merged Wiktor's Watcom patches in 1.1
2003-09-05 17:41:12 +00:00
peter
09ed47cba6
* don't allow add/assignments for formaldef
...
* formaldef size changed to 0
2003-07-08 15:20:56 +00:00
peter
563e8d205f
* creating class with abstract call checking fixed
...
* there will be only one warning for each class, the methods
are listed as hint
2003-06-08 11:42:33 +00:00
peter
aaf6114364
* moved Comment calls to messge file
2003-05-25 10:27:12 +00:00
Tomas Hajny
2698227d41
* message correction
2003-05-18 20:07:31 +00:00
florian
91bbc7bea3
* error when address of an abstract method is taken
...
* fixed some x86-64 problems
* merged some more x86-64 and i386 code
2003-04-30 20:53:32 +00:00
peter
f3caa701d3
* regenerated
2003-03-30 19:03:59 +00:00
armin
0795cf556b
* replaced experimental with clib for netware
2003-03-25 18:23:34 +00:00
Tomas Hajny
8e7124f9f8
+ emx target added
2003-03-23 23:11:17 +00:00
peter
31cee7b219
* only allow class [procedure|function]
2003-03-19 17:34:04 +00:00
daniel
e8f649f5c2
+ $define newra will enable new register allocator
...
+ getregisterint will return imaginary registers with $newra
+ -sr switch added, will skip register allocation so you can see
the direct output of the code generator before register allocation
2003-03-08 08:59:07 +00:00
peter
2721d341f0
* merged some verbosity options.
...
* V_LineInfo is a verbosity flag to include line info
2003-01-09 21:52:37 +00:00
florian
07110d20f9
+ added proper support of type = type <type>; for simple types
2003-01-05 15:54:15 +00:00
peter
b44a8b42c8
* don't allow initialized threadvars
2002-12-27 15:22:20 +00:00
carl
081a4aab35
* 3% memory optimization
...
* changed some types
+ added type checking with different size for call node and for
parameters
2002-12-07 14:27:07 +00:00
peter
dc66eafb0b
* merged cdecl and array fixes
2002-12-06 17:51:09 +00:00
carl
d9c9277d32
* fix some errors
2002-12-02 19:38:06 +00:00
carl
2f89d59534
* warning of portabilitiy problems with parasize / localsize
2002-12-01 22:06:59 +00:00
carl
0fa2b27920
* updating of message files finihsed
...
(left to remove unused messages)
2002-11-30 23:15:56 +00:00
carl
f8d831d6ce
+ -Ce for softfpu
2002-11-30 21:29:56 +00:00
carl
5c5db0e0a3
+ unimplemented hint directive added
...
* hint directive parsing implemented
* warning on these directives
2002-11-29 22:31:19 +00:00
carl
5abec3d375
* warning / hint for possible loss of data in assignment
2002-11-29 20:02:42 +00:00
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
4207d5634f
* new message errors
2002-09-07 20:34:27 +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
Tomas Hajny
4148949871
* spelling correction (Data types which _require_)
2001-12-16 19:10:13 +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
939f49375f
* message loading fixes from Sergey (merged)
2001-03-13 20:59:56 +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
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
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +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
florian
332c7a568f
* CMOV support in optimizer (in define USECMOV)
...
+ start of support of exceptions in constructors
2000-01-23 21:29:14 +00:00
pierre
99d8f90aec
+ some warnings for wrong lines inside config files
2000-01-14 14:33:53 +00:00
pierre
640e444c7c
* problems with -W options solved
2000-01-10 16:37:31 +00:00
peter
682d3453ee
* copyright 2000 in logo
2000-01-07 00:21:44 +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