Jonas Maebe
e3e4d365c8
* converted the parts of tcgloadnode.pass_generate_code() and
...
tcgassignmentnode.pass_generate_code() for simple symbols and
for simple assignments from tcgobj to thlcgobj
git-svn-id: branches/jvmbackend@18283 -
2011-08-20 07:21:31 +00:00
Jonas Maebe
1e96eab55d
* made ttgobj.alloctemp/freetemp protected, and alloctemp also virtual
...
* made ttgobj.create virtual, added a "tgobjclass: class of ttgobj = ttgobj"
variable and use that one to instantiate new temp allocators
* created ttgjvm descendant that only allows allocations of 4 or 8 bytes
(rounding allocations < 4 bytes up to 4 bytes), and that divides the
offsets/sizes by 4 so we get stack slot numbers
git-svn-id: branches/jvmbackend@18282 -
2011-08-20 07:21:26 +00:00
Jonas Maebe
2cb4514c07
* converted all non-x86-specific and non-32bit-specific code to use hlcgobj
...
git-svn-id: branches/jvmbackend@18281 -
2011-08-20 07:21:21 +00:00
Jonas Maebe
72e9cfee24
* create/destroy also the high level code generator for all architectures,
...
so it can be used in generic code
git-svn-id: branches/jvmbackend@18280 -
2011-08-20 07:21:16 +00:00
Jonas Maebe
db203431b2
+ hlcgobj: high level code generator class. It has basically the same
...
interface as cgobj, except that all type parameters are defs instead
of tcgsize. Also includes some procedures from ncgutil (over time,
all of ncgutil will probably integrated here so it can be easily
overridden)
+ hlcg2ll: pass-through implementation of thlcg that forwards everything
either to cgobj or ncgutil, for use by the classic code generator
clients (all current platforms)
+ added "def" field to tcgpara to record the tdef of the parameter
(used by the high level code generator)
git-svn-id: branches/jvmbackend@18279 -
2011-08-20 07:21:09 +00:00
Jonas Maebe
d885bb66a0
+ branch for jvm code generator backend
...
git-svn-id: branches/jvmbackend@18276 -
2011-08-19 21:21:36 +00:00
Jonas Maebe
baf2a3f1fb
* fixed copy/paste error that didn't disable default inline support when
...
switching from a mode that has it to a mode that doesn't have it (which
meant that all modes had it, since the default FPC mode has it)
* added default inline support to mode macpas to minimize breaking existing
code due to this switch (only TP and ISO modes now don't have it by
default)
git-svn-id: trunk@18265 -
2011-08-18 18:12:09 +00:00
Jonas Maebe
cbb3e5700d
* now also includes univint directory for Darwin if necessary, not sure
...
why it wasn't in the version committed int r18251
git-svn-id: trunk@18264 -
2011-08-18 18:09:33 +00:00
Jonas Maebe
8c7f1e1013
* only transform multiplication nodes to sqr, not any kind of addnode
...
(fix for 18252)
git-svn-id: trunk@18263 -
2011-08-18 12:47:41 +00:00
Jonas Maebe
3abfec476a
* fixed range checke errors after aint->tcgint change
...
git-svn-id: trunk@18262 -
2011-08-18 11:53:34 +00:00
Jonas Maebe
3b9e1a4398
* fixed wrong class cast in r18226
...
git-svn-id: trunk@18261 -
2011-08-18 11:53:02 +00:00
sekelsenmat
658be2b0b7
fpvectorial: Adds multiline support for text, adds a new translate function to entities
...
git-svn-id: trunk@18260 -
2011-08-18 11:41:22 +00:00
marco
4c64519f31
* fix for yet another -j 2 issue. This time fcl-passrc dependency on fcl-base
...
git-svn-id: trunk@18259 -
2011-08-18 10:18:29 +00:00
sekelsenmat
cc8854b0bc
fpvectorial: Removes unused Z coordinates and makes the entity classes smarter, adds support for searching for elements
...
git-svn-id: trunk@18258 -
2011-08-18 09:13:47 +00:00
Jonas Maebe
b5fc32750b
* check whether both left and right are reals rather than twice whether left
...
is real before transforming a multiply into an sqr operation (fixes make
cycle after r18252, don't know where or even how it caused a wrong
optimization)
git-svn-id: trunk@18257 -
2011-08-18 09:12:13 +00:00
florian
41f25c2b21
* fixes cmem.malloc et al. for windows as proposed by Ludo Brands, resolves #15571
...
git-svn-id: trunk@18256 -
2011-08-18 08:47:44 +00:00
florian
859757003f
* fix SafeLoadLibrary: fixed defines, sse control word should be stored as well
...
git-svn-id: trunk@18255 -
2011-08-18 08:37:15 +00:00
Jonas Maebe
6748a9a238
* fixed forcing setelementn on the correct side in add nodes
...
(pass_left_right() can switch the sides, so putting it in the
correct location before calling that method is useless)
git-svn-id: trunk@18254 -
2011-08-17 20:12:47 +00:00
florian
275c6092e5
* avoid range check errors for empty ansistrings written/read from ppus
...
git-svn-id: trunk@18253 -
2011-08-17 19:01:03 +00:00
florian
e796a878ca
* convert <real x>*<real x> into sqr(<real x>), it might reduces register
...
pressure and/or memory accesses without a drawback
git-svn-id: trunk@18252 -
2011-08-17 16:00:16 +00:00
Jonas Maebe
f6fbc17463
* fpdoc depends on fcl-base
...
* fcl-base depends on univint for Darwin
git-svn-id: trunk@18251 -
2011-08-17 15:31:28 +00:00
sekelsenmat
02d1a26d92
fpvectorial: Adds support for guessing the document size and zoom level
...
git-svn-id: trunk@18250 -
2011-08-17 14:59:08 +00:00
pierre
8673b93ed5
Add missing regenerated Makefile
...
git-svn-id: trunk@18249 -
2011-08-17 13:29:49 +00:00
florian
d7708a45f1
* so far windows only
...
git-svn-id: trunk@18248 -
2011-08-17 13:01:32 +00:00
florian
a9034af414
+ added tests for recent stream modifications
...
git-svn-id: trunk@18247 -
2011-08-17 12:56:57 +00:00
florian
3e4469937c
* fix Types.UnionRect as proposed by Piotr Karasinski, resolves #20006
...
git-svn-id: trunk@18246 -
2011-08-17 12:01:23 +00:00
pierre
09e7570e57
* Avoid warning about unset variable in TestParents
...
+ Add check after moving current directory to root drive
for Dos style pathes.
git-svn-id: trunk@18245 -
2011-08-17 11:55:32 +00:00
florian
4c95e9fce5
* commented pdata type as proposed in #20004 by Michalis Kamburelis, resolves #20004
...
git-svn-id: trunk@18244 -
2011-08-17 11:47:41 +00:00
florian
87696a4b70
* cr*, dr*, tr* registers are 64 bit on x86-64
...
git-svn-id: trunk@18243 -
2011-08-17 11:42:11 +00:00
pierre
8dc1ce55c1
* Avoid infinite loop on Unix
...
git-svn-id: trunk@18242 -
2011-08-17 11:22:54 +00:00
florian
79a96ab287
+ ttypesym.prettyname
...
* write names of specialization type syms more pretty
git-svn-id: trunk@18241 -
2011-08-17 11:10:00 +00:00
sekelsenmat
b71d8e6ed6
fpvectorial: Fixes example compilation
...
git-svn-id: trunk@18240 -
2011-08-17 11:03:06 +00:00
florian
e2f21c0a56
* version update
...
git-svn-id: trunk@18239 -
2011-08-17 10:57:32 +00:00
florian
ae8c250c3e
* fix indention
...
git-svn-id: trunk@18238 -
2011-08-17 09:20:28 +00:00
florian
9b88297389
* patch by Michalis Kamburelis to keep the ending of TFPSList filled with zeros (space between count and capacity), resolves #20005
...
git-svn-id: trunk@18237 -
2011-08-17 09:05:58 +00:00
florian
ffde44ea6e
* forgotten part of r18233
...
git-svn-id: trunk@18235 -
2011-08-16 22:44:50 +00:00
florian
d6ad7721e6
* patch by Jeppe Johansen to avoid corruption of frame/stack pointer by pre/post indexed operations, resolves #19679
...
git-svn-id: trunk@18234 -
2011-08-16 22:43:30 +00:00
florian
2eb39c8843
* patch by Jeppe Johansen to support jumptable generation for case nodes on arm/thumb-2, resolves #19502
...
git-svn-id: trunk@18233 -
2011-08-16 22:39:00 +00:00
florian
1e1c45c665
* references containing a symbol must be virtually always pc relative on arm
...
git-svn-id: trunk@18232 -
2011-08-16 22:28:30 +00:00
florian
0cc53cc5df
+ patch from Benito van der Zander to enable heaptrc to dump leaked or faulty memory blocks (function disabled by default), resolves #19691
...
git-svn-id: trunk@18231 -
2011-08-16 20:47:15 +00:00
florian
8bc94610c7
+ tai_stab.create_ansistr
...
* write vmt info using create_ansistr, resolves #20003
* replaced move/getmem sequences in dbgstabs.pas by create_ansistr
git-svn-id: trunk@18230 -
2011-08-16 20:27:54 +00:00
florian
84b8733945
- remove accidently commited working directory entry
...
git-svn-id: trunk@18229 -
2011-08-16 20:18:22 +00:00
pierre
1c2a5f9819
+ Update all Makefile's modified by
...
change in utils/fpcm/fpcmake.ini in prevous commit.
Adapt also other files to that change:
* compiler/globals.pas: Replace $FPCTARGET by os_string if
tf_use_8_3 flag is set for target_info also.
* tests/Makefile.fpc: Modify TEST_TARGETSUFFIX in the same way
as TARGETSUFFIX was modified in previous commit.
* tests/utils/dotest.pp:
+ New variable UseOSOnly, set to true if only target OS name
should be used for subdirectories.
git-svn-id: trunk@18228 -
2011-08-16 20:10:19 +00:00
pierre
68d61c69e7
* Only use OS_TARGET for TARGET_SUFFIX if target is in LIMIT83fs list
...
* Update fpcmake.inc
git-svn-id: trunk@18227 -
2011-08-16 20:06:52 +00:00
florian
2f58065873
* don't warn about unsed symbols in generic procedures/methods, resolves #18907
...
git-svn-id: trunk@18226 -
2011-08-16 19:48:36 +00:00
florian
c32bc3a22a
* patch by Nikolay Nikolov to support Alt-Tab and Ctrl-Tab on the linux console, resolves #19247
...
git-svn-id: trunk@18225 -
2011-08-16 18:58:50 +00:00
florian
b5ebe6307f
* fix got loading si_c32, resolves #19520 (still uses the call/pop approach because it is faster on modern CPUs)
...
git-svn-id: trunk@18224 -
2011-08-16 18:45:39 +00:00
florian
6cb6d9ffaf
* patch by Michalis Kamburelis to make FGL lists First and Last properties that are settable, resolves #19874
...
git-svn-id: trunk@18223 -
2011-08-16 17:11:48 +00:00
pierre
99393e6a5d
* Warn only for go32v2 even for 2.7.1 version
...
git-svn-id: trunk@18222 -
2011-08-16 15:14:46 +00:00
sekelsenmat
691ee3b881
fpvectorial: Updates the comments
...
git-svn-id: trunk@18221 -
2011-08-16 15:06:45 +00:00