florian
860d753055
* treat registers (and identifiers of register parameter) as normal identifiers when parsing record fields in intel assembler, resolves #19555
...
git-svn-id: trunk@18268 -
2011-08-18 21:58:30 +00:00
sergei
08ff5ff051
* x86 Intel assembler reader: disallow more than one register name per register operand, resolves #15672 .
...
git-svn-id: trunk@17507 -
2011-05-19 20:00:15 +00:00
florian
e7fa076b70
* handle variables without explicit size prefix better in inline assembler, resolves #18009
...
git-svn-id: trunk@16859 -
2011-01-30 21:57:30 +00:00
pierre
ba6a4760e9
* fix regression 16700 introduced in rev 16104
...
git-svn-id: trunk@16133 -
2010-10-11 21:23:11 +00:00
pierre
586dd1ee49
* fix go32v2 assembler parsing failure introduced in rev 16104
...
git-svn-id: trunk@16132 -
2010-10-11 20:53:19 +00:00
pierre
207e0b58f5
* Support Intel [ebx].offset var PIC construct
...
git-svn-id: trunk@16109 -
2010-10-08 13:19:50 +00:00
pierre
7f200ab27e
* Use asmsearchsym in assembler readers
...
git-svn-id: trunk@16104 -
2010-10-08 07:58:18 +00:00
mazen
b127fc154a
* Fixed spell error revealed by lintian.
...
git-svn-id: trunk@16094 -
2010-10-06 20:33:57 +00:00
Jonas Maebe
9273856e84
* disallow pusha*/popa* for x86_64 (mantis #14862 )
...
* disallow pushfd/popfd for x86_64 (mantis #14862 )
* fixed assembling popfq with the internal assembler (it needs a rex.w
prefisx, while pushfq doesn't)
* changed the default opcode size of pushf/popf/pusha/popa in
{$asmmode intel} from "native size" to 16 bit (compatible with Intel
manuals and Kylix; in AT&T mode, the default size for those operations
remains the native one)
* changed pushf/popf in rtl/i386/* into pushfd/popfd because of the
previous change
git-svn-id: trunk@15546 -
2010-07-10 16:22:46 +00:00
Jonas Maebe
6d6892bec6
* fixed "byte/word/... ptr []" and "byte/word/..([])" typecasted expressions
...
in case the memory expression contains a record subscription (mantis
#16700 )
git-svn-id: trunk@15408 -
2010-06-11 14:51:58 +00:00
Jonas Maebe
8542632ebe
* fixed evaluating constant expressions consisting of more than one term and
...
that start with a minus in the intel assembler reader (mantis #15843 )
git-svn-id: trunk@15041 -
2010-03-24 20:52:31 +00:00
Jonas Maebe
f90768ed6a
* small optimisation for r14449: check whether the routine is a pure
...
assembler routine before checking whether an identifier may represent a
register parameter, instead of afterwards
git-svn-id: trunk@14843 -
2010-02-02 10:40:25 +00:00
Jonas Maebe
d3f9e6290b
* fixed error in r14402 for functions/procedures that are not declared as
...
"assembler" (mantis #15370 )
git-svn-id: trunk@14449 -
2009-12-17 16:04:09 +00:00
Jonas Maebe
f2c0190aa3
* treat parameters that are passed in registers as register operands in the
...
x86 intel assembler reader (patch by Sergei Gorelkin, mantis #6851 )
git-svn-id: trunk@14402 -
2009-12-11 13:33:05 +00:00
florian
b9fddff9c4
* avoid IE in case of unknown assembler reference syntax
...
git-svn-id: trunk@13364 -
2009-07-05 19:16:46 +00:00
Jonas Maebe
ca132e203f
* treat typecast(register) the same as typecast([register]) in assembler
...
expressions (for Delphi compatibility, mantis #9327 )
git-svn-id: trunk@13040 -
2009-04-25 15:37:38 +00:00
yury
cf7390ea81
* Fixed 'mixed signed/unsigned' and pointer conversion warnings.
...
git-svn-id: trunk@11439 -
2008-07-23 09:36:07 +00:00
florian
58757d0630
* support of dq in Intel assembler on 64 bit CPUs, resolves #11425
...
git-svn-id: trunk@11211 -
2008-06-07 15:08:48 +00:00
Jonas Maebe
f36e5411af
* split cpu64bit compiler define into
...
a) cpu64bitaddr, which means that we are generating a compiler which
will generate code for targets with a 64 bit address space/abi
b) cpu64bitalu, which means that we are generating a compiler which
will generate code for a cpu with support for 64 bit integer
operations (possibly running in a 32 bit address space, depending
on the cpu64bitaddr define)
All cpus which had cpu64bit set now have both the above defines set,
and none of the 32 bit cpus have cpu64bitalu set (and none will
compile with it currently)
+ pint and puint types, similar to aint/aword (not pword because that
that conflicts with pword=^word)
* several changes from aint/aword to pint/pword
* some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 -
2008-02-13 20:44:00 +00:00
Jonas Maebe
527190a875
+ relsymbol support for intel asm reader
...
git-svn-id: trunk@9368 -
2007-12-01 14:26:24 +00:00
Jonas Maebe
1a32e4fdf5
* fixed pushing of words in intel assembler (indirectly related to
...
wrong bug report 7808)
git-svn-id: trunk@6274 -
2007-01-30 21:52:11 +00:00
Jonas Maebe
cc67ed17b5
* fixed uninitialised variable (mantis 8198, already tested by
...
webtbs/tw3931a.pp)
git-svn-id: trunk@6183 -
2007-01-25 11:43:15 +00:00
Jonas Maebe
c866400823
+ support for VMTOFFSET in assembler readers to get VMT offset of virtual
...
methods (mantis #8153 )
git-svn-id: trunk@6168 -
2007-01-24 18:26:23 +00:00
Jonas Maebe
11528c9da6
* better fix for tw8171 (now also works for with-statements)
...
git-svn-id: trunk@6158 -
2007-01-24 09:55:45 +00:00
Jonas Maebe
ed13c7f60e
+ support for [recordfield.field] in assembler blocks in methods in
...
intel assembler (mantis 8171)
git-svn-id: trunk@6150 -
2007-01-23 17:34:11 +00:00
Jonas Maebe
302a2a3ec2
* fixed calling qualified methods in assembler + tests for ppc/ppc64/
...
i386/x86_64
git-svn-id: trunk@6112 -
2007-01-21 22:16:42 +00:00
peter
0557ddc342
* removed typed const, it is now handled by staticvarsym
...
* globalvarsym renamed to staticvarsym
* fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
e17b424e28
* refactor procsym procdef list
...
git-svn-id: trunk@5210 -
2006-11-03 18:44:46 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
1684a6fc32
* replaced tdictionary with tfphashlist
...
git-svn-id: trunk@5148 -
2006-11-01 14:26:50 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
peter
076fb20774
* don't apply typesize of record if a field size is applied
...
git-svn-id: trunk@4971 -
2006-10-18 21:22:00 +00:00
peter
cc1f9f8a9b
* handle . in a reference like +
...
git-svn-id: trunk@4769 -
2006-10-02 17:39:22 +00:00
florian
23e67ee289
+ intel assembler reader for x86-64
...
git-svn-id: trunk@3411 -
2006-05-01 19:56:00 +00:00