Commit Graph

72 Commits

Author SHA1 Message Date
peter
9ae8e9fa21 * refactor tclassheader in tvmtbuilder and tvmtwriter
* fix rtti generation
  * rtti is now written at the end of a module when all info is available,
    this prevents some duplicate rtti entries cause by inheritance

git-svn-id: trunk@5363 -
2006-11-13 22:03:17 +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
3cae449fda * moved rtti to ncgrtti
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
peter
e17b424e28 * refactor procsym procdef list
git-svn-id: trunk@5210 -
2006-11-03 18:44:46 +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
1684a6fc32 * replaced tdictionary with tfphashlist
git-svn-id: trunk@5148 -
2006-11-01 14:26:50 +00:00
peter
05183ac829 * AsmSymbolDict changed to FPHashObjectList
git-svn-id: trunk@5139 -
2006-11-01 00:22:13 +00:00
peter
136d3e8d46 * refactor implemented interfaces
git-svn-id: trunk@5134 -
2006-10-31 22:38:49 +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
ef7bd58c54 * germanism removed (aktfilepos -> current_filepos)
git-svn-id: trunk@5099 -
2006-10-30 22:37:31 +00:00
peter
070b86a512 * order of named sections added
* fix debugstart and debugend labels

git-svn-id: trunk@5098 -
2006-10-30 22:34:22 +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
Marc Weustink
31090d8736 * generate realnames for syms in -gw3
git-svn-id: trunk@4833 -
2006-10-08 16:27:03 +00:00
Marc Weustink
88e00bd264 * removed write depend def, write only defs when needed
git-svn-id: trunk@4816 -
2006-10-06 23:54:38 +00:00
peter
b66b8ed495 * dwarf fixes
* reuse of global dwarf entries

git-svn-id: trunk@4780 -
2006-10-04 10:18:14 +00:00
Marc Weustink
48340d291e * splitup dwarf2/dwarf3
* changed cpu64bit define into isdwarf64 boolean
* generate info for methods

git-svn-id: trunk@4759 -
2006-09-30 15:21:17 +00:00
Marc Weustink
9000d5c578 + Added dwarf .debug_line info
-This line, and those below, will be ignored--

M    compiler/dbgdwarf.pas
M    compiler/aggas.pas

git-svn-id: trunk@4607 -
2006-09-10 17:59:18 +00:00
florian
9e66674ff9 + first part of qwordbool implementation
git-svn-id: trunk@4462 -
2006-08-19 23:16:17 +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
florian
a7b5f78daf * fixed crash in dwarf generation when generating info for empty default parameter sets
git-svn-id: trunk@4140 -
2006-07-10 18:14:52 +00:00
florian
863a701fd2 * check if we've to write the basedef for enums when writing debug info
git-svn-id: trunk@4130 -
2006-07-08 18:47:06 +00:00
peter
dfd84c6fd3 * leb128 gets always a 64bit int
* fixed sleb128 encode

git-svn-id: trunk@3060 -
2006-03-27 13:42:06 +00:00
peter
0ec2921bbe * split newasmsymbol to refasmsymbol and defineasmsymbol
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +00:00
peter
95be416b9d * don't allow stringconst+integer
* change booleans in arraydef to set
  * set option in arraydef to indicate a constant string so
    a nicer type can be shown instead of array[0..x] of char

git-svn-id: trunk@3051 -
2006-03-27 07:22:02 +00:00
peter
870be04a3f * use dwarf_reg()
git-svn-id: trunk@3046 -
2006-03-26 20:15:32 +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
peter
38c0ae73da Merged revisions 2775,2788-2789 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines

  * merge ppu changes to keep ppus the same

........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines

  * Add TFPList and TFPObjectList

........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines

  * fix powerpc

........

git-svn-id: trunk@2790 -
2006-03-06 12:04:44 +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
6db9f7c3b7 * changed append_entry from a function in a procedure since its result
isn't set nor used anywhere

git-svn-id: trunk@2757 -
2006-03-05 13:32:47 +00:00
florian
3a1cac6f0d * on non x86 systems currency is a orddef type
git-svn-id: trunk@2637 -
2006-02-19 18:21:18 +00:00
florian
58433b83ed * dwarf on x86-64 is working
git-svn-id: trunk@2575 -
2006-02-14 19:01:46 +00:00
florian
05207fc54e * fixed references
git-svn-id: trunk@2554 -
2006-02-12 21:58:33 +00:00
florian
a1ffe2a2a9 * make cycle "OPT=-Aas -gw" works
git-svn-id: trunk@2541 -
2006-02-12 18:12:54 +00:00
florian
379617e90b * fixed constant symbol handling for dwarf
git-svn-id: trunk@2536 -
2006-02-12 15:12:06 +00:00
florian
e92d4c87bd * dwarf: ignore propertysyms for now
git-svn-id: trunk@2525 -
2006-02-11 22:46:11 +00:00
florian
6cebeabbd4 * fixed writing of ansistring as DW_FORM_string
git-svn-id: trunk@2524 -
2006-02-11 22:42:04 +00:00
peter
232555904e * symtablestack cleanup and rewrite
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
florian
2ff2918016 * fixed open arrays with dwarf
* fixed line info writting for smart linked files

git-svn-id: trunk@2446 -
2006-02-05 20:41:13 +00:00
florian
c9c74c0825 * fixed tvardata handling in the system unit
+ absolute syms
+ ignore syssyms

git-svn-id: trunk@2434 -
2006-02-04 21:30:24 +00:00
florian
231d2e01f0 + dwarf: stringdefs
git-svn-id: trunk@2433 -
2006-02-04 20:47:22 +00:00
florian
bb5ea455e1 * fixed objectdef dwarf
git-svn-id: trunk@2432 -
2006-02-04 16:27:06 +00:00
florian
12730b4cb1 + dwarf: objectdef
git-svn-id: trunk@2429 -
2006-02-04 16:08:51 +00:00
florian
5b9e0ab9d6 * dwarf: procedure variables fixed
git-svn-id: trunk@2427 -
2006-02-04 14:02:07 +00:00
florian
733875c108 + dwarf: procvardefs
git-svn-id: trunk@2426 -
2006-02-04 12:10:51 +00:00
florian
d515fed3db + dwarf: formaldefs and classrefdefs
git-svn-id: trunk@2421 -
2006-02-03 19:11:15 +00:00
florian
845ab889fa + dwarf for variants and file types
* fixed dwarf for void pointers
* fixed dwarf for type syms

git-svn-id: trunk@2411 -
2006-02-02 22:54:44 +00:00
florian
e1e611b86e + debug info for register variables
git-svn-id: trunk@2410 -
2006-02-02 21:47:18 +00:00
florian
9991b859ca * fixed parameter symbol writing
git-svn-id: trunk@2407 -
2006-02-02 17:10:52 +00:00