Jonas Maebe
cdfb23bf6c
* converted some leftovers in tcgtypeconvnode.second_int_to_int/
...
second_real_to_real to thlcgobj
+ added type conversion to second_pointer_to_array for llvm
git-svn-id: branches/hlcgllvm@27000 -
2014-03-06 21:41:27 +00:00
Jonas Maebe
8cc9b64ad7
* don't discard typeconversion nodes that only change the result type when
...
compiling for llvm, because this type change also needs to be modelled in
llvm IR
git-svn-id: branches/hlcgllvm@26999 -
2014-03-06 21:41:24 +00:00
Jonas Maebe
5e79789f9e
+ dummy mmregister allocator for platforms that use such registers
...
git-svn-id: branches/hlcgllvm@26998 -
2014-03-06 21:41:19 +00:00
Jonas Maebe
bc0d4bbc87
+ support second_cmpfloat (just call through to second_addfloat, where the
...
comparisons are already implemented)
git-svn-id: branches/hlcgllvm@26997 -
2014-03-06 21:41:16 +00:00
Jonas Maebe
752b6739a8
* properly handle address and temp registers in return locations
...
git-svn-id: branches/hlcgllvm@26996 -
2014-03-06 21:41:12 +00:00
Jonas Maebe
6b7ed0234c
+ new globalsymbolmangleprefix/suffix constant set to '@"\01' resp. '"'
...
for llvm, and empty for other targets:
o the '@' is required to mark a global/static symbol identifier in llvm
o the double quotes are required in case special characters are involved
o the \01 means that the name should not be mangled by llvm (e.g., by
default it still adds the C-prefix to all symbol names, and replaces
some special characters with alternatives)
* apply this prefix/suffix in all name mangling routines
git-svn-id: branches/hlcgllvm@26995 -
2014-03-06 21:41:09 +00:00
Jonas Maebe
41a53ef037
* don't replace some pointer types in paralocs with int64, gives nicer
...
results in llvm (fewer needless pointer -> int -> pointer conversions)
git-svn-id: branches/hlcgllvm@26994 -
2014-03-06 21:41:04 +00:00
Jonas Maebe
68fa17593d
* no longer associated defs with size 1 to 3 bytes with paralocs, because
...
gcc and clang always allocate them in multiple of 4 bytes too (except in
case of _Bool, which is 1 byte -> do the same for PasBool) and this is
one possible interpretation of the ABI. This also frees us from having to
perform special adjustments afterwards to ensure that smaller values are
sign/zero-extended to 32 bits
git-svn-id: branches/hlcgllvm@26993 -
2014-03-06 21:41:00 +00:00
Jonas Maebe
81427523ab
* pass a list of (pointers to) the paralocs to hlcgobj.a_call/g_call*, as
...
required for the LLVM support (LLVM parameter support is not yet
included)
* always return the function return loc from a_call*, again as required
for the LLVM support
git-svn-id: branches/hlcgllvm@26992 -
2014-03-06 21:40:57 +00:00
Jonas Maebe
532d623be7
+ support for encoding records/objectdefs in LLVM-speak
...
git-svn-id: branches/hlcgllvm@26991 -
2014-03-06 21:40:52 +00:00
Jonas Maebe
20a8175bf1
+ support for subscript nodes in LLVM
...
git-svn-id: branches/hlcgllvm@26990 -
2014-03-06 21:40:49 +00:00
Jonas Maebe
e70175a10e
* added extra boolean parameter to getelementptr taillvm constructors to
...
indicate whether or not an implicit indirection should be added (always
was done until now)
git-svn-id: branches/hlcgllvm@26989 -
2014-03-06 21:40:46 +00:00
Jonas Maebe
cefcb856b6
+ code from the old llvm branch to create a "shadow symtable" for records
...
that contains their mapping to LLVM (mainly getting rid of variant parts
and adding explicit padding when not using {$packrecords c})
git-svn-id: branches/hlcgllvm@26988 -
2014-03-06 21:40:43 +00:00
Jonas Maebe
98be5b0825
* correctly handle loads/stores of aggregate types if the source and
...
destination types are different: the pointer types of the load/store must
be converted in that case, rather than the loaded/to be stored value
(you can't bitcast aggregates in LLVM)
git-svn-id: branches/hlcgllvm@26987 -
2014-03-06 21:40:39 +00:00
Jonas Maebe
43e0eb3cfd
+ llvmaggregatetype() helper that returns whether a def is represented by an
...
aggregate type in llvm
git-svn-id: branches/hlcgllvm@26986 -
2014-03-06 21:40:36 +00:00
Jonas Maebe
f344adaf22
* the first parameter of loadaddr_ref_reg has to be converted to a pointer
...
(it's the type of the data stored in memory at that address, but we use
the address itself here)
git-svn-id: branches/hlcgllvm@26985 -
2014-03-06 21:40:32 +00:00
Jonas Maebe
9902864cce
* don't output alignments for reference operands to bitcast & co
...
git-svn-id: branches/hlcgllvm@26984 -
2014-03-06 21:40:29 +00:00
Jonas Maebe
f629f38bbc
- removed unused local variable
...
git-svn-id: branches/hlcgllvm@26983 -
2014-03-06 21:40:25 +00:00
Jonas Maebe
9c674ff444
* made internalerror unique
...
git-svn-id: branches/hlcgllvm@26982 -
2014-03-06 21:40:21 +00:00
Jonas Maebe
c2c7f753a8
* don't hardcode the bitsize of the register states
...
git-svn-id: branches/hlcgllvm@26981 -
2014-03-06 21:40:18 +00:00
Jonas Maebe
839ad45b9e
* ensure that the lineinfo of temps corresponds to the lineinfo of the
...
procedure entry code
git-svn-id: branches/hlcgllvm@26980 -
2014-03-06 21:40:15 +00:00
Jonas Maebe
c095a1b06a
* also check regtype in get_spill_temp()
...
git-svn-id: branches/hlcgllvm@26979 -
2014-03-06 21:40:12 +00:00
Jonas Maebe
a6a72e210c
* fixed typo in comment
...
git-svn-id: branches/hlcgllvm@26978 -
2014-03-06 21:40:08 +00:00
Jonas Maebe
672c96a811
* write elements of bitpacked arrays grouped per the number of bits that
...
will be used to load them afterwards instead of always per byte so we
can use that loadsize as the array element type in llvm declarations
(-> less casting required)
git-svn-id: branches/hlcgllvm@26977 -
2014-03-06 21:40:04 +00:00
Jonas Maebe
e9268a0a14
* synchronised with trunk up till r26975
...
git-svn-id: branches/hlcgllvm@26976 -
2014-03-06 21:36:58 +00:00
Jonas Maebe
009c96a0bd
* fixed setting up the global switch for main programs without a "program"
...
header on platforms not in systems_unit_program_exports
git-svn-id: trunk@26975 -
2014-03-06 18:41:03 +00:00
reiniero
2388575d3b
fcl-db: export
...
* dbf export: default table format DBaseIV, set default autorename for fields to true
git-svn-id: trunk@26974 -
2014-03-06 18:16:47 +00:00
reiniero
7f22ae17ff
fcl-db: cosmetic
...
git-svn-id: trunk@26973 -
2014-03-06 15:10:11 +00:00
reiniero
3478ca4672
fcld-db: dbase:
...
* Harden Visual FoxPro code: detect nil varbinary field source
git-svn-id: trunk@26972 -
2014-03-06 15:09:38 +00:00
reiniero
d0c93f4cd8
fcl-db: dbtestframework:
...
+ add Visual Foxpro export test
git-svn-id: trunk@26971 -
2014-03-06 14:38:36 +00:00
michael
77b771e91b
* Let ToString return something meaningful for Exception
...
git-svn-id: trunk@26969 -
2014-03-06 13:34:40 +00:00
reiniero
b87b2add38
fcl-db: dbtestframework:
...
* Fix dbf export test column name collisions; fixes "field not found" when exporting
git-svn-id: trunk@26967 -
2014-03-06 12:40:32 +00:00
nickysn
fec4c6a6e2
* various rtl fixes that allow objpas.integer to be 16-bit on 16-bit targets
...
(still not sure if it's a good idea, but trying, at least, is harmless - we
can always rollback to integer being equal to longint)
git-svn-id: trunk@26966 -
2014-03-06 01:10:18 +00:00
florian
7aa25e4385
+ lazarus project for easier editing with lazarus
...
git-svn-id: trunk@26965 -
2014-03-05 20:31:37 +00:00
Jeppe Johansen
10522e9779
Disabled a_adjust_sp optimized steps for now.
...
Integrated proper stack frame calculation.
Changed rjmp to jmp in ATMEGA128 interrupt vectors.
git-svn-id: trunk@26964 -
2014-03-05 19:17:46 +00:00
pierre
d9c663f198
Add -Fl/usr/lib for openbsd target OS, required to find and link C startup objects
...
git-svn-id: trunk@26963 -
2014-03-05 17:07:48 +00:00
lacak
277c3fb00a
fcl-db: sqldb: cosmetic (reorder methods)
...
git-svn-id: trunk@26962 -
2014-03-05 14:40:43 +00:00
lacak
3765b74ecd
fcl-db: sqldb: simplify GetStatementInfo method signature
...
(it was protected and now is 3 weeks public in TSQLConnection)
git-svn-id: trunk@26961 -
2014-03-05 11:20:21 +00:00
michael
a1252febae
* Make sure UpdateCount=0 when inherited destructor is called (and ooFree is dispatched (Bug ID 25821)
...
git-svn-id: trunk@26960 -
2014-03-05 09:22:19 +00:00
michael
15bb6b2c72
* Patch from Luiz Americo to make fpobserver notifications take care of begin/endupdate (Bug ID 25820)
...
git-svn-id: trunk@26959 -
2014-03-05 09:15:30 +00:00
Jeppe Johansen
9b79f2f68d
Added support for 8-bit CPU's in RTL. Mostly for missing implementations of int<->string conversion and console/text output.
...
git-svn-id: trunk@26958 -
2014-03-04 20:00:03 +00:00
Jonas Maebe
98517b9ac9
* set imaginary register start for JVM at register number 2, since there
...
are only 2 (fake) "real" registers
git-svn-id: trunk@26957 -
2014-03-04 19:42:43 +00:00
Jonas Maebe
ffac2feb59
* since we only build the deref for tprocdef.localst when we're
...
going to write it to the ppu since r26083, also only deref it
if that's the case (mantis #25814 )
git-svn-id: trunk@26956 -
2014-03-04 19:42:39 +00:00
Jonas Maebe
4f1207f603
+ support for specifying an optional command line parameter to use during a
...
recompile of a test
git-svn-id: trunk@26955 -
2014-03-04 19:42:35 +00:00
marco
4b677ca027
* link pangocairo on Darwin.
...
git-svn-id: trunk@26954 -
2014-03-04 16:29:50 +00:00
reiniero
b2ad159b5b
fcl-db: dbtestframework:
...
* cosmetic
git-svn-id: trunk@26953 -
2014-03-04 16:16:55 +00:00
reiniero
5bab60669c
fcl-db: dbtestframework:
...
* dbf export: ftBytes is not supported at the moment
git-svn-id: trunk@26952 -
2014-03-04 15:07:48 +00:00
nickysn
9743a9122d
* moved creation of voidpointertype, so that voidpointertype.size is available
...
earlier
git-svn-id: trunk@26951 -
2014-03-04 14:10:02 +00:00
reiniero
0ec6a79505
fcl-db: dbtestframework: MS SQL Server:
...
* Create tables allowing NULL values for non-primary keys
* Increase blob size per documentation in order to support large blobs
git-svn-id: trunk@26950 -
2014-03-04 13:08:33 +00:00
reiniero
8e28dd52b4
fcl-db: dbtestframework:
...
- revert functional changes of previous commit: better deal with NULL setting via connection/session or database level:
http://msdn.microsoft.com/en-us/library/ms174979.aspx
git-svn-id: trunk@26949 -
2014-03-04 12:46:56 +00:00