Commit Graph

10754 Commits

Author SHA1 Message Date
florian
66e015f48c * avoid shifter constant overflow on arm when optimizing two shifter operations into one
git-svn-id: trunk@11474 -
2008-07-28 15:51:58 +00:00
florian
fe7cba52dc + support of inlined ror/rol on arm
git-svn-id: trunk@11473 -
2008-07-28 15:48:38 +00:00
florian
572fe6282e * teach peephole optimizer about ror/rol
* md5 unit uses system.rol

git-svn-id: trunk@11468 -
2008-07-28 09:50:09 +00:00
florian
1afb1aa9cc + ror/rol functions
+ internal compiler support for ror/rol on i386

git-svn-id: trunk@11466 -
2008-07-27 17:12:32 +00:00
yury
4dac183601 * Bring back tcg.getflagregister on Florian's request, but made it non-abstract. It may be used for IA64 support in future (if IA64 will live so long :).
git-svn-id: trunk@11457 -
2008-07-23 17:26:36 +00:00
yury
a6eb251cee * Define dummy tcgarm.g_stackpointer_alloc to fix abstract warning.
* Suppressed unreachable code warnings.
* Now ARM compiler compiles without warnings and notes.

git-svn-id: trunk@11456 -
2008-07-23 13:22:36 +00:00
yury
0bcaf8845f * Fixed 'mixed signed/unsigned' warnings.
* Suppressed 2 unreachable code warnings.
* Now x86 compiler compiles without warnings and notes! It will be great to keep such state in future...

git-svn-id: trunk@11455 -
2008-07-23 13:16:46 +00:00
yury
2cf240b9af * Suppressed "Values in enumeration types have to be ascending" note.
git-svn-id: trunk@11454 -
2008-07-23 12:55:31 +00:00
yury
0e34e98b82 * Removed abstract modifier for some optional (not needed for every CPU target) methods in tcg and tparamanager classes. These methods throw internal error if not overrode.
git-svn-id: trunk@11453 -
2008-07-23 12:49:53 +00:00
yury
578c91f69d * Create instance of tdosinputfile instead of tinputfile to prevent warning about abstract methods.
git-svn-id: trunk@11452 -
2008-07-23 12:33:18 +00:00
yury
8ce526d760 * Removed unused abstract method tcg.getflagregister
git-svn-id: trunk@11451 -
2008-07-23 12:31:38 +00:00
yury
d5c0ba9a1e * Improved warning about constructing class instance with abstract methods. Warning is issued for each method and method name is specified in the message. It makes easy to find out which abstract methods still not overrode.
git-svn-id: trunk@11450 -
2008-07-23 12:24:25 +00:00
yury
a039dd6942 * Fixed warnings about hiding inherited method.
git-svn-id: trunk@11449 -
2008-07-23 11:51:19 +00:00
yury
bf454fad71 * Added function result for unimplemented methods to prevent warnings.
git-svn-id: trunk@11448 -
2008-07-23 11:47:03 +00:00
yury
72aa4f8cdd * Fixed warnings about uninitialized record fields.
git-svn-id: trunk@11447 -
2008-07-23 11:44:24 +00:00
yury
453e82e001 * Don't use dispose for memory allocated with getmem.
git-svn-id: trunk@11446 -
2008-07-23 11:38:29 +00:00
yury
2f5d8b0381 * Fixed unreachable code warnings.
git-svn-id: trunk@11445 -
2008-07-23 11:31:07 +00:00
yury
451a290caf * Fixed 'mixed signed/unsigned' and pointer conversion warnings.
git-svn-id: trunk@11444 -
2008-07-23 11:17:27 +00:00
yury
491f0fa1d8 * Replaced all user defined warnings by TODO comments to reduce compiler noise.
git-svn-id: trunk@11443 -
2008-07-23 11:00:03 +00:00
yury
fd0ed50331 * Removed/commented more unused variables.
* Fixed some uninitialized variable warnings.

git-svn-id: trunk@11442 -
2008-07-23 10:48:53 +00:00
yury
6c6bf452ca * Fixed level 2 comment warnings.
git-svn-id: trunk@11441 -
2008-07-23 10:08:48 +00:00
yury
6daceb38f6 * Fixed unreachable code warnings.
git-svn-id: trunk@11440 -
2008-07-23 09:55:44 +00:00
yury
cf7390ea81 * Fixed 'mixed signed/unsigned' and pointer conversion warnings.
git-svn-id: trunk@11439 -
2008-07-23 09:36:07 +00:00
yury
5548824859 * Removed/ifdefed/commented unused local variables.
git-svn-id: trunk@11438 -
2008-07-23 09:22:47 +00:00
yury
e25713515b * Fixed memory leak.
git-svn-id: trunk@11437 -
2008-07-23 08:59:25 +00:00
yury
d5a3a28379 * Set PE_FILE_LARGE_ADDRESS_AWARE flag for win64 executables to allow access more than 2GB of memory.
* Fixed $setpeflags directive. Flags should be set in main PE header. LoaderFlags in optional header are obsolete.

git-svn-id: trunk@11433 -
2008-07-22 11:53:55 +00:00
yury
fcceb9cfa1 * Removed/ifdefed/commented unused local variables.
git-svn-id: trunk@11430 -
2008-07-20 23:00:31 +00:00
yury
efb280e0e9 * Use system_wince in all places.
git-svn-id: trunk@11429 -
2008-07-20 22:39:19 +00:00
yury
0e17d9e4d9 * Use system_wince instead of [system_arm_wince,system_i386_wince].
git-svn-id: trunk@11426 -
2008-07-20 22:22:57 +00:00
yury
22df9855d9 * For some unknown reason WM 6.1 requires .idata section to be read only. Otherwise it refuses to load DLLs greater than 64KB. Earlier versions of WinCE load DLLs regardless of .idata flags.
git-svn-id: trunk@11421 -
2008-07-20 20:28:37 +00:00
marco
97cf173578 * Removed the bootstrapping related charset.pas, and merged one minor fix from it to the rtl one.
git-svn-id: trunk@11416 -
2008-07-20 12:10:31 +00:00
florian
19e723c869 * germanism fixed (aktexceptblock -> current_exceptblock)
git-svn-id: trunk@11410 -
2008-07-19 17:06:16 +00:00
florian
7a34d3ccca * removed comments to defines not used anymore
git-svn-id: trunk@11409 -
2008-07-19 17:01:47 +00:00
peter
c2e5f885c6 * handle (build)derefimpl also for objectdef so it also works for methods
git-svn-id: trunk@11406 -
2008-07-19 00:02:36 +00:00
peter
6c586e4eca * store specializations in globalsymtable for units, use localsymtable
for programs. this allows speciailizations to be done in the interface
    part of the unit
  * support tobject.typemember.typemember nesting for generics
  * fix generic parameter checking when a typemember was created with the
    type of a parameter
  * known issue is nested specializations don't work yet because the token
    replay can't handled nested replays yet

git-svn-id: trunk@11404 -
2008-07-18 23:30:44 +00:00
tom_at_work
cc911887a8 * undo accidently committed changes from r11398
git-svn-id: trunk@11399 -
2008-07-18 15:33:48 +00:00
tom_at_work
6958bbfdda * allow explicit conversion of enumeration values (in addition to integers) to object references in Delphi mode
git-svn-id: trunk@11398 -
2008-07-18 15:30:20 +00:00
florian
050627ea1d * allow goto inside finally blocks
git-svn-id: trunk@11392 -
2008-07-17 19:49:38 +00:00
florian
4dc547e01c * fixes loop unrolling
git-svn-id: trunk@11391 -
2008-07-17 19:49:03 +00:00
florian
f443132f3c * fixed compilation
git-svn-id: trunk@11381 -
2008-07-13 18:16:53 +00:00
florian
37372fb7ce * fixed copy&paste errors in cpunodefaultint
git-svn-id: trunk@11379 -
2008-07-13 18:15:17 +00:00
florian
2fd1196118 + cpu32bitaddr,cpu32bitalu,cpu16bitaddr,cpu16bitalu
git-svn-id: trunk@11378 -
2008-07-13 18:13:46 +00:00
florian
a15d8778d6 + create jump tables for case statements on x86-64
git-svn-id: trunk@11377 -
2008-07-13 10:26:25 +00:00
florian
9e88af9a78 * support ABSOLUTE32 in the COFF writer on x86-64, resolves #10641
git-svn-id: trunk@11376 -
2008-07-13 09:10:50 +00:00
florian
5d87a1c6e7 * typos fixed
git-svn-id: trunk@11367 -
2008-07-11 19:03:16 +00:00
florian
fffc05731c * don't crash when ranges are passed erroneously to an array of const, resolves #11632
git-svn-id: trunk@11353 -
2008-07-09 21:06:24 +00:00
florian
ed9c7ceaea * support deprecated for types
git-svn-id: trunk@11341 -
2008-07-07 17:59:48 +00:00
Jonas Maebe
c00108009d * insert vmt as hidden field in objectdefs
* don't output hidden fields in the debug info

git-svn-id: trunk@11334 -
2008-07-06 09:41:56 +00:00
Jonas Maebe
98e843c092 * support overriding debuginfo for classrefdefs
git-svn-id: trunk@11327 -
2008-07-05 14:25:23 +00:00
Jonas Maebe
2348c7ea00 * allow ssa to happen for outer for-loop control variables
git-svn-id: trunk@11320 -
2008-07-03 19:39:23 +00:00