michael
d900f4a29f
* Added support for class methods/properties in records
...
git-svn-id: trunk@31205 -
2015-07-12 07:25:08 +00:00
pierre
960a72f821
Use AnsiString and sysutils GetEnvironmentVariable function to avoid truncation of PATH to 255 chars
...
git-svn-id: trunk@31202 -
2015-07-11 13:59:06 +00:00
Jonas Maebe
9118146bc1
* ensure that managed out-parameters are processed before any other
...
parameters:
1) since they are finalised on the caller side, if that same value
is passed as a value parameter as well and its reference count
was 1, then the value parameter will contain an invalid pointer
2) since finalisation involves a call, for optimal code generation
purposes they should also be evaluated first
(mantis #28279 , #28390 )
git-svn-id: trunk@31201 -
2015-07-10 22:04:35 +00:00
lacak
a2b7b9cd6e
fcl-db: odbc: experimental support for XML and sql_variant SQL Server data types
...
git-svn-id: trunk@31200 -
2015-07-08 13:00:59 +00:00
Jonas Maebe
5f21d6df93
* enable -godwarfsets by default
...
git-svn-id: trunk@31199 -
2015-07-07 17:12:31 +00:00
Jonas Maebe
945fd4fcf5
* wait till the end of typecheckpass before we load a call context's self
...
parameter instead of immediately doing it in the constructor of the call
node, and then only create it if we actually need it.
It was previously created in the call node constructor because it needs to be
done before pass_1 (which is where it is actually used) due to pass_1 possibly
being performed in the context of inlining (and then a wrong self parameter
may be found, or none at all), and it was done unconditionally because at that
point we don't know yet whether or not a self parameter will be necessary (as
we haven't resolved the overloads/procdef yet).
The problem with this is that if we use the parentfpstruct way of handling
accesses to outer scope locals/parameters, we need to know all locals/
parameters that will be accessed from nested routines after typecheckpass,
otherwise we get crashes. The problem was that if a call to an RTL routine was
generated by the compiler in a routine nested inside a method during pass_1,
and this nested routine itself did not access self of the method (so self was
not added to its parentfpstruct during the typecheckpass), then the
unconditional reference to self when creating the call caused a compiler
crash (introduced in r30908)
git-svn-id: trunk@31197 -
2015-07-07 16:34:14 +00:00
Jonas Maebe
5d15a28e75
- reverted workaround from r15939 that hasn't been necessary since FPC 2.6.0,
...
since that version already shiped with GNU AS 2.21 (mantis #17337 )
git-svn-id: trunk@31196 -
2015-07-06 08:05:37 +00:00
florian
ba1297b1ab
+ provide also 8 and 16 bit div/mod helper
...
* tmoddivnode.first_moddivint does not force a 32 bit helper, the used helper depends now on the resultdef type set by tmoddivnode.pass_typecheck
git-svn-id: trunk@31195 -
2015-07-05 20:16:50 +00:00
florian
cf64e05c6f
* use generic mod/div code for avr
...
git-svn-id: trunk@31194 -
2015-07-05 17:05:43 +00:00
Jonas Maebe
af2c7bf00f
* don't perform CSE on typeconversion nodes inserted for absolute
...
references, or anything below them (mantis #27210 )
git-svn-id: trunk@31193 -
2015-07-04 22:28:31 +00:00
Jonas Maebe
1bcc276dcf
* remove implicit typecast to extended automatically inserted for trunc/round
...
(due to the declaration in the system unit) on x86_64 if this allows us
to use SSE code instead (mantis #28366 )
git-svn-id: trunk@31192 -
2015-07-03 21:01:18 +00:00
Jonas Maebe
fa1ac2515e
* don't look for overloaded operators in case of internally generated
...
type conversions (mantis #28375 )
git-svn-id: trunk@31191 -
2015-07-03 20:19:48 +00:00
Jonas Maebe
ee87d3bba9
* fixed "case <string> of" with multiple labels for a single statement after
...
r30855 (mantis #28372 )
git-svn-id: trunk@31190 -
2015-07-03 20:04:25 +00:00
Jonas Maebe
e9d2eb6cff
* fixed a_load_reg_reg() when storing an array/record to another
...
array/record type (can happen for parameters/function results
that got a different type for ABI reasons)
git-svn-id: trunk@31189 -
2015-07-03 20:04:22 +00:00
Jonas Maebe
36e5291d94
* converted tcgguidconstnode.pass_generate_code to use the high level typed
...
constant builder
git-svn-id: trunk@31188 -
2015-07-03 20:04:18 +00:00
Jonas Maebe
7a8b5fd6c5
* several fixes for emitting aggregate typed constants with C/ABI packing:
...
o don't emit explicit padding bytes (LLVM adds them)
o don't mark them in LLVM as packed either
git-svn-id: trunk@31187 -
2015-07-03 20:04:15 +00:00
Jonas Maebe
4edb6e68fd
* fixed emitting Pascal extended typed constants inside aggregates for llvm
...
(have to be emitted as arrays of bytes to ensure they don't take up
more than 10 bytes)
git-svn-id: trunk@31186 -
2015-07-03 20:04:11 +00:00
michael
0958ff80de
* Fix bug #28364
...
git-svn-id: trunk@31185 -
2015-07-01 19:57:10 +00:00
michael
8cb651c0a5
* Correct documenting of advanced records
...
git-svn-id: trunk@31184 -
2015-07-01 19:44:47 +00:00
michael
a5715c078b
* Better parsing and declaration of record types
...
git-svn-id: trunk@31183 -
2015-07-01 19:44:17 +00:00
michael
770ad238f4
* Added Fail and TypeOf routines
...
git-svn-id: trunk@31182 -
2015-07-01 19:42:02 +00:00
Károly Balogh
7eb05ba2ab
AROS: use BPTR type as filehandle. BPTR is now PtrInt instead of a Pointer, because it's usually not directly referenceable, and that allows interoperability with THandle type
...
git-svn-id: trunk@31181 -
2015-06-29 23:11:02 +00:00
Károly Balogh
0d1c85a095
Amiga-likes: support unit_env environment variable for unit paths
...
git-svn-id: trunk@31180 -
2015-06-29 21:42:40 +00:00
Károly Balogh
a5abd4acd7
AROS/x86_64: fixed resources to use res_elf, set default stacksize for the more sensible 1MB instead of 8MB
...
git-svn-id: trunk@31179 -
2015-06-29 21:30:53 +00:00
Károly Balogh
02b9b1743e
AROS/x86_64: fixed linker support by removing duplicated code and unifying it with i386
...
git-svn-id: trunk@31178 -
2015-06-29 21:28:51 +00:00
Károly Balogh
77bdd83bfc
AROS/x86_64: regenerated Makefiles
...
git-svn-id: trunk@31177 -
2015-06-29 00:09:06 +00:00
Károly Balogh
eda311c0b3
arosunits: add some temporary kludge so it compiles at least on x86_64
...
git-svn-id: trunk@31176 -
2015-06-28 23:58:15 +00:00
Károly Balogh
32120a47f4
amicommon/sysutils: use THandle instead of Longint
...
git-svn-id: trunk@31175 -
2015-06-28 23:38:37 +00:00
Károly Balogh
c704b4b918
amicommon/sysfile.inc: use THandle instead of LongInt
...
git-svn-id: trunk@31174 -
2015-06-28 23:36:09 +00:00
Károly Balogh
51a6c217c7
amicommon/dos: some warning fixes - use PtrInt instead of LongInt; do not check for less than zero values in unsigned variables
...
git-svn-id: trunk@31173 -
2015-06-28 23:12:41 +00:00
Károly Balogh
f0ccbc87f2
AROS/x86_64: enable syscalls code in the parser, fix EAX->RAX reference base while calculating syscall offset
...
git-svn-id: trunk@31172 -
2015-06-28 23:04:51 +00:00
marcus
b3abbf066f
AROS: fixed inputevent (missing constants, wrong types)
...
git-svn-id: trunk@31171 -
2015-06-28 20:38:10 +00:00
florian
af6ffd751f
+ generate optimized code for shifts/rotates by constants
...
git-svn-id: trunk@31170 -
2015-06-28 20:28:51 +00:00
Károly Balogh
7ca62febcd
AROS/x86_64: initial AROS/x86_64 support and implement syscalls for AROS/x86_64
...
git-svn-id: trunk@31169 -
2015-06-28 19:16:40 +00:00
marcus
09addc9e78
fcl-passrc: support for syscall functions, parameter location, HASAMIGA define
...
git-svn-id: trunk@31168 -
2015-06-28 18:49:53 +00:00
Károly Balogh
4eaf1ffa48
FPCMake: enable AROS on x86_64
...
git-svn-id: trunk@31167 -
2015-06-28 15:58:23 +00:00
marco
c9ae6b34c6
* initial support for INSTALL_BINDIR. If that option isn't used behaviour
...
should be the same as old. Mantis #27272
git-svn-id: trunk@31166 -
2015-06-28 15:06:04 +00:00
marcus
627d63e7af
AROS: Startup code for x64
...
git-svn-id: trunk@31165 -
2015-06-28 14:51:50 +00:00
marcus
56ae2ad6bc
AROS: removed readintags and readinlongs (just a bug function), Added missing functions in AmigaDos, GetAttr overloaded with var parameter
...
git-svn-id: trunk@31164 -
2015-06-28 07:20:56 +00:00
nickysn
4cbf484124
* update the ptc version number in the readme
...
git-svn-id: trunk@31162 -
2015-06-26 21:33:49 +00:00
michael
d0df1c6fbb
* Empty string in case statement does not work
...
git-svn-id: trunk@31161 -
2015-06-26 09:24:10 +00:00
michael
33916f51d0
* Added logging demo
...
git-svn-id: trunk@31160 -
2015-06-26 09:12:31 +00:00
michael
4cc83ba03f
* Fix typo
...
git-svn-id: trunk@31159 -
2015-06-26 09:08:33 +00:00
michael
ba506acf9f
* Actually log new log types (ActualSQL and ParamValue)
...
git-svn-id: trunk@31158 -
2015-06-26 09:07:30 +00:00
michael
71ab58a2f1
* Added ActualSQL and ParamValue log types, correct SQLConnector so it passes log options on
...
git-svn-id: trunk@31157 -
2015-06-26 09:00:09 +00:00
michael
e209b1604f
* Correct error message for unknown connector, add param value message
...
git-svn-id: trunk@31156 -
2015-06-26 08:58:28 +00:00
lacak
2f97bc7f60
fcl-db: fix parameter parsing in case, when in SQL follows two comments, where in 2nd commend is embeded quote char. Bug #22463
...
git-svn-id: trunk@31155 -
2015-06-26 08:02:49 +00:00
michael
3a746b76fa
* Example to demonstrate how to create sql
...
git-svn-id: trunk@31154 -
2015-06-25 17:32:53 +00:00
marco
8b9daedf10
Patch by Lacak, mantis #28432
...
- adds missing Microsoft specific types (I am not sure if it is best add them to generic ODBC, but two MS specific types are alredy there so I added remaining 4)
- for conversion function I have added NtoLE to be sure that number are in little endian as expected by ODBC
git-svn-id: trunk@31153 -
2015-06-24 18:57:20 +00:00
Károly Balogh
cdfe930c31
Amiga-likes: fix the same header issues in Amiga and AROS, which was fixed for MorphOS in r30917
...
git-svn-id: trunk@31151 -
2015-06-23 23:22:22 +00:00