Commit Graph

41495 Commits

Author SHA1 Message Date
florian
cca520abd9 + warn for uninitialized out parameters when dfa is enabled
git-svn-id: trunk@25977 -
2013-11-06 21:11:03 +00:00
florian
722c59bcb1 * use the correct node in CalcLife
git-svn-id: trunk@25976 -
2013-11-06 21:11:01 +00:00
florian
2fc4a7fdd7 * better DFA debugging information
git-svn-id: trunk@25975 -
2013-11-06 21:10:58 +00:00
florian
89f34965e9 * fix dfa of for nodes, loopiteration node introduced to get proper life information for the loop
git-svn-id: trunk@25974 -
2013-11-06 21:10:55 +00:00
florian
63757c84ad * fix life information of block nodes
git-svn-id: trunk@25973 -
2013-11-06 21:10:52 +00:00
florian
1e4737c46d * fix life information of for nodes
git-svn-id: trunk@25972 -
2013-11-06 21:10:50 +00:00
florian
31f3bb900c * fix UpdateLifeInfo if n<>node
git-svn-id: trunk@25971 -
2013-11-06 21:10:48 +00:00
florian
1f05011113 * set successor of blocknodes properly
git-svn-id: trunk@25970 -
2013-11-06 21:10:45 +00:00
florian
b3c2a8ddb1 * set always resultnode as last node
git-svn-id: trunk@25969 -
2013-11-06 21:10:43 +00:00
florian
0a762e416f * always create a resultnode, also for procedures
git-svn-id: trunk@25968 -
2013-11-06 21:10:40 +00:00
florian
1fb3c2e0c2 * the successor of the last node is the resultnode if one exists
* create def/use info for temp. nodes

git-svn-id: trunk@25967 -
2013-11-06 21:10:38 +00:00
florian
20942d8b45 * fix life information generation of for nodes
git-svn-id: trunk@25966 -
2013-11-06 21:10:34 +00:00
florian
fa8abf7fcb * handle constructors correctly during dfa: the result note must point to self
* handle inline nodes correctly during dfa: they can create/destroy defs

git-svn-id: trunk@25965 -
2013-11-06 21:10:32 +00:00
florian
6f03d04fe1 * when using a pointer as array, the pointer is never written, only read
git-svn-id: trunk@25964 -
2013-11-06 21:10:30 +00:00
florian
9fdd64e94c * indention and new line fixes
git-svn-id: trunk@25963 -
2013-11-06 21:10:28 +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
aef0841fe4 * unified internalerror
git-svn-id: trunk@25961 -
2013-11-06 21:10:23 +00:00
florian
5f167091c0 * fix test so it works with const. propagation and does throws the range check error at run time
git-svn-id: trunk@25960 -
2013-11-06 21:10:20 +00:00
florian
b928b1e9c9 * reorganized generic optimization switches
git-svn-id: trunk@25959 -
2013-11-06 21:10:17 +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
florian
d39b9059d6 * improve simplification of arithmetic nodes, based on a patch by Jeppe Johansen
git-svn-id: trunk@25957 -
2013-11-06 21:10:13 +00:00
Jonas Maebe
d4b6406e62 * fixed compilation of new str<->float code on the JVM target (patch by
Max Nazhalov) and use that code by default on the JVM target
  * adapted JVM tests for the new str<->float code similar to how the
    generic tests were adapted

git-svn-id: trunk@25954 -
2013-11-06 16:13:50 +00:00
Jonas Maebe
3ed60082d3 * don't generate typed constant initialisers for set and enum constants
declared local to functions on the JVM target, because we don't generate
    field constants for them (fixes run time error when declaring a symbolic
    enum/set constant in a function on the JVM target)

git-svn-id: trunk@25953 -
2013-11-06 16:10:58 +00:00
Jonas Maebe
8fe7d82db7 * changed type of TAbstractSearchRec.name_do_not_touch from untyped pointer
into rawbytestring because otherwise -gt can overwrite it
  - removed hack from r25944 in morphos/sysutils.pp that worked around this
    problem

git-svn-id: trunk@25952 -
2013-11-06 13:17:06 +00:00
Jonas Maebe
1333edbba4 * added word() typecasts around constants in the smallint range passed to
NtoLE() so that they don't cause range check errors on big endian
    platforms 
  * fixed an error whereby a byte was passed to NtoLE (-> was converted to a
    smallint and swapped on big endian platforms)

git-svn-id: trunk@25951 -
2013-11-06 11:04:27 +00:00
Jonas Maebe
3c7ad95f7d * simplified RegInInstruction() and fixed range errors
git-svn-id: trunk@25950 -
2013-11-06 10:46:22 +00:00
Jonas Maebe
98a230d20f * don't call swapendian for shortint (it's 1 byte -> upcast to word and then
swapped, which is wrong)

git-svn-id: trunk@25949 -
2013-11-06 09:44:29 +00:00
lacak
d62b78224a fcl-db: tests: update comment to reflect, that in MySQL ODBC driver was fixed bug related to time values>='100:00:00'
git-svn-id: trunk@25947 -
2013-11-06 08:49:38 +00:00
lacak
50a76d9906 fcl-db: memds: implemented Locate and Lookup methods for TMemDataset.
(some inspiration and ideas taken from TDBF)
+ TestLookup
Bug 

git-svn-id: trunk@25946 -
2013-11-06 07:10:48 +00:00
sergei
797653dd14 * Reverted overflow/underflow handling in fpc_exp_real to original state of C port. In particular, changed constant values to typed constants. Resolves .
* Values like "huge" or "twom1000" must be declared as typed constants, so expressions using them are evaluated at runtime. E.g. "huge*huge" will either raise an overflow exception or will be evaluated as infinity, if overflows are masked. Calling float_raise() is not necessary anymore.
* Also replaced round() by trunc() when converting double to integer, this is how C defines such conversions.

git-svn-id: trunk@25945 -
2013-11-06 05:02:02 +00:00
Károly Balogh
3b87e2c386 fixed InternalFindFirst to initialize out Rslt properly, also reverted some earlier changes leading to potential issues as Jonas pointed out
git-svn-id: trunk@25944 -
2013-11-06 03:34:25 +00:00
Károly Balogh
83544d3f30 fix typo in comment
git-svn-id: trunk@25943 -
2013-11-06 03:17:35 +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
    )

git-svn-id: trunk@25941 -
2013-11-05 20:10:55 +00:00
Jonas Maebe
3c4294d186 * fixed handling of "-" in directory names in command to regenerate the
fpmake*.inc files

git-svn-id: trunk@25940 -
2013-11-05 20:10:46 +00:00
Károly Balogh
a691971b9d fixed RawByteString PathConv() return value, removed the no longer needed dosLock() function, and related cleanups
git-svn-id: trunk@25939 -
2013-11-05 18:52:27 +00:00
Károly Balogh
628149d923 support label offsets for ARM like GAS, allows things like ADR r4, .label + 256
git-svn-id: trunk@25938 -
2013-11-05 18:10:54 +00:00
Károly Balogh
b67e4fb8b3 added the ADR ARM pseudo instruction to instruction list
git-svn-id: trunk@25936 -
2013-11-05 13:16:33 +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
Károly Balogh
6522cd78ee added some float64() casts, based on similar casts in the 32bit code path, which makes ARM to build again
git-svn-id: trunk@25914 -
2013-11-02 17:44:47 +00:00
florian
b147693cc5 * comment updated
git-svn-id: trunk@25913 -
2013-11-01 20:22:46 +00:00
florian
1843ed59b5 * set p to a valid instruction
git-svn-id: trunk@25912 -
2013-11-01 20:09:28 +00:00
florian
ce9398f8d8 * do not reuse register on x86 either
git-svn-id: trunk@25911 -
2013-11-01 20:08:30 +00:00
Jonas Maebe
ee0d80ac19 * force use of real2str.inc after r25888 because it doesn't compile (yet?)
for the jvm target (mantis )

git-svn-id: trunk@25910 -
2013-11-01 19:20:47 +00:00
florian
f132a804d6 + handle 32 bit references on x86-64 so lea can be used for 32 bit arithmetics
git-svn-id: trunk@25909 -
2013-11-01 19:01:39 +00:00
florian
7fc1d70e49 * do reg2=reg1*const by lea if possible
git-svn-id: trunk@25908 -
2013-11-01 19:01:36 +00:00
florian
a16ceb6cdf * replace lea by add if possible
git-svn-id: trunk@25907 -
2013-11-01 19:01:33 +00:00
florian
80f8f66c6e * set file positions correctly in PeepHoleOptPass1
git-svn-id: trunk@25906 -
2013-11-01 19:01:31 +00:00
florian
4148637c8c * fold mov/lea/mov as well if possible
git-svn-id: trunk@25905 -
2013-11-01 19:01:29 +00:00
florian
524cde8140 + MatchReference
* refactored some code

git-svn-id: trunk@25904 -
2013-11-01 19:01:26 +00:00
florian
440cb33e80 * continue to use lea to adjust the stack pointer, it is the recommended way
git-svn-id: trunk@25903 -
2013-11-01 19:01:24 +00:00