florian
6197330bad
* arm thumb: take care of constant restrictions when creating interface wrappers for non-virtual methods
...
git-svn-id: trunk@24415 -
2013-05-03 21:12:16 +00:00
florian
f3b7f6197b
* arm thumb: generate proper code for rol
...
git-svn-id: trunk@24414 -
2013-05-03 20:53:58 +00:00
florian
cec28ef512
* when inserting pc relative data blocks on arm thumb, avoid negative pc offsets, if needed, the data is copied
...
a short test with the rtl shows that this happens exactly once in the rtl, so it is feasible to do so
git-svn-id: trunk@24413 -
2013-05-03 20:45:26 +00:00
florian
1f8192b6da
* indention fixes
...
* detabbed
git-svn-id: trunk@24412 -
2013-05-03 20:41:55 +00:00
yury
15b3695a0e
* ppudump: Proper tag for a source file in XML.
...
git-svn-id: trunk@24411 -
2013-05-03 15:13:28 +00:00
yury
eb26ccfbe7
* ppudump: Proper output of Unicode string constants.
...
git-svn-id: trunk@24410 -
2013-05-03 15:04:50 +00:00
yury
906cd9d365
+ ppudump: XML output.
...
git-svn-id: trunk@24409 -
2013-05-03 14:27:17 +00:00
yury
65d832420e
* ppudump:
...
- Check PPU version to be the same as the current PPU version of the compiler. It prevents reading errors if a unit has wrong PPU version. The version check can be turned off using -S switch.
- User WriteError() in appropriate places in the code.
git-svn-id: trunk@24408 -
2013-05-03 13:03:22 +00:00
yury
ad8f42cd29
* ppudump: JSON output of float, string, file, variant, undefined, formal definitions.
...
git-svn-id: trunk@24407 -
2013-05-03 12:28:19 +00:00
yury
44a0b61224
* ppudump: Write errors to StdErr and write warnings to StdErr when output to JSON.
...
git-svn-id: trunk@24406 -
2013-05-03 11:12:15 +00:00
yury
3a8ed11e23
* ppudump: JSON output of pointers and ordinal definitions.
...
git-svn-id: trunk@24405 -
2013-05-03 11:04:18 +00:00
nickysn
4527fe8fa2
+ added 8086 workaround for the 'imul reg,const' 186+ instruction. The compiler can now generate strict 8086/8088 code.
...
git-svn-id: trunk@24404 -
2013-05-01 19:18:12 +00:00
nickysn
fe275c4f47
* set nasm cpu type according to the current cpu level set by -Cp
...
git-svn-id: trunk@24402 -
2013-05-01 15:47:23 +00:00
nickysn
4c95592e08
* don't use 'fnstsw ax' if the current cpu level is below 286
...
git-svn-id: trunk@24401 -
2013-05-01 15:42:02 +00:00
florian
19c8abac0b
+ enable jump optimizer for i8086
...
git-svn-id: trunk@24400 -
2013-05-01 13:54:13 +00:00
sergei
8c91cddfc8
* Win64 SEH: Fixed handling control flow statements also in 'except' and 'on' parts of try..except statements.
...
git-svn-id: trunk@24398 -
2013-05-01 01:47:01 +00:00
florian
5e0585c0d0
+ introduce tf_no_objectfiles_when_smartlinking so object file generation on i8086-msdos can be turned off
...
* object file generation on i8086-msdos can be turned off if smartlinking is enabled
git-svn-id: trunk@24396 -
2013-04-30 19:11:55 +00:00
yury
679a8d9dd6
* ppudump: JSON output of sets and set constants.
...
git-svn-id: trunk@24394 -
2013-04-30 15:09:05 +00:00
yury
026200d75a
* ppudump: JSON output of enums.
...
git-svn-id: trunk@24393 -
2013-04-30 14:09:37 +00:00
sergei
c7937f6736
* Win64 exception handling: don't reset fc_unwind control flow flag at the beginning of try..except blocks. Resolves #24342 .
...
git-svn-id: trunk@24385 -
2013-04-30 03:56:58 +00:00
nickysn
8fddb1361b
* got rid of push const also in tcg8086.a_loadaddr_ref_cgpara
...
git-svn-id: trunk@24384 -
2013-04-29 23:13:09 +00:00
nickysn
cfc3c6ec5d
- cleanup tcg8086.a_loadaddr_ref_cgpara from unused code left over from i386
...
git-svn-id: trunk@24383 -
2013-04-29 23:08:12 +00:00
nickysn
e4f3dd1264
* do not emit shl/shr with a const different than 1 on 8086
...
git-svn-id: trunk@24382 -
2013-04-29 23:02:09 +00:00
nickysn
76e3dd5cef
* do not generate push const on the i8086, go through a register instead, unless it's 186+
...
git-svn-id: trunk@24381 -
2013-04-29 22:29:26 +00:00
nickysn
06f1b6a4e8
* moved the i8086 'push const' instructions to a new method, so they can be abstracted on pre-186 processors
...
git-svn-id: trunk@24380 -
2013-04-29 21:53:55 +00:00
florian
0e9b8adb7a
patch by Michael Ring:
...
+ support of several armv6m MCUs for arm-embedded
* renamed lpc1343 unit to lpc13xx
+ more lpc13xx MCUs added
git-svn-id: trunk@24379 -
2013-04-29 19:57:08 +00:00
nickysn
7c0679efdb
* use the 'leave' instruction on 80186+
...
git-svn-id: trunk@24378 -
2013-04-29 19:45:39 +00:00
florian
d4c7afbfe8
+ generate thumb_func directives for thumb as well
...
git-svn-id: trunk@24377 -
2013-04-29 18:23:01 +00:00
pierre
6d3121078d
Regenerate all Makefiles with an up-to-date fpcmake binary
...
git-svn-id: trunk@24373 -
2013-04-29 12:48:11 +00:00
sergei
1fea5a82c1
* Replaced oso_disabled flag by TExeSection.Disabled boolean property. Makes code a bit nicer to read.
...
git-svn-id: trunk@24361 -
2013-04-28 20:29:49 +00:00
sergei
8e6d6d0027
* Replaced strpcopy() by its equivalent. With sysutils in uses clause, strpcopy resolves to ansistring version, inserting a redundant conversion to ansistring.
...
git-svn-id: trunk@24360 -
2013-04-28 19:43:47 +00:00
nickysn
70649932de
* tlocation.value reverted back to longint on non 64-bit archs. This fixes the tset5.pp and tset5a.pp regressions on powerpc and probably other 32-bit platforms.
...
git-svn-id: trunk@24359 -
2013-04-28 17:52:06 +00:00
florian
18aaeff1d7
+ calculate node complexity for addrnodes and labelnodes
...
git-svn-id: trunk@24358 -
2013-04-28 16:36:10 +00:00
florian
ab39e6f7d8
* fix parameter order for compilerproc created by raise nodes
...
git-svn-id: trunk@24357 -
2013-04-28 16:34:28 +00:00
Jonas Maebe
6462d10b17
* de-tabbed
...
* mention ppudump (mantis #24328 )
git-svn-id: trunk@24355 -
2013-04-28 13:45:03 +00:00
Jonas Maebe
52dd59ee74
* write full help when executing ppudump without parameters (based on patch
...
by Reinier Olislagers, mantis #24328 )
git-svn-id: trunk@24354 -
2013-04-28 13:44:57 +00:00
florian
ac819b0b97
* jvm lazarus project file properly named
...
git-svn-id: trunk@24352 -
2013-04-28 08:39:20 +00:00
nickysn
40ab132efa
* replaced tcgint(lo(x)) with longint(lo(x)) and tcgint(hi(x)) with longint(hi(x)) in cg64f32.pas, which should fix some of the const sign expansion regressions on some 32-bit architectures
...
git-svn-id: trunk@24351 -
2013-04-28 07:42:56 +00:00
nickysn
99d3b453a4
* got rid of the i8086 nasm warning 'segment attributes specified on redeclaration of segment'
...
git-svn-id: trunk@24336 -
2013-04-26 22:17:42 +00:00
nickysn
3853d06ac0
+ added n8086cal.pas, based on n386cal.pas; this pulls in nx86cal.pas as well and fixes compilation of the system unit on i8086 after the merge of the i8086 branch to trunk
...
git-svn-id: trunk@24335 -
2013-04-26 20:19:57 +00:00
florian
a07af824ea
* properly fix raise node handling on x86-64 after r24288
...
git-svn-id: trunk@24334 -
2013-04-26 20:17:54 +00:00
yury
e212901658
* ppudump: JSON output of constants, records, arrays, class refs.
...
git-svn-id: trunk@24333 -
2013-04-26 15:55:29 +00:00
yury
12825a2f09
* Fixed unused var note.
...
git-svn-id: trunk@24332 -
2013-04-26 10:29:35 +00:00
yury
b4ba96fa5a
* ppudump: JSON output of properties and global vars.
...
git-svn-id: trunk@24331 -
2013-04-26 10:26:42 +00:00
pierre
4f8fcb7f15
Revert commit 24324 for ncgflow.pas unit to fix win64 cycle
...
git-svn-id: trunk@24328 -
2013-04-26 09:38:57 +00:00
florian
3d7033d81e
* Makefiles regenerated
...
git-svn-id: trunk@24325 -
2013-04-25 20:25:57 +00:00
florian
0e41df598e
* merge i8086 branch by Nikolay Nikolov
...
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
yury
3dd976c06f
* ppudump: Fixed writing of float values.
...
git-svn-id: trunk@24318 -
2013-04-25 10:31:45 +00:00
yury
d265e8d3be
* ppudump: JSON output of classes.
...
git-svn-id: trunk@24317 -
2013-04-25 10:03:29 +00:00
yury
7ad68debc9
* ppudump: Work in progress on JSON output. Implemented procedure definition.
...
git-svn-id: trunk@24316 -
2013-04-25 06:56:38 +00:00