Jonas Maebe
2d335baab8
* create only a single tai_string for shortstrings typed constants
...
whose type length is larger than the specified string
* corrected place of ftcb.maybe_end_aggregate() call
git-svn-id: branches/hlcgllvm@28134 -
2014-07-02 17:24:56 +00:00
Jonas Maebe
23f34608ed
* null-terminate tai_strings loaded from ppus
...
git-svn-id: branches/hlcgllvm@28133 -
2014-07-02 17:24:53 +00:00
Jonas Maebe
9f39188253
* moved the tai_*typedconst classes to aasmcnst to make use of def-related
...
helpers in a cleaner way (defutils would not belong in the uses clause of
aasmtai)
git-svn-id: branches/hlcgllvm@28132 -
2014-07-02 17:24:50 +00:00
Jonas Maebe
2af0b46792
- removed unused variables
...
git-svn-id: branches/hlcgllvm@28131 -
2014-07-02 17:24:47 +00:00
Jonas Maebe
7ca4ebee9d
* fixed end of shortstring llvm def after r27015
...
git-svn-id: branches/hlcgllvm@28130 -
2014-07-02 17:24:44 +00:00
Jonas Maebe
3511aa4878
* don't write a tab character before an instruction that's a nested operand
...
git-svn-id: branches/hlcgllvm@28126 -
2014-07-01 16:31:03 +00:00
Jonas Maebe
1a77bc952e
* immediate write out partial string respresentations of instructions
...
rather than first concatenating everything, because in case of
instructions that have other tai as operands we have to ensure that
all previous output is flushed before the tai-operand is evaluated
(and written/flushed)
git-svn-id: branches/hlcgllvm@28125 -
2014-07-01 16:31:00 +00:00
Jonas Maebe
5b884c96f2
+ initial llvm implementation of the ttai_typedconstbuilder class
...
o now simple typed constants (integer, floating pointer, pchar)
and (non-variant) record typed constants containing such
elements work for llvm
git-svn-id: branches/hlcgllvm@28124 -
2014-07-01 16:30:57 +00:00
Jonas Maebe
a0c39220b1
* fixed (harmless) typecast errors when creating a string representation of
...
a procvardef
* handle procdefs like procvardefs when getting their string representation
in arbitrary expressions
git-svn-id: branches/hlcgllvm@28123 -
2014-07-01 16:30:55 +00:00
Jonas Maebe
0c10cbe63b
+ support for tai_symbol (in nested typed constant expressions)
...
git-svn-id: branches/hlcgllvm@28122 -
2014-07-01 16:30:52 +00:00
Jonas Maebe
f89b2e2b26
+ support for tai_string (in nested typed constant expressions)
...
git-svn-id: branches/hlcgllvm@28121 -
2014-07-01 16:30:49 +00:00
Jonas Maebe
204adf82c7
* handle tai_const instances as operands to other tai
...
git-svn-id: branches/hlcgllvm@28120 -
2014-07-01 16:30:46 +00:00
Jonas Maebe
f8f7c30f14
* support non-taillvm tai instances as operands to taillvm instances
...
git-svn-id: branches/hlcgllvm@28119 -
2014-07-01 16:30:43 +00:00
Jonas Maebe
6c45f9b3ee
* converted most of the asmlist-based typed const parsing to use the new
...
typed const builder class
git-svn-id: branches/hlcgllvm@28118 -
2014-07-01 16:30:40 +00:00
Jonas Maebe
02ad2e4879
+ unit with a buider class for typed constant/initialised data elements at
...
the assembler level
o initially for use during the typed constant parsing, but usable anywhere
we generate initialised data in the compiler
git-svn-id: branches/hlcgllvm@28117 -
2014-07-01 16:30:37 +00:00
Jonas Maebe
a8b2b576ca
+ new llvmconvop() routine that determines the conversion operation to
...
convert one def to another, including information regarding whether
it should be done via an intermediate integer typecast
* use this routine in hlcgllvm
git-svn-id: branches/hlcgllvm@28116 -
2014-07-01 16:30:34 +00:00
Jonas Maebe
bf617cb389
* changed hlcgobj.def2reg() into a class method so it can also be called
...
when there's no instantiated tlhcg
git-svn-id: branches/hlcgllvm@28115 -
2014-07-01 16:30:30 +00:00
Jonas Maebe
da3e931d68
+ support for tai_realconst in llvm assembler writer
...
git-svn-id: branches/hlcgllvm@28114 -
2014-07-01 16:30:27 +00:00
Jonas Maebe
8043254461
* factored out generating string representations of floating point numbers
...
in the llvm assembler writer
git-svn-id: branches/hlcgllvm@28113 -
2014-07-01 16:30:24 +00:00
Jonas Maebe
1e7d9c9f0e
+ support for instruction operands that are tai themselves in the llvm
...
backend (required for inserting bitcasts/ptrtoint/... operations inside
typed constant declarations)
o taillvm constructors for creating bitcast-style and getlementptr
operations that accept a tai as their source/base operand
git-svn-id: branches/hlcgllvm@28112 -
2014-07-01 16:30:22 +00:00
Jonas Maebe
7ebb1b813f
+ basic support infrastructure in the llvm assembler writer to write out
...
typed constant data
o llvm declarations now get an extra "initdata" list that contains the
typed constant data associated with this declaration (if any)
git-svn-id: branches/hlcgllvm@28111 -
2014-07-01 16:30:19 +00:00
Jonas Maebe
1fdb16b615
* fixed indentation
...
git-svn-id: branches/hlcgllvm@28110 -
2014-07-01 16:30:16 +00:00
Jonas Maebe
1047cdadcb
* factored out writing of a single tai, so this routine can call itself
...
recursively when writing out typed constant data
o basic support for tai_const
git-svn-id: branches/hlcgllvm@28109 -
2014-07-01 16:30:13 +00:00
Jonas Maebe
e51b893c9e
+ "typed const" tai that combines a tai and its associated tdef information
...
git-svn-id: branches/hlcgllvm@28108 -
2014-07-01 16:30:09 +00:00
Jonas Maebe
0082d3e008
* use hlcgobj methods in maybe_change_load_node_reg
...
git-svn-id: branches/hlcgllvm@28107 -
2014-07-01 16:30:05 +00:00
Jonas Maebe
dc57f537d4
* fixed indentation
...
git-svn-id: branches/hlcgllvm@28106 -
2014-07-01 16:30:01 +00:00
Jonas Maebe
b0ff41406a
* grouped all tai_real* types into a single tai_realconst type,
...
to free up space for more ait_* types in taitype (can't have
more than 32 because they have to fit in a small set)
o factored out writing of floating point numbers as an array of
byte in the external assemblers
git-svn-id: branches/hlcgllvm@28105 -
2014-07-01 16:29:58 +00:00
Jonas Maebe
a24c81a5f8
* added llvmdatalayout for mipsel-android
...
git-svn-id: branches/hlcgllvm@28104 -
2014-07-01 16:29:54 +00:00
Jonas Maebe
bacd303208
* synchronized with trunk up to r27758
...
git-svn-id: branches/hlcgllvm@27779 -
2014-05-12 16:12:34 +00:00
Jonas Maebe
362ff5ad01
* only check for _PROPERTY as a regular token, so that
...
{$modeswitch properties-} also affects global properties
(mantis #25861 )
git-svn-id: trunk@27758 -
2014-05-10 16:03:02 +00:00
michael
dc17b7ef46
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27757 -
2014-05-10 15:56:37 +00:00
michael
7c9d6184a1
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27756 -
2014-05-10 15:53:50 +00:00
michael
75c6d67bc7
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27755 -
2014-05-10 15:31:41 +00:00
michael
a1c9a98e68
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27754 -
2014-05-10 15:31:22 +00:00
michael
bbfd061dcf
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27753 -
2014-05-10 15:30:57 +00:00
michael
478f1a2c5f
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27752 -
2014-05-10 15:30:33 +00:00
michael
b26e9cc201
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27751 -
2014-05-10 15:30:09 +00:00
michael
36c662f69f
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27750 -
2014-05-10 15:29:29 +00:00
michael
8d4e81702e
* Extention -> extension (By Reinier, bug ID #25979 )
...
git-svn-id: trunk@27749 -
2014-05-10 15:28:22 +00:00
michael
89c4255ab8
* test for subrangeset
...
git-svn-id: trunk@27748 -
2014-05-10 15:24:31 +00:00
michael
c861384366
* Fixed bug #26117 , as proposed by reporter
...
git-svn-id: trunk@27747 -
2014-05-10 14:45:03 +00:00
michael
eb32f7bc2e
* Fixed bug #26130
...
git-svn-id: trunk@27746 -
2014-05-10 14:37:52 +00:00
michael
47fd732236
* Fix StrToDate incompatibility with delphi in case of trailing whitespace
...
git-svn-id: trunk@27745 -
2014-05-10 13:41:06 +00:00
Jonas Maebe
2075bf157e
* insert JVM checkcast instructions when a voidpointer is implicitly
...
converted to an incompatible type
git-svn-id: trunk@27744 -
2014-05-10 12:47:34 +00:00
Jonas Maebe
675498a53e
* javaa -> java
...
git-svn-id: trunk@27743 -
2014-05-10 12:47:31 +00:00
Jonas Maebe
ea0b9efd20
+ support for simplifying empty try-except statements
...
o required for the JVM target, as exception tables with start=end
are invalid there
git-svn-id: trunk@27742 -
2014-05-10 12:47:28 +00:00
Jonas Maebe
5fa09fa2f4
* changed tcallnode.fforcedprocname from shortstring into tsymstr,
...
so it doesn't truncate mangled names for the JVM target (it's
used there since r27149)
o adapted a number of WPO helpers to use tsymstr instead of
shortstring, but the WPO devirtualization functionality is
still limited to shortstrings internally
git-svn-id: trunk@27741 -
2014-05-10 12:47:25 +00:00
Jonas Maebe
9f6d6f4aa8
* copy tcallnode.fforcedprocname field
...
git-svn-id: trunk@27740 -
2014-05-10 12:47:22 +00:00
michael
6d43208e44
* Fixed memory leak, context and SSL object must be freed
...
git-svn-id: trunk@27739 -
2014-05-08 11:06:17 +00:00
lacak
aa62089fb3
fcl-db: sqldb: TSQLTransaction.EndTransaction should end transaction (a do not leave it active). So caCommitRetaining and caRollbackRetaining are only aliases of caCommit, caRollback in this case. Bug #26068
...
git-svn-id: trunk@27738 -
2014-05-05 10:36:22 +00:00