Commit Graph

33651 Commits

Author SHA1 Message Date
sekelsenmat
65e29e3984 Starts implementing a fpvectorial viewer
git-svn-id: trunk@16763 -
2011-01-14 12:54:17 +00:00
paul
0c9b40acb7 compiler: record operators
- allow operator also if return type match the structure type (before at least one parameter had to match)
  - search both operands symbol tables for a suitable assignment operator
  - test
based on patch of Blaise Thorn (issue #0018490)

git-svn-id: trunk@16762 -
2011-01-14 02:25:48 +00:00
pierre
8a7b10586d + Use popuperr unit to avoid interactive error window
git-svn-id: trunk@16761 -
2011-01-13 14:45:28 +00:00
pierre
7d5b632896 Use MSWindows instead of Win32 conditional
git-svn-id: trunk@16760 -
2011-01-13 14:43:37 +00:00
pierre
e7dcc27cd9 Add popuperr unit on tests
git-svn-id: trunk@16759 -
2011-01-13 14:19:52 +00:00
pierre
c5b2096f40 Add TEST_BENCH config
git-svn-id: trunk@16758 -
2011-01-13 14:18:14 +00:00
pierre
e3b56a1bcb + TargetHasDosStyleDirectories, TargetAmigaLike,
TargetIsMacOS: New variables, used in new function IsAbsolute.
  SetTargetDirectoriesStyle;, IsMacFullPath, IsAbsolute: New functions.
  CopyFile: Changed from procedure to function returning the
  number of copied chars.
  RunCompiler: Add compilation type for benchmark -D option.
  RunExecutable: Add execution time for benchmark -D option.
  Also report Exitcode on failure if no output is written
  (i.e. CopyFile returns zero written chars).
  HelpScreen function: Order options alphabetically.
  Add new -D benchmark option.

git-svn-id: trunk@16757 -
2011-01-13 14:06:24 +00:00
paul
368c215070 compiler: always derive DispInterface from IDispatch, this solve a problem with assigning dispinterface to IUnknown or IDispatch variables
git-svn-id: trunk@16756 -
2011-01-13 04:43:49 +00:00
paul
dad8313512 compiler: handle dispinterfaces the same way as com interfaces because they are IDispatch descendants: increment/decrement they references in assignments and parameters passing by _AddRef, _Release
git-svn-id: trunk@16755 -
2011-01-13 03:38:45 +00:00
joost
a9b8343a7e * Add .note.GNU-stack section to .or files, so that executables do not get an executable stack, bug #16545
git-svn-id: trunk@16754 -
2011-01-12 12:03:16 +00:00
sergei
3a23a3ebe0 Initial support of parametrized dispinterface properties:
* When parsing dispinterface properties, pass parameter/index nodes to translate_disp_call() instead of dropping them.
* Distinguish property getters from regular method calls and generate appropriate call descriptors.

git-svn-id: trunk@16753 -
2011-01-12 00:39:11 +00:00
ivost
97e700bbcc * enhanced date/time parser
git-svn-id: trunk@16752 -
2011-01-11 23:47:16 +00:00
ivost
1a66fb6f9b * splitted xmlxsd.pas into xmlxsd.pas and xmlxsdparser.pas
* now it's possible to use the xsd type parser without using libxml2

git-svn-id: trunk@16751 -
2011-01-11 23:09:00 +00:00
Jonas Maebe
bbf0e35a51 + Support for ARM CPS/CPSIE/CPSID instructions and mode flag bitfield
operand (patch by Jeppe Johansen, mantis #18334)

git-svn-id: trunk@16750 -
2011-01-11 16:02:51 +00:00
Jonas Maebe
d76ddcabe6 * don't give an internalerror when trying to explicitly apply an invalid
typecast to an array-of-const (mantis #18267)

git-svn-id: trunk@16749 -
2011-01-11 15:47:56 +00:00
joost
1e92e576dd * Use TDebugInfoDwarf2.appenddef_object's DoAppend also for writing the
debuginfo for standard classes in the Dwarf-3 format. (No changes for -gw2
   debuginfo. -gw3 debuginfo is changed)

git-svn-id: trunk@16748 -
2011-01-11 10:28:35 +00:00
paul
f9f316ac45 compiler: don't set a structure to routine if it accidentally match some (bug #0018452)
git-svn-id: trunk@16747 -
2011-01-11 02:00:27 +00:00
nickysn
fb943ef00b * do not hog the CPU while waiting for an event under Win32
git-svn-id: trunk@16746 -
2011-01-10 15:18:14 +00:00
michael
673497d15b * Patch from bug #18460
git-svn-id: trunk@16745 -
2011-01-10 14:10:41 +00:00
sergei
131b7fcdb2 * RTL: Replaced deprecated formatting symbols with their up-to-date counterparts, reduces compiler noise.
* Also removed some unused variables.

git-svn-id: trunk@16744 -
2011-01-09 15:27:05 +00:00
marco
f06a903427 * bytelen function added, patch by Cyrax, mantis 18441
git-svn-id: trunk@16743 -
2011-01-09 14:58:21 +00:00
joost
d5de153e39 * Refactored TDebugInfoDwarf2.appenddef_object, no functional changes, to easy code-reuse for Dwarf3s appenddef_object
git-svn-id: trunk@16742 -
2011-01-09 12:56:36 +00:00
paul
8f7ada0db0 compiler: use anonymous inherited in all cases where the next token <> _ID (bug #0018443)
git-svn-id: trunk@16741 -
2011-01-09 05:08:04 +00:00
sergei
c0f6084c2e * SysUtils.Format: Fixed behavior in case when format specifier contains both index and '*' for width/precision.
+ test

git-svn-id: trunk@16740 -
2011-01-08 20:08:16 +00:00
joost
a03c7cdc69 * Added two more Dwarf-4 constants
git-svn-id: trunk@16739 -
2011-01-08 16:56:36 +00:00
paul
86482658a8 compiler: fix tgeneric11 test:
- add stoAllowSpecialization to TSingleTypeOption enum to differentiate between any new type definition and only generic specialization
  - allow only specializations for class parents (not any other type definition)
  - allow specialization for method arguments and return types (maybe this must be allowed only in delphi mode but in this case tgeneric11 must fail)

git-svn-id: trunk@16738 -
2011-01-08 16:14:22 +00:00
Jonas Maebe
a40fe9c078 * fixed potentially wrong operation size in tgppccasenode.genlinearlist()
(was in practice currently probably always correct though)

git-svn-id: trunk@16737 -
2011-01-08 14:20:25 +00:00
joost
faeb80b55c * Write Dwarf-debug info for class constants
git-svn-id: trunk@16736 -
2011-01-08 14:11:05 +00:00
marco
a318f1c91e * Also changed the redef version of getprocessaffinity.. to dword_ptr.
Mants 18434

git-svn-id: trunk@16735 -
2011-01-08 12:35:10 +00:00
paul
def46487eb compiler: simplify _CLASS token handling in record declarations too
git-svn-id: trunk@16734 -
2011-01-08 05:27:19 +00:00
paul
d37fde7302 compiler: simplify _CLASS token handling in object declarations by Sven Barth (issue #18425)
git-svn-id: trunk@16733 -
2011-01-08 05:24:25 +00:00
Jonas Maebe
b49b3ecc61 * one more fix that should have been part of r16717: also generate
addr_pic_no_got references for linux in a_loadaddr_ref_reg()

git-svn-id: trunk@16728 -
2011-01-07 19:17:47 +00:00
paul
4e93ecda3d utils: fix ppudump generic tokenbuf reading
git-svn-id: trunk@16727 -
2011-01-07 17:47:23 +00:00
paul
f5965a9ce4 compiler: specialize record methods the same way as currently done for object and class methods + test
git-svn-id: trunk@16726 -
2011-01-07 16:57:21 +00:00
marco
24813219da * update of openbsd sysnr by Jasper Lievisse Adriaanse
git-svn-id: trunk@16725 -
2011-01-07 14:13:16 +00:00
paul
e0e01899e5 compiler: move parse_generic_parameters to the interface of pdecl unit, move insert_generic_parameter_types to pdecl unit to access them from pdecsub (preparations for generic methods implementation)
git-svn-id: trunk@16724 -
2011-01-06 17:53:46 +00:00
paul
31de2aab1b compiler: change parse_proc_head pd argument access type from var to out
git-svn-id: trunk@16723 -
2011-01-06 17:14:09 +00:00
joost
d97d2490c8 * Fixed the order in which the httpd-units are searched for (bug 18405)
git-svn-id: trunk@16722 -
2011-01-06 14:42:57 +00:00
paul
2599cc63bd compiler: implement generic procedural types
- store type parameter in parasymtable, push it to the symtablestack before parsing arguments and return type
  - move procedure/function declaration parsing to procvar_dec subroutine
  - don't skip parasymtable while searching types because they store type parameters now
  - add TParaSymTable.ReadOnly field to prevent adding defs into symtable. Add defs to the parent symtable in this case (we are adding this symtable to stack to read type parameters only, add defs should go to parent in this case as it was before)

git-svn-id: trunk@16719 -
2011-01-06 11:53:51 +00:00
paul
fab44804d2 test: forgotten { %fail } directive
git-svn-id: trunk@16718 -
2011-01-06 09:32:15 +00:00
Jonas Maebe
0da9d36116 * fixed internal assembler for x86-64 so that it correctly handles
relocations for addr_pic_no_got references (do not go via the GOT)
  * fixed code generator so that it generates addr_pic_no_got references
    also for platforms that use the internal assembler (this will break linking
    of some tests that check static data > 2GB on Linux/x86-64, but they were
    already broken before as well because we don't use the "huge" x86-64
    execution model)
  * fixed x86-64 Linux syscall code to not expect GOT-based relocations for
    the system unit's errno variable (it's an implementation-only variable)

git-svn-id: trunk@16717 -
2011-01-06 09:28:25 +00:00
michael
bd7b4840b0 * Forgot to add fpjsonrtti to makefile
git-svn-id: trunk@16716 -
2011-01-06 08:31:00 +00:00
Tomas Hajny
b8062957b9 * fix check for necessity of LIBPATH changes
git-svn-id: trunk@16714 -
2011-01-05 23:05:03 +00:00
michael
6898dcee66 * Example for streaming
git-svn-id: trunk@16713 -
2011-01-05 22:54:45 +00:00
michael
8390a18298 * Support for RTTI streaming
git-svn-id: trunk@16712 -
2011-01-05 22:49:00 +00:00
michael
853a1eb31c * Added support for project file
git-svn-id: trunk@16711 -
2011-01-05 22:19:53 +00:00
paul
749075a851 compiler: ignore case when check type parameters for identity
git-svn-id: trunk@16710 -
2011-01-05 18:27:05 +00:00
paul
0d6b62d293 compiler: allow generic inline specialization for delphi mode (like TFoo<Integer>.Create)
git-svn-id: trunk@16709 -
2011-01-05 18:12:44 +00:00
paul
d55a141d70 compiler: allow generics as class parents + fixed test
git-svn-id: trunk@16708 -
2011-01-05 05:03:21 +00:00
paul
bd64575add compiler: require generic name with type parameters for the method class prefix (like TGenericClass<T>.MethodName instead of TGenericClass.MethodName) in delphi mode
git-svn-id: trunk@16707 -
2011-01-05 04:35:56 +00:00