Commit Graph

15177 Commits

Author SHA1 Message Date
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