Commit Graph

3385 Commits

Author SHA1 Message Date
florian
27f6fd1c2c * use new shl/shr constant folding (of r26295) only if forinline is set
* explicitly simplify tree after constant propagation

git-svn-id: trunk@26311 -
2013-12-29 14:09:03 +00:00
nickysn
f2e73b5e6f + added 32-bit and 64-bit unsigned asm optimized multiplication routines for
i8086, contributed by Max Nazhalov

git-svn-id: trunk@26306 -
2013-12-28 22:43:45 +00:00
florian
be807d6cef + tests for dead store removal
git-svn-id: trunk@26299 -
2013-12-28 20:19:46 +00:00
sergei
179586f589 + SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH.
Although basic things work (no regressions in test suite, also with TEST_OPT=-O2), there are some secondary issues/TODOs:
- Exception frame around PASCALMAIN is not properly removed in DLLs
- No stack traces yet
- Stack overallocated in finalizer procedures, their entry/exit code needs cleanup
- Signals unit is probably completely broken.

git-svn-id: trunk@26225 -
2013-12-12 12:43:46 +00:00
lacak
9b4735032b fcl-db: mysql: remove obsolete mysql4conn unit replaced by mysql40conn and mysql41conn
git-svn-id: trunk@26221 -
2013-12-12 06:41:58 +00:00
marco
4871a7b1c9 * fix for mantis #25191, extract gobject routines to separate unit.
git-svn-id: trunk@26213 -
2013-12-10 17:38:32 +00:00
pierre
a5ea0d2b4c Add dbconfig program to handle TESTCONFIG table
git-svn-id: trunk@26209 -
2013-12-10 08:48:08 +00:00
lacak
29ddc3f688 fcl-db: mysql: add support for MySQL 5.6
git-svn-id: trunk@26197 -
2013-12-08 09:44:46 +00:00
michael
b480fc761a * Added to build, extra fix, added mysql56dyn
git-svn-id: trunk@26190 -
2013-12-06 15:55:26 +00:00
florian
49fe968d1d * the dfa code now behaves like the old initialization checking code: uninitialized parameters passed by reference cause only a hint
git-svn-id: trunk@26160 -
2013-12-01 17:01:57 +00:00
florian
99eadb91b3 * run CheckAndWarn to get proper locations for warnings about uninitialized variables
* several fixes to liveness analysis
* get rid of old version defines
+ tests

git-svn-id: trunk@26159 -
2013-12-01 17:01:51 +00:00
marco
840b2d7031 * delete textfile that was hardly updated for 2.0.x
git-svn-id: trunk@26155 -
2013-11-29 20:40:42 +00:00
Jonas Maebe
cddc31a1a8 * also allow 'cpXXXX' in addition to 'CPXXXX' code page names (mantis #15169)
git-svn-id: trunk@26148 -
2013-11-27 20:27:16 +00:00
Jonas Maebe
5e129b4ac5 * fixed TBinaryObjectReader.ReadSingle(), .ReadCurrency() and .ReadDate():
explicitly typecasting a qword to single/currency/tdatetime is no different
    from assigning it directly, since integer types are assignment-compatible
    with floating point types (mantis #25170)

git-svn-id: trunk@26146 -
2013-11-27 19:59:48 +00:00
Jonas Maebe
7be4e20307 * also don't put a value in registers if it is converted from a type that can
be held in one kind of register to a type that can be held in another kind
    of register (mantis #25361)

git-svn-id: trunk@26128 -
2013-11-24 12:49:23 +00:00
sergei
43c96cd898 * TBits.ORBits and TBits.XORBits: properly handle case when other TBits object has smaller Size. Mantis #25289.
git-svn-id: trunk@26121 -
2013-11-23 19:12:57 +00:00
Jonas Maebe
951727f453 * fixed crash when concatenating more than 2 ansistrings that are all empty
(mantis #25349, patch by C Western)

git-svn-id: trunk@26119 -
2013-11-22 12:57:41 +00:00
michael
21e178d9d2 * Patch from Inoussa to add binary streaming (bug id 25335)
git-svn-id: trunk@26113 -
2013-11-20 11:29:33 +00:00
paul
6e7cc22207 compiler: don't allow to assign to for-in loop variable (bug #0025318)
git-svn-id: trunk@26108 -
2013-11-19 05:29:37 +00:00
nickysn
fbca7ee2cb * check callerside if calleeside isn't available in is_ecx_used. Based on the
patch by Do-wan Kim, mantis #25269.

git-svn-id: trunk@26101 -
2013-11-16 19:39:15 +00:00
Jonas Maebe
b6d279d4aa * don't transform div-by-power-of-2 into a shift when overflow checking is
enabled (mantis #23849)

git-svn-id: trunk@26089 -
2013-11-14 15:47:49 +00:00
florian
92508a9801 * take of life of tlabelnode.left, the test does not test this however because I'am not aware of any example to force a left node for a label
git-svn-id: trunk@26082 -
2013-11-13 19:26:37 +00:00
lacak
aa147703d5 fcl-db: memds: when FieldDefs are changed set TableIsCreated to false to signal, that CreteTable should be called.
+ Add test unit for TMemDataset to allow test specific properties/methods of TMemDataset
+ Add this unit to test frameworks

git-svn-id: trunk@26025 -
2013-11-11 09:14:21 +00:00
florian
1d4a4d0684 + noreturn directive
git-svn-id: trunk@26003 -
2013-11-10 09:00:59 +00:00
florian
1a4584f4c6 + dead store elimination, based on a patch by Jeppe Johansen
git-svn-id: trunk@25962 -
2013-11-06 21:10:26 +00:00
florian
e8787c4b48 + constant propagation, based on a patch by Jeppe Johansen
git-svn-id: trunk@25958 -
2013-11-06 21:10:15 +00:00
Jonas Maebe
51763b26dd + iosxlocale unit that uses CoreFoundation to fill in the sysutils locale
settings on (Mac) OS X and iOS (implementation by Yury Sidorov, mantis
    #18528)

git-svn-id: trunk@25941 -
2013-11-05 20:10:55 +00:00
Károly Balogh
eb8858933d added a simple optional utility to convert FP Testsuite results to JUnit.XML format
git-svn-id: trunk@25915 -
2013-11-02 20:39:11 +00:00
Jonas Maebe
4becf1f3c1 + tests for mantis #23196 and #25122, already fixed by r25888
git-svn-id: trunk@25889 -
2013-10-31 13:10:48 +00:00
Jonas Maebe
21eeec9981 + re-implementation of real->string and string->real conversion routines
based on the Grisu1 algorithm. This corrects several precision issues
    with the previous code used to perform such conversions (patch by
    Max Nazhalov, mantis #25241)
   o adaptation of several tests to deal with the better precision of these
     routines compared to the previous version
  Please don't remove the real2str.inc file yet, it's still used by the
  JVM target for now

git-svn-id: trunk@25888 -
2013-10-31 12:39:27 +00:00
svenbarth
c077adf499 Fix for Mantis #25132
defcmp.pas, objectdef_is_related:
  * use "equal_defs" instead of "=", as the former also handles equivalence of specializations

+ added test

git-svn-id: trunk@25848 -
2013-10-25 19:50:56 +00:00
Jonas Maebe
555634b755 * (re)set upper bits of register when appropriate for all operations in
a_op_reg_reg() (except for NOT, which was already handled correctly)
    + test

git-svn-id: trunk@25840 -
2013-10-22 07:41:52 +00:00
svenbarth
d908dbeec1 Fix for Mantis #25215.
compiler/scanner.pas, tscannerfile.readtoken:
  * after trying to read a _INTCONST check whether a valid first character for an identifier follows and give a syntax error if that is not the case

+ added test

git-svn-id: trunk@25835 -
2013-10-20 12:15:49 +00:00
svenbarth
d91d4afb0f Fix for Mantis #25210 .
compiler/pdecobj.pas, object_dec:
  * since revision 25518 the global symtable of the current module is no longer popped and pushed again so that the defaware symtablestack can add the helper; thus we need to do this not only for static symtables, but for global ones as well
  * adjusted comment to reflect current situation

git-svn-id: trunk@25834 -
2013-10-20 11:33:01 +00:00
nickysn
e0350d6f44 + added test tlea2.pp, which tests the LEA instruction with a 64-bit, 32-bit and
16-bit operand size on x86_64

git-svn-id: trunk@25810 -
2013-10-17 18:25:17 +00:00
nickysn
4aa010eedc + support LEA with 16-bit operand size
git-svn-id: trunk@25808 -
2013-10-17 16:11:08 +00:00
Jonas Maebe
8dd956cbde * convert unicode/widestring constants to ansistring in resourcestring
declarations (mantis #25198)

git-svn-id: trunk@25807 -
2013-10-17 12:43:39 +00:00
Jonas Maebe
2b1a077b98 + added now that the iOS SDK files aren't under NDA anymore
git-svn-id: trunk@25788 -
2013-10-14 19:29:39 +00:00
nickysn
e18f336f3f + added unit ptcmouse, similar to winmouse and msmouse, for use with ptcgraph and ptccrt
git-svn-id: trunk@25779 -
2013-10-14 14:31:14 +00:00
Jonas Maebe
10ae87f11c * fixed LdrLdr2LdrMov optimisation in case the first and second ldr have
a different size (disable it in that case) + test

git-svn-id: trunk@25778 -
2013-10-14 12:49:34 +00:00
Jonas Maebe
31a3122b91 * fixed LsrAnd2Lsr test by replacing the existing buggy check with comparing
the outcome of the original and the optimised sequence and seeing whether
    it's same + test

git-svn-id: trunk@25776 -
2013-10-14 12:49:28 +00:00
nickysn
014a4e4653 * updated PTCPas to version 0.99.14
git-svn-id: trunk@25771 -
2013-10-13 22:34:01 +00:00
paul
1c578de28c compiler:
* don't allow to apply the same hint directive twice
  * change parser_e_proc_dir_not_allowed to more generic variant parser_e_dir_not_allowed - they are similar and 'procedure' prefix does not give more information about the error.
  * maybe_parse_hint_directives() uses procdef settings for initial values
  + add tests

git-svn-id: trunk@25720 -
2013-10-08 04:56:42 +00:00
paul
912384594b fpc: allow hint directives between other procedure directives in Delphi mode (issue #25101)
git-svn-id: trunk@25710 -
2013-10-07 10:59:53 +00:00
michael
4bdf29795c * Example how to create public/private RSA key
git-svn-id: trunk@25709 -
2013-10-07 07:51:53 +00:00
florian
304d7ef7a1 * restores atari support/rtl partially
git-svn-id: trunk@25699 -
2013-10-06 19:36:59 +00:00
florian
f95b225157 * fix wrong constant temp handling, introduced in r24953, resolves #24915
git-svn-id: trunk@25684 -
2013-10-06 13:08:52 +00:00
nickysn
8574642a1f + added and enabled compilation of unit printer for i8086-msdos
git-svn-id: trunk@25670 -
2013-10-06 00:14:08 +00:00
nickysn
119cf760eb * UpdateTargetSwitchStr moved to a new unit dirparse.pas. This avoids the dependence of unit scandir on unit options
git-svn-id: trunk@25629 -
2013-10-03 12:21:33 +00:00
sergei
5af873ee5b * x86 targets: Profiling shows that quite a bit of time is spent in findreg_by_number(), despite it uses binary search. Worse, it is repeated for every piece of register information. Trying to get rid of some of these calls: rearranged registers so that their "opcode" matches 3 LSBs of superregister number (with a few exceptions described at the beginning of x86reg.dat). This allows to lookup opcodes in regval() with O(1) complexity, and removes need in rXXXop.inc files.
git-svn-id: trunk@25627 -
2013-10-03 08:08:04 +00:00