Commit Graph

40115 Commits

Author SHA1 Message Date
marco
28f45559a9 * IOleControl and some other interfaces from #22442. safecall folded to function:hresult;stdcall; calls.
git-svn-id: trunk@24435 -
2013-05-04 20:22:44 +00:00
florian
7bea00e5fb * arm thumb: allow interface trampolines to non-virtual methods with large offsets
git-svn-id: trunk@24434 -
2013-05-04 19:54:03 +00:00
florian
1682e9a2b1 * detabbed
git-svn-id: trunk@24433 -
2013-05-04 19:39:12 +00:00
florian
ed2825fbb0 * arm thumb: handle constants in second_cmpsmallset correctly
git-svn-id: trunk@24432 -
2013-05-04 19:38:12 +00:00
florian
c087d97b96 * typo fixed
git-svn-id: trunk@24431 -
2013-05-04 19:37:34 +00:00
marco
bfeae5ee43 * IStreamPersistInit. Patch part of Mantis #22442 (but not all)
git-svn-id: trunk@24430 -
2013-05-04 18:30:15 +00:00
paul
2cbc061707 compiler: write rtti for pointeddef before classrefdef and pointerdef rtti
git-svn-id: trunk@24429 -
2013-05-04 17:12:52 +00:00
marco
a98ba0287d * TryGetValue, patch by Denis Volodarsky, mantis #24378
git-svn-id: trunk@24428 -
2013-05-04 16:50:19 +00:00
marco
ce6c393ce2 * use win32 dll names for win64. (win32->Windows), patch by Andrew Brunner, mantis #24346
git-svn-id: trunk@24427 -
2013-05-04 16:47:53 +00:00
florian
5582827ed0 * do not depend on sysutils because unicodedata is a very basic unit
git-svn-id: trunk@24426 -
2013-05-04 16:25:41 +00:00
paul
d18f273f67 compier, rtl: revert 24424 since it fails on some platforms
git-svn-id: trunk@24425 -
2013-05-04 16:16:30 +00:00
paul
e23534eec4 compiler, rtl: some rtti related changes:
- write pint instead of 32 bit for record field offset (compiler uses aintsize = pint in TRecordDef), use PtrInt in RTL for record reading
  - add tkRecord to TTypeData (field and type names are taken from Delphi help)
  - add tkProcedure as alias to tkProcVar

git-svn-id: trunk@24424 -
2013-05-04 16:05:04 +00:00
paul
802b7db26e rtl: fix TTypeData comments
git-svn-id: trunk@24423 -
2013-05-04 14:38:41 +00:00
paul
65877e7111 rtl: fix TTypeData declaration - FPC does not generate PPTypeInfo as Delphi do but PTypeInfo instead
git-svn-id: trunk@24422 -
2013-05-04 13:17:32 +00:00
paul
d90445e5ee compiler, rtl, tests: write Delphi compatible (more or less) type information for Class Reference and Pointer types (mantis #0024367)
git-svn-id: trunk@24421 -
2013-05-04 12:47:05 +00:00
svenbarth
930b76e8fb Fix compilation of WinCE. Change the fixed UNICODE define of WinCE to FPC_OS_UNICODE, so that it won't be undefined when changing the mode/string type and that the usage of a UNICODE API is independant of the mode.
Also adjusted all Windows (Win32/64/CE) units to define a "UNICODE" if "FPC_OS_UNICODE" is defined (except the Jedi units).
Also the common RTL units that checked for UNICODE now check for FPC_OS_UNICODE.

git-svn-id: trunk@24420 -
2013-05-04 11:06:32 +00:00
florian
1de40c8de7 * arm thumb: fix spilling with offsets >1020
git-svn-id: trunk@24419 -
2013-05-04 10:51:01 +00:00
sergei
504b6754b7 * MIPS small improvements:
* TCGMIPS.a_load_reg_reg: generate CPU instructions instead of macros
  * TCGMIPS.a_cmp_const_reg_label: load constant using a_load_const_reg instead of LI macro (it may also end up with LI, but tries to optimize when possible).
  - removed unused variables.

git-svn-id: trunk@24418 -
2013-05-04 07:33:34 +00:00
sergei
1f8bd4a2d1 + MIPS: initial target-specific unary minus node.
git-svn-id: trunk@24417 -
2013-05-04 07:19:08 +00:00
paul
17e7ef0d28 ppudump: fix help message
git-svn-id: trunk@24416 -
2013-05-04 02:23:39 +00:00
florian
6197330bad * arm thumb: take care of constant restrictions when creating interface wrappers for non-virtual methods
git-svn-id: trunk@24415 -
2013-05-03 21:12:16 +00:00
florian
f3b7f6197b * arm thumb: generate proper code for rol
git-svn-id: trunk@24414 -
2013-05-03 20:53:58 +00:00
florian
cec28ef512 * when inserting pc relative data blocks on arm thumb, avoid negative pc offsets, if needed, the data is copied
a short test with the rtl shows that this happens exactly once in the rtl, so it is feasible to do so

git-svn-id: trunk@24413 -
2013-05-03 20:45:26 +00:00
florian
1f8192b6da * indention fixes
* detabbed

git-svn-id: trunk@24412 -
2013-05-03 20:41:55 +00:00
yury
15b3695a0e * ppudump: Proper tag for a source file in XML.
git-svn-id: trunk@24411 -
2013-05-03 15:13:28 +00:00
yury
eb26ccfbe7 * ppudump: Proper output of Unicode string constants.
git-svn-id: trunk@24410 -
2013-05-03 15:04:50 +00:00
yury
906cd9d365 + ppudump: XML output.
git-svn-id: trunk@24409 -
2013-05-03 14:27:17 +00:00
yury
65d832420e * ppudump:
- Check PPU version to be the same as the current PPU version of the compiler. It prevents reading errors if a unit has wrong PPU version. The version check can be turned off using -S switch.
  - User WriteError() in appropriate places in the code.
  

git-svn-id: trunk@24408 -
2013-05-03 13:03:22 +00:00
yury
ad8f42cd29 * ppudump: JSON output of float, string, file, variant, undefined, formal definitions.
git-svn-id: trunk@24407 -
2013-05-03 12:28:19 +00:00
yury
44a0b61224 * ppudump: Write errors to StdErr and write warnings to StdErr when output to JSON.
git-svn-id: trunk@24406 -
2013-05-03 11:12:15 +00:00
yury
3a8ed11e23 * ppudump: JSON output of pointers and ordinal definitions.
git-svn-id: trunk@24405 -
2013-05-03 11:04:18 +00:00
nickysn
4527fe8fa2 + added 8086 workaround for the 'imul reg,const' 186+ instruction. The compiler can now generate strict 8086/8088 code.
git-svn-id: trunk@24404 -
2013-05-01 19:18:12 +00:00
svenbarth
3ad0de732e Added a test for a bug that was fixed in Delphi in (maybe XE4) to make sure that a similar bug will not be introduced in FPC.
Source: http://www.deltics.co.nz/blog/?p=1397

git-svn-id: trunk@24403 -
2013-05-01 19:13:18 +00:00
nickysn
fe275c4f47 * set nasm cpu type according to the current cpu level set by -Cp
git-svn-id: trunk@24402 -
2013-05-01 15:47:23 +00:00
nickysn
4c95592e08 * don't use 'fnstsw ax' if the current cpu level is below 286
git-svn-id: trunk@24401 -
2013-05-01 15:42:02 +00:00
florian
19c8abac0b + enable jump optimizer for i8086
git-svn-id: trunk@24400 -
2013-05-01 13:54:13 +00:00
lacak
992ae091b5 fcl-db: sqlite: map MONEY to ftCurrency (extend compatibilty with f.e. PostgreSQL or MS SQL)
git-svn-id: trunk@24399 -
2013-05-01 08:58:35 +00:00
sergei
8c91cddfc8 * Win64 SEH: Fixed handling control flow statements also in 'except' and 'on' parts of try..except statements.
git-svn-id: trunk@24398 -
2013-05-01 01:47:01 +00:00
marco
bbc7d0c96b * vista+ gettickcount64
git-svn-id: trunk@24397 -
2013-04-30 19:12:20 +00:00
florian
5e0585c0d0 + introduce tf_no_objectfiles_when_smartlinking so object file generation on i8086-msdos can be turned off
* object file generation on i8086-msdos can be turned off if smartlinking is enabled

git-svn-id: trunk@24396 -
2013-04-30 19:11:55 +00:00
reiniero
c577f630d9 fcl-db/dbase:
+ support for stream-backed memo file which satisfies TTestSpecificTDBF.TestMemoClose test
* fix default record size 64 for (V)FP memo files

git-svn-id: trunk@24395 -
2013-04-30 16:26:25 +00:00
yury
679a8d9dd6 * ppudump: JSON output of sets and set constants.
git-svn-id: trunk@24394 -
2013-04-30 15:09:05 +00:00
yury
026200d75a * ppudump: JSON output of enums.
git-svn-id: trunk@24393 -
2013-04-30 14:09:37 +00:00
reiniero
d8f2f9ccaa fcl-db/dbase: cosmetic
git-svn-id: trunk@24392 -
2013-04-30 13:20:04 +00:00
lacak
91509eb30f fcl-db: odbc: fix NULL numeric parameter handling for MS SQL Server
git-svn-id: trunk@24391 -
2013-04-30 13:19:41 +00:00
reiniero
823ed70c46 * fcl/dbase: cosmetic: Dataset.txt language/layout fixes
git-svn-id: trunk@24390 -
2013-04-30 12:47:10 +00:00
lacak
2d352b0204 fcl-db: odbc: increase max. allowed string field length. Fix for existing tests TTestFieldTypes.TestStringLargerThen8192 and TestInsertLargeStrFields. (similar like rev.23141, 23198)
git-svn-id: trunk@24389 -
2013-04-30 10:45:12 +00:00
lacak
9168f1cbd3 fcl-db: formatting (unification char-case)
git-svn-id: trunk@24388 -
2013-04-30 09:59:31 +00:00
lacak
e280a8d97e fcl-db: base: TBinaryField.AsVariant should return variant Null when Field.IsNull
git-svn-id: trunk@24387 -
2013-04-30 08:59:55 +00:00
reiniero
3d74c089d2 * fcl-db/dbase: test data remains in memo memory storage after closing and opening
git-svn-id: trunk@24386 -
2013-04-30 06:56:43 +00:00