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
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
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
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
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