Jonas Maebe
d5e5ca0531
* fixed conversion of LOC_JUMP in location_force_reg() for C-style booleans
...
(usually these are never LOC_JUMP, but it happens for LLVM)
git-svn-id: trunk@33941 -
2016-06-09 22:00:07 +00:00
Jonas Maebe
b76539a049
* fixed handling of uninitialised complex function results
...
git-svn-id: trunk@33940 -
2016-06-09 22:00:05 +00:00
Jonas Maebe
a59fc7c165
- disable attempts to generate debug info when using llvm for now
...
git-svn-id: trunk@33939 -
2016-06-09 22:00:02 +00:00
Jonas Maebe
ea54b6b2c5
* factored comp/currency-in-register handling out of a_loadfpu_reg_reg()
...
into llvmconvop() so it's also used by code using that routine
git-svn-id: trunk@33938 -
2016-06-09 21:59:58 +00:00
joost
561c7b0862
* Added ability to clear global-variable containing the compiler-version info
...
git-svn-id: trunk@33937 -
2016-06-08 21:06:34 +00:00
florian
7f44774852
* i386 uses OptPass1And from aoptx86
...
git-svn-id: trunk@33936 -
2016-06-07 20:01:13 +00:00
florian
ff506eb219
* enabled And2Test optimization
...
git-svn-id: trunk@33935 -
2016-06-07 20:01:11 +00:00
florian
a5fc8b629a
* factored out OptPass1AND from x86-64 and moved it to aoptx86
...
git-svn-id: trunk@33934 -
2016-06-07 20:01:09 +00:00
florian
5e8e21c1be
* factored out OpPass2MOV code, x86-64 uses it as well now
...
git-svn-id: trunk@33932 -
2016-06-06 21:18:24 +00:00
florian
4758271c91
* x86-64 uses OptPass1MOV
...
git-svn-id: trunk@33931 -
2016-06-06 21:18:23 +00:00
florian
6609e8def2
* correctly set the size of the operation when carrying out Mov Op Mov optimizations
...
git-svn-id: trunk@33930 -
2016-06-06 21:18:21 +00:00
florian
b274599a47
* made some assembler optimizer methods class methods
...
git-svn-id: trunk@33929 -
2016-06-06 21:18:20 +00:00
florian
e56147ac6e
* integrated mov op mov -> op optimization in aoptx86
...
* isFoldableArithOp is in aoptx86 now
git-svn-id: trunk@33928 -
2016-06-06 21:18:18 +00:00
florian
9ed6638baa
* moved MovAnd2Mov optimization to aoptx86
...
git-svn-id: trunk@33927 -
2016-06-06 21:18:16 +00:00
Jonas Maebe
7f2d970a1e
* fixed type encoding of C-style blocks for LLVM
...
git-svn-id: trunk@33926 -
2016-06-05 21:34:47 +00:00
Jonas Maebe
951ca4e62b
* fixed procdef used to call C-style blocks (only relevant for LLVM)
...
git-svn-id: trunk@33925 -
2016-06-05 21:34:45 +00:00
Jonas Maebe
ccf011dbc5
* C-style blocks are implicit pointers -> don't parse such typed constants
...
as a record
git-svn-id: trunk@33924 -
2016-06-05 21:34:42 +00:00
florian
8c5fdc9dc2
* softfpu patch by Max Nazhalov: Small fixes to softfpu.pp complementing r27215
...
git-svn-id: trunk@33923 -
2016-06-05 21:16:01 +00:00
Jonas Maebe
0ed6c3d80e
* also use the last floating point parameter register on AArch64 in case of
...
a HFA type (which in practice also applies to plain floating point types)
(patch by Alfred, mantis #30207 )
git-svn-id: trunk@33922 -
2016-06-05 20:18:24 +00:00
Tomas Hajny
cd236d1811
* fcl-pdf package added
...
git-svn-id: trunk@33918 -
2016-06-05 14:43:15 +00:00
Tomas Hajny
942360289f
* added short name for fcl-pdf
...
git-svn-id: trunk@33917 -
2016-06-05 14:37:26 +00:00
florian
dfe41db13f
* call GetNextInstruction only once when carrying out mov optimizations
...
git-svn-id: trunk@33916 -
2016-06-05 12:40:41 +00:00
michael
022e099e41
* Corrected implementation of ServiceRunning and WaitForServicecompletion
...
git-svn-id: trunk@33913 -
2016-06-05 08:40:50 +00:00
michael
ef7c327c7a
* Revert rev r33905, started from too old version
...
git-svn-id: trunk@33912 -
2016-06-05 08:27:55 +00:00
michael
d37dfecbd5
* Fix unit name
...
git-svn-id: trunk@33911 -
2016-06-05 08:25:16 +00:00
Károly Balogh
2eeb078f3e
m68k: removed obsolete and wrong comment. the '881 extended type is actually 12 bytes during load/store, not 10, which means longword alignment is fine. no functional changes.
...
git-svn-id: trunk@33910 -
2016-06-05 07:11:23 +00:00
florian
d05222990e
* while updating used register sets, all labels can/must be skipped
...
git-svn-id: trunk@33909 -
2016-06-04 19:45:12 +00:00
florian
ba54f7243e
* moved all i386 mov peephole optimization code into OptPass1MOV
...
git-svn-id: trunk@33908 -
2016-06-04 19:34:18 +00:00
florian
49f63d67b2
* correctly check left.location instead of left.expectloc when generating
...
code for not nodes, resolves #30208
git-svn-id: trunk@33906 -
2016-06-04 15:54:17 +00:00
michael
c026dab430
* Added ServiceRunning and WaitForServiceCompletion functions
...
git-svn-id: trunk@33905 -
2016-06-04 15:48:39 +00:00
svenbarth
7523e97d83
Fix compilation of JVM platform after recent changes to Delete() and Insert()
...
git-svn-id: trunk@33904 -
2016-06-04 10:42:09 +00:00
svenbarth
fd66d70449
innr.inc:
...
+ add constants for the Delete and Insert intrinsics
compproc.inc:
* use the new constants instead of magic values to denote the relationship of the compilerprocs to the intrinsics
git-svn-id: trunk@33901 -
2016-06-04 08:58:38 +00:00
svenbarth
17bb29ddc3
Check for tf_winlikewidestring in the target's flags instead of relying on the target being a Windows system when determining whether the system as the WideString type that's separate from UnicodeString
...
git-svn-id: trunk@33900 -
2016-06-04 08:45:22 +00:00
Tomas Hajny
293d9be6b6
* fix compilation after UnicodeString ExecuteProcess related changes
...
git-svn-id: trunk@33899 -
2016-06-03 23:57:51 +00:00
Tomas Hajny
3732ad18d1
* package libmicrohttpd is not compatible to anything but MS Windows and Unix platforms in its current state - disabled for OS/2 and Symbian
...
git-svn-id: trunk@33898 -
2016-06-03 23:28:38 +00:00
svenbarth
aaff6d0b97
Allow Delete() and Insert() to be used with generic types as arguments.
...
+ added test
git-svn-id: trunk@33897 -
2016-06-03 21:45:23 +00:00
svenbarth
9fb2a8bba9
+ added simple test to check whether Delete() and Insert() still work correctly (though a mistake there would probably have broken the cycling totally anyway...)
...
git-svn-id: trunk@33896 -
2016-06-03 21:38:29 +00:00
svenbarth
a2c9c75e97
Convert Insert() and Delete() to intrinsics in preparation for dynamic array support for these two procedures.
...
Since overloading compilerprocs does not work each procedure got its own unique name, but they are using the new compilerproc extension to map them to the Insert and Delete symbol so that error messages can be shown with the respective name for the procedure declarations instead of fpc_shortstr_delete for example.
git-svn-id: trunk@33895 -
2016-06-03 21:25:49 +00:00
Tomas Hajny
c1afb4b63b
* avoid FindFirst failing due to Attribute parameter bigger than $FF
...
git-svn-id: trunk@33894 -
2016-06-03 21:16:35 +00:00
svenbarth
046614948c
+ new utility routine to print all parameter declarations for a specified system routine
...
git-svn-id: trunk@33893 -
2016-06-03 21:11:13 +00:00
svenbarth
b4354aff5e
tprocdef.customprocname:
...
* if we have a compilerproc with a syssym then use the syssym's name when generating the name
git-svn-id: trunk@33892 -
2016-06-03 20:55:48 +00:00
svenbarth
8ec2d5478c
Regenerated after r33890
...
git-svn-id: trunk@33891 -
2016-06-03 20:53:58 +00:00
svenbarth
88108bc4df
Extend "compilerproc" with the optional ability to specify an index (same syntax as for "internproc") which allows to map the routine to a syssym.
...
git-svn-id: trunk@33890 -
2016-06-03 20:53:33 +00:00
svenbarth
2ed7a6de68
New class function tsymsym.find_by_number() to find a tsymsym instance based on it's number. The list containing the mapping from the indices to the symbols is created and freed using the init/done registration mechanism.
...
git-svn-id: trunk@33889 -
2016-06-03 20:49:06 +00:00
svenbarth
15ff68e144
Fix formatting of the output of unit import symbols.
...
git-svn-id: trunk@33888 -
2016-06-03 16:09:07 +00:00
svenbarth
b073d2dac5
Fix a bug in ppudump that seems to be there since revision 1.
...
compiler/utils/pputils/ppudump.pp, readsymbols:
* ibstartsyms only contains one longint, namely the count of the symbols, not two
git-svn-id: trunk@33887 -
2016-06-03 16:07:54 +00:00
svenbarth
99189db897
hlcgobj.pas, thlcgobj:
...
* g_call_system_proc: if we directly call a symbol of the system unit from another unit then it must be considered as imported as well
git-svn-id: trunk@33886 -
2016-06-03 14:50:42 +00:00
svenbarth
6c3dd6b601
Another system, another regression... (this time tests/test/tgenfunc15.pp on i386-win32)
...
pgenutil.pas:
* generate_specialization_phase2 & generate_specialization_procs: don't add pending specializations if we're currently parsing a generic
git-svn-id: trunk@33885 -
2016-06-03 12:36:27 +00:00
svenbarth
8c96fbed8f
Fix for Mantis #28832
...
ninl.pas, tinlinenode:
* pass_typecheck: let code pass on to simplify() for undefineddefs in Low() and High()
* simplify: create a constant 0 as fallback
+ added test
git-svn-id: trunk@33884 -
2016-06-03 12:14:30 +00:00
marco
869d24f7d1
* spelling mistakes fpc repo part, mantis #30233
...
git-svn-id: trunk@33882 -
2016-06-02 20:01:09 +00:00