Commit Graph

49576 Commits

Author SHA1 Message Date
Jonas Maebe
86876ed114 * MaybeRecordOffset: initialise "mangledname" variable
git-svn-id: trunk@34857 -
2016-11-09 19:51:36 +00:00
Jonas Maebe
e730da9c1a * turned resolveref from a local procedure into a virtual method
git-svn-id: trunk@34856 -
2016-11-09 19:51:33 +00:00
Jonas Maebe
af297e849c + function-level LLVM inline assembly decorator
git-svn-id: trunk@34855 -
2016-11-09 19:51:30 +00:00
Jonas Maebe
646385e966 * support for overriding the line ending character in external assembler
writer decorators (for LLVM function-level inline assembly: there
    newline has to be replaced by the character sequence '\0A')

git-svn-id: trunk@34854 -
2016-11-09 19:51:27 +00:00
Jonas Maebe
20a152d4e9 * simplified TExternalAssemblerOutputFile.AsmLn
git-svn-id: trunk@34853 -
2016-11-09 19:51:24 +00:00
Jonas Maebe
74a49b5f91 * restructured the the TExternalAssembler constructors so that the
hack for the Jasmin descendent is no longer needed

git-svn-id: trunk@34852 -
2016-11-09 19:51:20 +00:00
michael
8bbc792a4f * Patch from Mattias Gaertner for pas2js:
jsbase: Changed TJSString from WideString to UnicodeString to use ref counting on Windows.
  jsbase: Added TJSValue.CustomValue.
  fppas2js: Changed context from pas to js context. 
            The pas context is already in the resolver values. 
  fppas2js: Support for type alias
  fppas2js: Built in functions inc/dec for integers

git-svn-id: trunk@34851 -
2016-11-09 16:26:21 +00:00
Tomas Hajny
ff02b2dfb5 + added test based on bug #24504
git-svn-id: trunk@34850 -
2016-11-08 22:24:22 +00:00
Tomas Hajny
b7de70422f * fix for bug #24504 (extended version of patch by Bart Broersma)
git-svn-id: trunk@34849 -
2016-11-08 22:16:49 +00:00
yury
78abcbd4ca * pas2jni: Improved support for interfaces. Proper typecasting of an object instance to an interface.
git-svn-id: trunk@34848 -
2016-11-08 14:43:52 +00:00
michael
cfc1b88aec * Fix for bug ID #30762
git-svn-id: trunk@34847 -
2016-11-08 12:33:56 +00:00
lacak
7b3f96346f fcl-db: sqlite: check for NOT NULL columns and set Required for them. Bug #30837 (original patch by Silvio Clécio)
git-svn-id: trunk@34846 -
2016-11-08 11:30:47 +00:00
yury
d507456560 * pas2jni: Removed redundant ;.
git-svn-id: trunk@34845 -
2016-11-07 23:54:23 +00:00
yury
21234e413a * pas2jni: Fixed finalization of TP-style objects.
git-svn-id: trunk@34844 -
2016-11-07 23:30:40 +00:00
yury
3fd3ff9527 * pas2jni: Fixed double memory freeing when using method pointers in some rare cases.
git-svn-id: trunk@34843 -
2016-11-07 21:42:24 +00:00
yury
8e8521c43e * pas2jni: Fixed memory leaks when using inherited TP-style objects.
git-svn-id: trunk@34842 -
2016-11-07 21:19:17 +00:00
yury
d9e00bf43c * pas2jni: Use mswindows define instead of windows to be Delphi compatible.
git-svn-id: trunk@34841 -
2016-11-07 20:31:13 +00:00
yury
df95a73993 * pas2jni: Do not hard code record sizes in Java part. Instead get actual record sizes from the native code. It allows to use the same generated Java code for native libraries compiled for different CPU architectures.
git-svn-id: trunk@34840 -
2016-11-07 20:28:15 +00:00
marcus
f6e1411ddb Amiga: HookEntryPas to interface
git-svn-id: trunk@34839 -
2016-11-07 18:13:19 +00:00
nickysn
77dedfdcf5 - removed tai_const.create_pint and .create_pint_aligned, because they use the
pint type, which is now deprecated (as it does not always represent the
  correct pointer type in all i8086 memory models); replacements methods, which
  should be used instead are .create_sizeint, .create_int_dataptr or
  .create_int_codeptr (or their _unaligned counterparts)

git-svn-id: trunk@34838 -
2016-11-07 15:52:52 +00:00
nickysn
5bba79afb3 * use create_int_dataptr_unaligned instead of create_pint_unaligned in TDebugInfoDwarf.appendsym_absolute
git-svn-id: trunk@34837 -
2016-11-07 15:41:44 +00:00
nickysn
594290a16e + added *_unaligned counterparts to taiconst.create_[int|nil]_[code|data]ptr
git-svn-id: trunk@34836 -
2016-11-07 15:28:52 +00:00
nickysn
88ba9269ca * use .create_int_dataptr instead of .create_pint in the remaining two places where .create_pint is used
git-svn-id: trunk@34835 -
2016-11-07 15:09:07 +00:00
michael
32ec90dccf * Fix wrong index check for insert, border is different
git-svn-id: trunk@34834 -
2016-11-07 13:39:56 +00:00
pierre
e78cc24ca3 Regenerate Makefile with fpcmake
git-svn-id: trunk@34833 -
2016-11-07 12:56:52 +00:00
pierre
bbedd8ae68 Regenerate Makefile with fpcmake
git-svn-id: trunk@34832 -
2016-11-07 12:55:52 +00:00
pierre
686634d563 Regenerate Makefile with up-to-date fpcmake
git-svn-id: trunk@34831 -
2016-11-07 11:11:32 +00:00
pierre
0fe99558ef Makefile regenerated with up-to-date fpcmake after:
r34825 | pierre | 2016-11-06 19:12:49 +0100 (Sun, 06 Nov 2016) | 6 lines

  * Separate x86 register inc files into regdatx86 target
  + Add regdatmips target to regenerate mips register inc files.
  + Add regdat target, analog of insdat, to generate register inc files
  for all CPUs.

git-svn-id: trunk@34830 -
2016-11-07 07:42:26 +00:00
Károly Balogh
f31cefd240 amunits: new HookEntryPas function, to support hooks using the Register calling convention. It is actually advised to use cdecl functions instead.
git-svn-id: trunk@34829 -
2016-11-06 23:32:19 +00:00
Károly Balogh
38837ee973 m68k: make the new register calling convention the default
git-svn-id: trunk@34828 -
2016-11-06 22:01:25 +00:00
marcus
328772cc46 AROS: return code and comments in startupcode
git-svn-id: trunk@34827 -
2016-11-06 19:23:28 +00:00
Károly Balogh
6a856f109e m68k: made setjmp and longjmp code work when register calling convention is the default
git-svn-id: trunk@34826 -
2016-11-06 19:10:47 +00:00
pierre
6557ccbc84 * Separate x86 register inc files into regdatx86 target
+ Add regdatmips target to regenerate mips register inc files.
  + Add regdat target, analog of insdat, to generate register inc files
  for all CPUs.

git-svn-id: trunk@34825 -
2016-11-06 18:12:49 +00:00
pierre
3df9ac43a5 * cpubase unit, function findreg_by_number and dwarf_reg:
Set subreg type to R_SUBFS for fpu register
  and R_SUBD for integer register.

git-svn-id: trunk@34824 -
2016-11-06 18:04:50 +00:00
pierre
fd6d3b4971 Regenerated after change in mipsreg.dat
git-svn-id: trunk@34823 -
2016-11-06 18:01:52 +00:00
pierre
f870b0f8fc Fix stabs number for FPU register, which start at 38 instead of 32
git-svn-id: trunk@34822 -
2016-11-06 18:01:08 +00:00
Károly Balogh
4ee4099fca m68k: introduce a register calling convention, inspired by VBCC. volatile registers are used to pass arguments
git-svn-id: trunk@34821 -
2016-11-06 18:00:29 +00:00
marcus
f8a7708741 AROS: startupcode for arm-aros
git-svn-id: trunk@34820 -
2016-11-06 17:32:40 +00:00
michael
01550dd625 * Solution for solidus character, bug ID #30870
git-svn-id: trunk@34819 -
2016-11-06 17:27:36 +00:00
michael
5693bbf9ad * Remove unused unit from uses clause
git-svn-id: trunk@34818 -
2016-11-06 17:26:56 +00:00
michael
9926d37dda * Fix bug #30869, introduce CheckIndex in TStringList
git-svn-id: trunk@34817 -
2016-11-06 17:04:37 +00:00
florian
a27b07b342 + more restrictions on pred/succ to dec/inc optimization
o check if the argument can be used as a call by reference parameter
  o check if the argument has no side-effects
+ tests

git-svn-id: trunk@34816 -
2016-11-06 16:36:02 +00:00
Károly Balogh
a02ac161d6 aros: enable arosunits on ARM
git-svn-id: trunk@34815 -
2016-11-06 16:10:46 +00:00
Károly Balogh
ee3274166f fpmkunit: enable AROS on arm
git-svn-id: trunk@34814 -
2016-11-06 15:41:27 +00:00
florian
a705525e9b * allow prec/succ on non-consecutive enums if pred/succ are generated internally
git-svn-id: trunk@34813 -
2016-11-06 15:22:39 +00:00
florian
f4d1331bbe * fpcmake has been updated
git-svn-id: trunk@34812 -
2016-11-06 15:20:55 +00:00
Károly Balogh
7c1c964c28 arm-aros: enabled basic AROS on ARM build
git-svn-id: trunk@34811 -
2016-11-06 14:40:02 +00:00
florian
9553e8b5a8 * fix building of ppudump
git-svn-id: trunk@34810 -
2016-11-06 14:35:32 +00:00
Károly Balogh
657aa06360 arm: arm-aros syscall support
git-svn-id: trunk@34809 -
2016-11-06 14:31:42 +00:00
pierre
89c1b68b14 * Delete regvars unit.
This unit was empty unless OLDREGVARS macro was set,
    but this does not compile and no change has been made since 2011.

  * Remove regvars from all _USES clauses.

git-svn-id: trunk@34808 -
2016-11-06 14:01:39 +00:00