yury
9bca56ac44
* Don't issue "Local variable is assigned but never used" warning for external variables.
...
git-svn-id: trunk@9538 -
2007-12-26 16:30:45 +00:00
Jonas Maebe
c05f18a1b0
* catch duplicate field declarations in a single class in Delphi mode
...
(mantis #10457 )
git-svn-id: trunk@9534 -
2007-12-26 15:21:18 +00:00
florian
5c96c4a671
+ first part of support for an unicodestring type
...
git-svn-id: trunk@9382 -
2007-12-02 16:39:13 +00:00
tom_at_work
37695af02b
* added missing assignment check when searching for a symbol in a class, fixing bug #9673
...
* test program for above
git-svn-id: trunk@8579 -
2007-09-20 20:35:35 +00:00
Jonas Maebe
0567329343
* the "external alignment" (i.e., that of their starting addresses) of
...
record variables is now independent of their packrecords setting
(except for packrecords C, which already calculated a reasonable
alignment). This means that e.g. a packed record consisting of two
pointers will be aligned at sizeof(pointer) normally. The internal
alignment of the individual fields of packed records obviously did
not change, also not if those fields are records themselves.
* The size of records without any packing atributes is also padded to
become a multiple of this improved alignment calculation, which
means that the size of such records may change after this patch.
Always explicitly specify a packing for records which are used for
data storage/transmission if you want to have a consistent layout.
git-svn-id: trunk@8409 -
2007-09-08 18:13:28 +00:00
peter
0fc65c5eec
* for tp mode don't allow unitname reuse
...
git-svn-id: trunk@8158 -
2007-07-23 20:38:05 +00:00
florian
8b11f99765
* let the dfa do the detection of unset function results if possible
...
git-svn-id: trunk@8156 -
2007-07-23 20:23:50 +00:00
peter
703b8855cc
* allow local procsym in delphi mode
...
git-svn-id: trunk@8148 -
2007-07-23 09:15:32 +00:00
florian
d50f869bbd
+ allow local const symbols to override class members in delphi mode
...
git-svn-id: trunk@7793 -
2007-06-24 15:14:47 +00:00
florian
72d49f3033
* reverted r7675
...
git-svn-id: trunk@7702 -
2007-06-17 13:17:44 +00:00
florian
01a4737b10
+ local symbols can hide class members in delphi mode
...
git-svn-id: trunk@7675 -
2007-06-15 21:41:55 +00:00
daniel
4703ae318b
* Change a loop counter from aint to integer; the "to" part of the loop
...
is of type integer. Fixes compiling ppcx64 with ppc386.
git-svn-id: trunk@7641 -
2007-06-13 08:02:21 +00:00
Jonas Maebe
c77d74127b
* fixed some record size checks
...
(some are still broken, but can't be fixed currently because
def.size/sym.getsize return an aint, which means low(aint)
in case of structures with a size = high(aint)+1)
git-svn-id: trunk@7614 -
2007-06-09 19:48:14 +00:00
florian
d48b98e8b9
* unified ies
...
git-svn-id: trunk@6700 -
2007-03-03 16:03:20 +00:00
Jonas Maebe
0650ebe3f2
* fixed tbf/tb0063
...
git-svn-id: trunk@6271 -
2007-01-30 15:53:52 +00:00
Jonas Maebe
becd64bfb7
* set srdef to nil if nothing found in searchsym_in_class_by_msgint
...
git-svn-id: trunk@6197 -
2007-01-26 10:04:32 +00:00
pierre
e3651191f5
* Use IncRefCount
...
git-svn-id: trunk@6143 -
2007-01-23 05:49:32 +00:00
peter
91dbd27a42
* cleanup deleting of defs
...
git-svn-id: trunk@5902 -
2007-01-11 20:46:57 +00:00
Jonas Maebe
45e9633f97
* count references to class fields/messages from outside that class'
...
own methods (mantis #8090 )
git-svn-id: trunk@5870 -
2007-01-10 17:50:24 +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
Jonas Maebe
26f81bfe08
* fixed arithmetic overflow when loading the recorddef of large
...
(> high(aint)/8 bytes) records from ppu files
git-svn-id: trunk@5595 -
2006-12-14 20:24:20 +00:00
peter
0557ddc342
* removed typed const, it is now handled by staticvarsym
...
* globalvarsym renamed to staticvarsym
* fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
0c8796c210
* fix hiding of symbols
...
git-svn-id: trunk@5272 -
2006-11-07 08:53:15 +00:00
peter
3cae449fda
* moved rtti to ncgrtti
...
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
cb246eb781
* Remove dos,strings units, use SysUtils instead
...
* replace split* functions with Extract* functions
* Add Directory caching
git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
bce905b106
* give correct error locations for errors when specializing templates
...
* removed more germanisms
* better dumping of tokenbuf in ppudump
git-svn-id: trunk@5101 -
2006-10-30 23:28:06 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
peter
0f6355e805
* fix property overriding
...
git-svn-id: trunk@5045 -
2006-10-28 20:35:53 +00:00
florian
32c7ba29ea
* when calling an inherited methode by msg, any var parameters are compatible,
...
if somebody knows how to implement it better, feel free to do so
git-svn-id: trunk@4889 -
2006-10-13 19:15:00 +00:00
Jonas Maebe
3bb41dcf9a
* fixed writing "packed" status of bitpacked records to ppu files.
...
Not sure how it ever worked, nor how exactly symtable ppu entries
work -- but it's now stored with the recorddef (which also means
that bitpacking is disabled currently for objects and classes,
since they are based on tabstractrecorddef rather than trecorddef)
git-svn-id: trunk@4679 -
2006-09-21 20:39:36 +00:00
Jonas Maebe
c9c56996cc
- removed wrong databitsize assignment (which had no effect)
...
git-svn-id: trunk@4510 -
2006-08-27 11:30:27 +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
441d5a3c12
* use constant called C_alignment instead of -1 to denote C-style
...
packrecords
git-svn-id: trunk@4477 -
2006-08-20 16:37:10 +00:00
peter
eb829ea21b
* store procdef messageinf in the ppu
...
git-svn-id: trunk@4386 -
2006-08-07 19:39:32 +00:00
peter
22657a363b
* pass context class to searchsym_in_class to fix the visibility
...
of protected members called from a named class in a child class
that also has the visibility for those protected members
git-svn-id: trunk@4384 -
2006-08-07 19:10:11 +00:00
Jonas Maebe
c6b3550291
- removed some local variables and associated code not used
...
anymore after r4024
git-svn-id: trunk@4187 -
2006-07-14 18:48:26 +00:00
peter
172413fd09
* inheritance based on message also needs to find hidden
...
private methods
git-svn-id: trunk@4024 -
2006-06-30 21:06:49 +00:00
peter
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines
* pass ObjectWriter to ObjectOuput
........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines
* refactor asmdata
........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines
* add cfi to asmdata
* move asmlist, asmcfi, asmdata to own unit
........
git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
Jonas Maebe
659d3e106d
* fixed alignment of double, extended, int64 and qword on i386-darwin
...
git-svn-id: trunk@2870 -
2006-03-11 22:01:11 +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
e5ebc40446
* fixed crash with loading overridden properties of forward-declared
...
classes from ppu files
git-svn-id: trunk@2758 -
2006-03-05 13:34:43 +00:00
Tomas Hajny
e8a2e42975
* unresolved forward declarations stopping the build with -dDEBUG left just as comments
...
git-svn-id: trunk@2685 -
2006-02-26 00:33:31 +00:00
Jonas Maebe
63b9f00afd
* don't report sym_w_identifier_only_read for exported or external
...
variables
git-svn-id: trunk@2483 -
2006-02-08 20:30:07 +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
peter
b1c66a106e
* more dup id fixes
...
git-svn-id: trunk@2465 -
2006-02-07 07:58:37 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
peter
ad0f93da39
* don't report name differences after implicit renames
...
git-svn-id: trunk@2021 -
2005-12-21 11:04:42 +00:00
peter
95879fe8a7
* basic support for generic classes
...
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00