svenbarth
ee466b9a28
* extend tdef.fullownerhierarchyname() with a parameter that skips the inclusion of a procdef's parameter declaration using the new pno_noparams option
...
git-svn-id: trunk@35009 -
2016-11-28 18:06:35 +00:00
svenbarth
930070a8ca
+ new tprocnameoption pno_noparams to prohibit tprocdef.customprocname() from adding the procdef's parameters
...
git-svn-id: trunk@35008 -
2016-11-28 18:01:53 +00:00
svenbarth
3f77ce3b12
* leave parse_proc_head() (with some error recovery) if the interface could not be found instead of running straight into an access violation
...
+ added test
git-svn-id: trunk@35007 -
2016-11-28 17:54:48 +00:00
michael
a4e9a6d6e4
* Remove debug writeln
...
git-svn-id: trunk@35006 -
2016-11-28 12:50:51 +00:00
Jonas Maebe
1c820e9c8e
* similar change as in r34976 for the generic code: don't assume that if
...
a load node for a procsym has a self pointer, that we have to create
a procvar with a self pointer (e.g. when loading the address of a
static class method). Avoids the generation of superfluous code to
load self which is then not used afterwards
git-svn-id: trunk@35005 -
2016-11-27 21:54:50 +00:00
Jonas Maebe
26f9dabf56
* write the volatile flag for LLVM load/store operations if set
...
git-svn-id: trunk@35004 -
2016-11-27 21:44:32 +00:00
Jonas Maebe
4d951780d1
+ support for LLVM 3.8 and LLVM 3.9 IR to the llvm assembler writer
...
git-svn-id: trunk@35003 -
2016-11-27 21:44:29 +00:00
Jonas Maebe
3ea976fd2d
* fixed compilation of llvm compiler after r34996
...
git-svn-id: trunk@35002 -
2016-11-27 21:44:26 +00:00
Károly Balogh
74c1f2aec9
m68k: cosmetics (less C-ism)
...
git-svn-id: trunk@35001 -
2016-11-27 20:31:11 +00:00
florian
c32e41b551
+ add missing semicolon in fpc_initialize_array declaration, patch by Maciej Izak
...
git-svn-id: trunk@35000 -
2016-11-27 20:01:42 +00:00
florian
3faff7946d
* fix typo for endif VER3_0_0, patch by Maciej Izak
...
git-svn-id: trunk@34999 -
2016-11-27 20:01:41 +00:00
florian
5d8bcaeb4b
+ additional flag po_staticmethod for procoptions for class operator. Each class operator is also static, patch by Maciej Izak
...
git-svn-id: trunk@34998 -
2016-11-27 20:01:39 +00:00
michael
5786182188
* Proper fix for bug ID #30697
...
git-svn-id: trunk@34997 -
2016-11-27 19:54:49 +00:00
Jonas Maebe
a25ebbba3e
+ added volatility information to all memory references
...
o separate information for reading and writing, because e.g. in a
try-block, only the writes to local variables and parameters are
volatile (they have to be committed immediately in case the next
instruction causes an exception)
o for now, only references to absolute memory addresses are marked
as volatile
o the volatily information is (should be) properly maintained throughout
all code generators for all archictures with this patch
o no optimizers or other compiler infrastructure uses the volatility
information yet
o this functionality is not (yet) exposed at the language level, it
is only for internal code generator use right now
git-svn-id: trunk@34996 -
2016-11-27 18:17:37 +00:00
Károly Balogh
6dff85df58
math: replace trunc() with int() in some functions working with floats to avoid some unnecessary int64->double conversions, as trunc returns an integer, which then has to be converted back to float
...
git-svn-id: trunk@34995 -
2016-11-27 18:08:32 +00:00
Károly Balogh
5c87e870fd
tabs to spaces fix, no functional changes
...
git-svn-id: trunk@34994 -
2016-11-27 17:59:41 +00:00
Károly Balogh
4ee06e7bec
m68k: implemented in_int_real support
...
git-svn-id: trunk@34993 -
2016-11-27 17:50:10 +00:00
Károly Balogh
c3e68d6b2d
inline: implemented the second pass stub calls for inl_int_real nodes
...
git-svn-id: trunk@34992 -
2016-11-27 17:48:36 +00:00
Károly Balogh
c4e954c9a5
m68k: added fint and fintrz instructions
...
git-svn-id: trunk@34991 -
2016-11-27 17:42:24 +00:00
Jonas Maebe
26a05518f8
* implement unary minus for floating point via -1.0*x instead of 0-x,
...
because otherwise -0.0 stays 0.0 (fixes webtbs/tw4534 for llvm)
git-svn-id: trunk@34990 -
2016-11-27 17:17:02 +00:00
Jonas Maebe
5dfaecdbcf
- removed duplicate (differing) rule for ctypes unit
...
git-svn-id: trunk@34989 -
2016-11-27 16:16:04 +00:00
michael
76f7f81c85
* Raise exception if BasicEventCreate fails in constructor (bug ID 30769)
...
git-svn-id: trunk@34988 -
2016-11-27 16:08:40 +00:00
Károly Balogh
975dd13dcb
m68k: fixed a copy paste error, which broke cos node on a coldfire fpu, effectively turning it into a sin node
...
git-svn-id: trunk@34987 -
2016-11-27 15:59:16 +00:00
michael
c0f183258f
* Added EProgrammerNotFound and EInvalidOpException, by Silvio Clecio (bug ID 30627)
...
git-svn-id: trunk@34986 -
2016-11-27 15:54:06 +00:00
Károly Balogh
a595877da3
m68k: in fmove + op + fmove optimizations, allow the ops precision to be different to the fmoves
...
git-svn-id: trunk@34985 -
2016-11-27 15:17:58 +00:00
florian
7bb8873c83
* do not throw an internal error if in case of an previous error the parameter class of an errordef is requested, resolves #31016
...
git-svn-id: trunk@34984 -
2016-11-27 13:16:12 +00:00
michael
783f53d3a7
* Fix DateTimeToUnix, needs trunc instead of round (see bug ID #30697 )
...
git-svn-id: trunk@34983 -
2016-11-27 13:07:31 +00:00
florian
48fbd569fd
* support for the CDQE instruction, by Emelyanov Roman, resolves #30978
...
git-svn-id: trunk@34982 -
2016-11-27 12:42:22 +00:00
florian
44e5667372
* fix darwin rtl makefile for make 3.82, partly based on work by Alfred, resolves #30964
...
git-svn-id: trunk@34981 -
2016-11-27 12:27:25 +00:00
michael
c06ab3f0f3
* Fix bug ID #30954
...
git-svn-id: trunk@34980 -
2016-11-27 11:42:10 +00:00
Károly Balogh
98d4c426cb
m68k: some groundwork for an improved optimizer, now tries to optimize away MOVE/FMOVE based unnecessary register shuffling around ops when possible (with room for further improvements)
...
git-svn-id: trunk@34979 -
2016-11-27 11:23:11 +00:00
marcus
f426f8d225
Recreated fpcres Makefile (needed for arm-aros)
...
git-svn-id: trunk@34978 -
2016-11-27 10:56:56 +00:00
Jonas Maebe
477283031c
* fixed tprocvardef.size() for
...
a) C-blocks: they are equivalent to a voidpointertype, as they are
implicit pointer types
b) procvardefs created from static class methods (there is no
self pointer in this case)
o fixes webtbs/tw30936.pp with LLVM
git-svn-id: trunk@34977 -
2016-11-26 21:51:21 +00:00
Jonas Maebe
b2e99da3e6
* use tabstractprocdef.is_addressonly to determine whether a procvar is
...
stored in more than one register (has a self and a code pointer), instead
of assuming it always occupies more than one register if the original
procdef had a self pointer (can be different when getting the address
of a static class procedure)
git-svn-id: trunk@34976 -
2016-11-26 21:51:18 +00:00
florian
8b3478617d
* enable more feature on avr, as long as no pascal level file I/O is used, this does not hurt
...
git-svn-id: trunk@34975 -
2016-11-26 19:44:55 +00:00
florian
bcb7061314
* made TObject usable, even if no ansistring support is available
...
git-svn-id: trunk@34974 -
2016-11-26 19:33:31 +00:00
florian
da7e1b3769
+ tavraddrnode.pass_generate_code, avoiding unneeded moves
...
git-svn-id: trunk@34973 -
2016-11-26 19:31:33 +00:00
florian
bfb6d4d1b7
* enable test to work also with small targets taking only a shortint as longjmp argument
...
git-svn-id: trunk@34972 -
2016-11-26 18:42:15 +00:00
florian
0c238b72e5
+ set/longjmp implementation for avr
...
git-svn-id: trunk@34971 -
2016-11-26 18:33:15 +00:00
michael
10360a823e
* Fix bug ID #30960
...
git-svn-id: trunk@34970 -
2016-11-26 17:28:55 +00:00
michael
3e21810dbd
* Change comments for AdjustLineBreaks (bug ID 30959)
...
git-svn-id: trunk@34969 -
2016-11-26 17:05:54 +00:00
michael
18f2592433
* float version of modulo (Patch from Thaddy De koning, bug ID #30744 )
...
git-svn-id: trunk@34968 -
2016-11-26 16:57:34 +00:00
michael
ba35278552
* Patch from Werner Pamler to implement ^ in expression parser (Big ID 30970)
...
git-svn-id: trunk@34967 -
2016-11-26 16:16:57 +00:00
michael
784da563ef
* Patch from Silvio Clecio to implement QualifiedClassName (bug ID 30985)
...
git-svn-id: trunk@34966 -
2016-11-26 13:53:27 +00:00
michael
629d8277da
* Patch from Michalis Kamburelis to fix scanning of $ELSE (bug ID 31007)
...
git-svn-id: trunk@34965 -
2016-11-26 13:32:52 +00:00
lacak
2f1addbb11
fcl-db: sqlite: fix UpdateIndexDefs if TableName is in format DatbaseName.TableName. Partial fixes bug #30834
...
git-svn-id: trunk@34963 -
2016-11-25 12:31:43 +00:00
lacak
b78ff18bfa
fcl-db: sqlite: check if sqlite library is compiled with SQLITE_ENABLE_COLUMN_METADATA IOW there is API function sqlite3_column_origin_name() and co. Bug #30935
...
git-svn-id: trunk@34962 -
2016-11-25 12:12:07 +00:00
florian
f66ee3628c
* CPU bitness dependent counter sizes for faster testing on slow CPUs
...
git-svn-id: trunk@34959 -
2016-11-24 20:59:53 +00:00
Jonas Maebe
ef90b46e52
* comment fix
...
git-svn-id: trunk@34958 -
2016-11-24 19:47:48 +00:00
florian
8e7101a65a
* proper naming of the optimziation in the DebugMsg
...
git-svn-id: trunk@34957 -
2016-11-24 18:28:48 +00:00