Commit Graph

47695 Commits

Author SHA1 Message Date
joost
b47d158920 * Stream objectlists to JSON
git-svn-id: trunk@32762 -
2015-12-27 13:36:16 +00:00
nickysn
283fd540da * increased the default dosbox timeout to 90 seconds
git-svn-id: trunk@32761 -
2015-12-27 12:43:01 +00:00
joost
1a37d8e3d6 * Procedure added to clear cache of already executed actions
git-svn-id: trunk@32760 -
2015-12-27 12:41:05 +00:00
joost
3f3c8197fb * A package now always has a filename, to fix PAckageRemoteArchive
git-svn-id: trunk@32759 -
2015-12-27 11:55:09 +00:00
Jonas Maebe
d44100448c * add support in the debug info for the dummy s128bit/u128bit types added
in r32735 (mantis #29259)

git-svn-id: trunk@32758 -
2015-12-27 11:45:24 +00:00
Jonas Maebe
5201547043 * don't reuse defs when writing RTTI for stored properties, as their layout
depends on how exactly they are stored

git-svn-id: trunk@32757 -
2015-12-27 11:14:41 +00:00
michael
3509a247d4 * Add ability to set Message Buffer size
git-svn-id: trunk@32756 -
2015-12-27 10:53:55 +00:00
blikblum
adcebe7a8c sqliteds: set memo conversion procedure in TSqliteDataset
git-svn-id: trunk@32755 -
2015-12-27 10:53:33 +00:00
blikblum
e65a6b9e50 sqliteds: fix indentation
git-svn-id: trunk@32754 -
2015-12-27 10:53:12 +00:00
blikblum
6189686c6d sqliteds: Ensure unique names in fielddefs
git-svn-id: trunk@32753 -
2015-12-27 10:40:58 +00:00
michael
07ca0393ff * Patch from Mattias Gaertner to fix range expression parsing (bug ID 29138)
git-svn-id: trunk@32752 -
2015-12-27 10:31:18 +00:00
michael
dda3f60df5 * Applied patch from Andrew H. to make XML format more verbose
git-svn-id: trunk@32751 -
2015-12-27 09:50:01 +00:00
Jeppe Johansen
970f0064ea Downgrade build message from makefile from error to warning for arm-embedded. This makes it possible to build a working RTL with external startup code for subarchs with no cpu units.
git-svn-id: trunk@32750 -
2015-12-26 23:58:09 +00:00
Jeppe Johansen
9d1646e2a8 Add support for writeback in RFE and SRS instructions.
git-svn-id: trunk@32749 -
2015-12-26 23:53:11 +00:00
Jeppe Johansen
803f402bf8 Fix minor bug in peephole optimizer.
git-svn-id: trunk@32748 -
2015-12-26 23:51:08 +00:00
yury
98ebcdc179 * pas2jni: Minor optimizations.
git-svn-id: trunk@32747 -
2015-12-26 21:55:32 +00:00
florian
c83fa22b2b * cleaned up initialization of (ptr)s/uinttype
git-svn-id: trunk@32746 -
2015-12-26 20:57:30 +00:00
florian
e1d4d167b4 * hidden high parameter must be of type ptrsinttype, resolves issue #29204
git-svn-id: trunk@32745 -
2015-12-26 20:48:50 +00:00
yury
95f933049a * pas2jni: Fixed memory leaks.
git-svn-id: trunk@32744 -
2015-12-26 20:48:15 +00:00
Jonas Maebe
e3d2980c98 * don't load data in a register when converting from void to an integer
type (like with integer(pointer1^):=integer(pointer2^))

git-svn-id: trunk@32743 -
2015-12-26 20:01:44 +00:00
Jonas Maebe
205136f924 * fixed the size used for setting uninitialised function results if it
has to be zero/sign-extended for ABI reasons

git-svn-id: trunk@32742 -
2015-12-26 20:01:38 +00:00
Jonas Maebe
fad7c8f151 * fixed indexing dynamic arrays and strings with a constant index (the index
was ignored in this case)

git-svn-id: trunk@32741 -
2015-12-26 20:01:32 +00:00
Jonas Maebe
31bd38c45b * only add the procdef's parentfpinitblock if there are any statements in it
* internalerror if we try to add a non-empty parentfpinitblock to a
    pure assembler routine

git-svn-id: trunk@32740 -
2015-12-26 20:01:25 +00:00
Jonas Maebe
5a8c151a72 * don't create the nestedvars struct for pure assembler routines, as
those will never call a nested routine using Pascal-level support
    for accessing local variables (even if the nestedvars stayed empty,
    this caused a stack frame to be allocated because a temp of 0
    bytes is rounded up to 4 bytes)

git-svn-id: trunk@32739 -
2015-12-26 20:01:14 +00:00
Jonas Maebe
aef6120438 * fixed shortstring constant emission after r28210: the terminating #0
was no longer included, so things went wrong if the string was reused
    for a pchar

git-svn-id: trunk@32738 -
2015-12-26 20:01:06 +00:00
Jonas Maebe
ea1e368328 + added div-by-zero and overflow checking support for mod/div
git-svn-id: trunk@32737 -
2015-12-26 20:00:57 +00:00
Jonas Maebe
4939c9a7b9 * implemented overflow checking for llvm
git-svn-id: trunk@32736 -
2015-12-26 20:00:44 +00:00
Jonas Maebe
9258b5d76b + non-functional 128 bit integer types (inaccessible from Pascal), for use
in the LLVM high level code generator to implement overflow checking

git-svn-id: trunk@32735 -
2015-12-26 20:00:33 +00:00
Jonas Maebe
cd5db0d186 * register the types for the cgparas instead of for the parameters of
procvardefs, as it's those types that we use in the LLVM IR

git-svn-id: trunk@32734 -
2015-12-26 20:00:18 +00:00
yury
f838251662 * pas2jni: Added TDateTime Java support class.
git-svn-id: trunk@32733 -
2015-12-26 19:52:03 +00:00
joost
51a216f5ca * PackageLocalArchive should always return a filename, to avoid hanlding directories as being archives
git-svn-id: trunk@32732 -
2015-12-26 17:30:54 +00:00
michael
ed2d21fd97 * Fix for bug ID #29144
git-svn-id: trunk@32731 -
2015-12-26 17:16:31 +00:00
michael
42804c935f * Declare TStringSplitOptions with scopedenum (bug ID 29032)
git-svn-id: trunk@32730 -
2015-12-26 16:16:02 +00:00
michael
5ab123883a * Make sure formatting settings are not used when passing datetime values
git-svn-id: trunk@32729 -
2015-12-26 16:08:14 +00:00
michael
143acd2497 * Patch from Mattias Gaertner to check for name when adding elements
git-svn-id: trunk@32728 -
2015-12-26 16:01:43 +00:00
michael
891aaa9732 * Fix bug ID #28737
git-svn-id: trunk@32727 -
2015-12-26 15:15:34 +00:00
michael
d392f7043f * Patch from Mark Morgan LLoyd to enable compilation for Solaris (bug ID 29223)
git-svn-id: trunk@32726 -
2015-12-26 15:04:37 +00:00
michael
e13c95443f * Create setters with const in front of value argument
git-svn-id: trunk@32725 -
2015-12-26 13:55:06 +00:00
michael
a756a2afac * Patch from Dmitriy A. Voroshin to handle clsoed named pipe more gracefully. (bug ID 29203)
git-svn-id: trunk@32724 -
2015-12-26 13:43:20 +00:00
michael
464e40bfd9 * Applies patch from Laco (bug ID 29113)
git-svn-id: trunk@32723 -
2015-12-26 11:27:13 +00:00
michael
dcefe41fe3 * Applied patch from Manfred Hahn to fic bcdSubtract (bug ID 29207)
git-svn-id: trunk@32722 -
2015-12-26 11:23:44 +00:00
florian
a7f1ce2e98 * patch by Dmitry Boyarintsev: initialize dyn. arrays more cleverly in a setlength call with ref. count>1, resolves issue #29250
git-svn-id: trunk@32721 -
2015-12-26 08:53:56 +00:00
florian
1857fd513e * osuinttype and ossinttype must match OS_INT and OS_UINT on avr as well
git-svn-id: trunk@32720 -
2015-12-26 08:38:53 +00:00
Jonas Maebe
99aaec5431 * handle typed constant definitions of variant records using different fields
than the one we use to construct the LLVM equivalent (which doesn't support
    variants), or in case the complete record is not defined in the source and
    has to be padded with zeroes
   o we do this by creating a new recorddef in this case with as elements the
     defs of the actually emitted constant data, and replacing the original
     def with this new def; note that this can also replace arrays in case of,
     e.g., an array of a variant record type
   o the pass in llvmtype takes care of inserting type conversions (bitcasts)
     when these constants are accessed using the original def

git-svn-id: trunk@32719 -
2015-12-25 21:05:45 +00:00
Jonas Maebe
926e62c886 + tai_aggregatetypedconst.changetorecord() to change the type of an
aggregate to a (new) recorddef
   o the size of the original type and that of the record must match
   o will be used by the LLVM generator in case of a variant record, or
     an array of variant records with constant data that does not match
     our canonical LLVM definition

git-svn-id: trunk@32718 -
2015-12-25 21:05:40 +00:00
Jonas Maebe
00c777e51a * add padding byte fields all as unsigned, as that is also how we
generate them in aasmcnst

git-svn-id: trunk@32717 -
2015-12-25 21:05:36 +00:00
Jonas Maebe
abcf441c00 * moved tllvmshadowsymtable items default property from private to public
section (although the compiler doesn't seem to care about it)

git-svn-id: trunk@32716 -
2015-12-25 21:05:31 +00:00
Jonas Maebe
f83f9168ee * emit all resource strings and internal dynamic string data using the
def representing that string type, instead of using p(wide)char
   o these string types are represented the same in llvm as p(wide)char,
     but this way we can check whether the emitted data type matches the
     expected one in the future

git-svn-id: trunk@32715 -
2015-12-25 21:05:26 +00:00
Jonas Maebe
787caf4dda * treat records with {$packrecords c} the same as other records for LLVM
o while in principle LLVM can layout those the same as we do, this would
     require special treatment in case some fields are not initialised in
     a typed record declaration (because then we have to emit padding only
     for the skipped fields, and not for any padding between them)
   o exception: records we create to represent parameters, as those have to
     match the ABI definitions exactly for them to be treated as expected

git-svn-id: trunk@32714 -
2015-12-25 21:05:22 +00:00
Jonas Maebe
f57a94b5aa * explicitly name the fields we add in llvmgettemprecorddef()
* use those field names when loading their addresses in
    thlcgllvm.a_load_ref_cgpara()/gen_load_cgpara_loc(), instead of
    assuming the field indices in the llvm representation of those
    records matches the parameter location order (it currently does
    because we let llvm lay out C-packed records, but that will
    change)

git-svn-id: trunk@32713 -
2015-12-25 21:05:17 +00:00