Commit Graph

42376 Commits

Author SHA1 Message Date
Károly Balogh
e286a7462c a slightly less broken getpathstring() for dos unit. yes, sadly this code is still in use on MorphOS, sysutils wraps to it
git-svn-id: trunk@26831 -
2014-02-22 09:40:41 +00:00
florian
ab3f5744e0 * skip dec/inc type checking in unspecialized generic methods, resolves #25603
git-svn-id: trunk@26830 -
2014-02-22 09:20:57 +00:00
Károly Balogh
31ec76422a redirect .s files to the RAM: drive on Amiga while compiling
git-svn-id: trunk@26829 -
2014-02-22 08:43:11 +00:00
Károly Balogh
c6d60979d2 set errno after syscalls. this fixes tiorte test at least. this code ideally should be in assembly, but it seems the assembler reader needs some fixing first...
git-svn-id: trunk@26828 -
2014-02-22 05:30:04 +00:00
Károly Balogh
50c59a1cc2 don't try to fillchar/move by a negative amount, fixes tmem test
git-svn-id: trunk@26827 -
2014-02-22 03:30:58 +00:00
Károly Balogh
74533a7c90 avoid generating addressing like <label>+8(aX), since this might fail during linking if label is more than 32k away, fixes linking with lineinfo unit here
git-svn-id: trunk@26826 -
2014-02-22 02:12:03 +00:00
svenbarth
60a07770f1 Fix cycling after addition of the new case simplification.
nset.pas, tcasenode.simplify: don't assume a specific order of the case labels

+ added test based on ppu.pas, tppu.getaint where no matching case label was found because of the ordering

git-svn-id: trunk@26825 -
2014-02-21 22:49:19 +00:00
svenbarth
500920030b Implement simplification of ordinal case nodes if the case expression is constant (might be useful when inlining).
+ nset.pas, tcasenode: add simplify method; for ordinal constant case expressions either return a copy of the correct block or return a nothing node if the constant did not match anything

+ added test to check that nothing is broken

git-svn-id: trunk@26824 -
2014-02-21 20:36:41 +00:00
nickysn
83dd2aed4a * refactored the pass_typecheck code for and/or/xor/comparisons, so that the logic is simpler, but still yields exactly the same result
git-svn-id: trunk@26823 -
2014-02-21 14:55:00 +00:00
michael
cc88c609c8 * Fixed known memory leaks, removed some debug statements and change TJSPrimaryExpressionIdent.AString -> name
git-svn-id: trunk@26822 -
2014-02-21 12:59:13 +00:00
michael
5c158507cf * Added some ease-of-use constructors
git-svn-id: trunk@26821 -
2014-02-21 12:58:00 +00:00
michael
1785a12670 * Fixed known memory leaks
git-svn-id: trunk@26820 -
2014-02-21 12:57:32 +00:00
michael
7d61aa0404 * Fixed known memory leaks
git-svn-id: trunk@26819 -
2014-02-21 12:56:58 +00:00
florian
6364cf412d * do not crash on invalid property declaration, resolves #23980
git-svn-id: trunk@26818 -
2014-02-19 19:44:06 +00:00
nickysn
3c332bf276 * not(is_signed(ld) xor is_signed(rd)) changed to (is_signed(ld)=is_signed(rd)) for better readability
git-svn-id: trunk@26817 -
2014-02-19 16:49:03 +00:00
lacak
58687847db fcl-db: bufdataset: formatting (cosmetic, char-case, ordering of methods)
git-svn-id: trunk@26816 -
2014-02-19 11:43:52 +00:00
sergei
c83f4c5ddc * Windows targets: removed 'errno' threadvar, OS error codes can be passed directly to Errno2InOutRes().
git-svn-id: trunk@26815 -
2014-02-19 07:28:46 +00:00
michael
d91da3bd6b * Patch from Petr-K to take into account modifier - for short date format (bug id 25731)
git-svn-id: trunk@26814 -
2014-02-18 21:23:13 +00:00
michael
3c3e2d1909 * Added NullStream compilation
git-svn-id: trunk@26813 -
2014-02-18 21:20:32 +00:00
florian
f7785be945 * make the dwarf line info reader more fault tolerant, patch by Martin Friebe, resolves #24900
git-svn-id: trunk@26812 -
2014-02-18 20:36:25 +00:00
florian
caba4a2050 + test for #24410 so it does not popup again
git-svn-id: trunk@26811 -
2014-02-18 19:30:42 +00:00
sergei
489b23cecd * Made TStartupInfo type common for win32 and win64 and updated as suggested by Mantis #23074.
* Deprecated StartupInfo variable because it is not there for Delphi compatibility (Delphi apparently does not have such variable in interface of its System unit), and we don't have other reasons to export non-portable stuff.

git-svn-id: trunk@26810 -
2014-02-18 16:49:08 +00:00
Jonas Maebe
5729c9c8ef * fixed shl/shr with constant value>=32 on 64 bit platforms
git-svn-id: trunk@26809 -
2014-02-18 16:46:36 +00:00
Jonas Maebe
7033ddf679 * converted tshshrnode to thlcgobj
o make sure that the return register has the correct size

git-svn-id: trunk@26808 -
2014-02-18 16:46:29 +00:00
sergei
5e762cc6ea * Second part of 64-bit Windows fixes and updates from Mantis #23074.
git-svn-id: trunk@26807 -
2014-02-18 09:26:47 +00:00
sergei
83deae45b8 * First part of 64-bit Windows fixes from Mantis #23074.
git-svn-id: trunk@26806 -
2014-02-18 02:10:35 +00:00
sergei
53f3bc052d - Do not compile non-SEH parts of exception handling if SEH is used.
git-svn-id: trunk@26805 -
2014-02-18 01:54:15 +00:00
svenbarth
1e48c7c930 Now that spilling correctly works on m68k we definitely need to store/restore the registers inside the FpSyscall functions. Fixes quite some tests.
* rtl/linux/m68k/syscall.inc:
    Remove "assembler" modifier and instead use an inline asm block with an accurate list of modified registers so that the compiler correctly stores/restores them

git-svn-id: trunk@26804 -
2014-02-16 21:21:40 +00:00
florian
6e1bf4d040 * properly simplify not(<const. cbool>), resolves #25255
git-svn-id: trunk@26803 -
2014-02-16 20:20:58 +00:00
florian
d185122799 * optimize type conversions away if bits has been masked by a previous and operation
git-svn-id: trunk@26802 -
2014-02-16 18:40:35 +00:00
florian
ac85d44899 * do OpCmp2OpS optimization also if after cmp follows an appropriate mov
git-svn-id: trunk@26801 -
2014-02-16 18:39:55 +00:00
michael
c3a0d0ece3 * Applied patch from Luiz Americo with some optimizations. (Bug ID 25745)
git-svn-id: trunk@26800 -
2014-02-16 18:14:00 +00:00
florian
150363c09e * thlcgobj.a_load_regconst_subsetreg_intern takes care if the whole register is modified
git-svn-id: trunk@26799 -
2014-02-16 15:13:43 +00:00
florian
07579cf0b7 * cleanup
git-svn-id: trunk@26798 -
2014-02-16 13:15:16 +00:00
florian
3dddd01309 * do not location_force_reg in tcgshlshrnode.second_integer if left is already in a register
git-svn-id: trunk@26797 -
2014-02-16 13:15:13 +00:00
svenbarth
ddb78fefdc Add a modeswitch for type helpers as discussed in core on 24th October 2013. It is disabled by default in all modes (afterall type helper support in Delphi started only beginning with XE3)
+ globtype.pas: add new modeswitch to modeswitch enum and name array
* ptype.pas & pdecobj.pas: check for new modeswitch instead of modeswitch class
* ppu.pas: increase ppu version as we've added a new modeswitch which requires correctly compiled units

* adjusted tests to enabled the modeswitch when necessary
+ added three new tests that check for correct functionality of modeswitch typehelpers

git-svn-id: trunk@26796 -
2014-02-16 12:58:24 +00:00
sergei
da910d654c + SPARC: two more peephole optimizations
git-svn-id: trunk@26795 -
2014-02-16 12:29:31 +00:00
florian
cbefdcf887 * patch by Martin Friebe to avoid wrong debugger output, resolves #25584
git-svn-id: trunk@26794 -
2014-02-16 10:11:20 +00:00
nickysn
f04acb2db7 * parse the memory model command line options and define the FPC_MM_* macro
in the first pass of reading parameters, so that #ifdefs based on the memory
  models can be used in fpc.cfg

git-svn-id: trunk@26793 -
2014-02-16 09:59:21 +00:00
florian
6e32f8ee8f * patch by Bernd which fixes InterLockedxxx functions on ARMv4T, resolves #25518
git-svn-id: trunk@26792 -
2014-02-16 09:10:00 +00:00
florian
1882ab8d5a * i8086 has no cpu_capabilites
git-svn-id: trunk@26791 -
2014-02-16 08:27:29 +00:00
florian
0d6cc46a5e + CPU type corei
git-svn-id: trunk@26790 -
2014-02-16 08:27:27 +00:00
florian
84f7f5f934 * popcnt has a separate cpuid flag so we should separate it from sse
git-svn-id: trunk@26789 -
2014-02-16 08:27:24 +00:00
florian
711c533573 * moved test because it tests a certain functionalty and was made solely to test strutils.IsWild
git-svn-id: trunk@26788 -
2014-02-15 15:32:50 +00:00
michael
4378063247 * Use factory for fielddefs
git-svn-id: trunk@26787 -
2014-02-15 10:48:58 +00:00
michael
196d8cee3d * Use factory for fielddefs
git-svn-id: trunk@26786 -
2014-02-15 10:48:52 +00:00
michael
56280f3be9 * Use factory for fielddefs
git-svn-id: trunk@26785 -
2014-02-15 10:48:45 +00:00
michael
d7d4035252 * Use factory for fielddefs
git-svn-id: trunk@26784 -
2014-02-15 10:48:35 +00:00
michael
60056b260d * Use factory for fielddefs
git-svn-id: trunk@26783 -
2014-02-15 10:48:28 +00:00
michael
7b460e0e5e * Use factory for fielddefs
git-svn-id: trunk@26782 -
2014-02-15 10:48:22 +00:00