* remove comctl32 functions from windows. In time accctrl and comdlg functions will also go, but for that the respective windows headers must be done first.
This both for delphi compat, and to avoid duplicate identifiers (and vague errors) as encountered with win32extra merging.
git-svn-id: trunk@10321 -
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 -
* Optimized Escape() and Unescape() for speed.
* Corrected relative filename handling in FilenameToURI(), a relative
filename should remain relative after conversion to URI and back.
git-svn-id: trunk@10315 -
fcl-xml/src/dom.pp: resolved a number of Level 1 conformance issues:
* Node.Normalize always deletes empty text nodes
* Node.Normalize is recursive into Attributes
* Node.InsertBefore corrected exception code in case when RefChild is
not one of node's children
+ Node.InsertBefore added missing check for possible cycle in tree
+ Node.AppendChild and Node.InsertBefore added checking type of NewChild
+ CloneNode enabled for Fragment and Entity
- CloneNode deleted for DocumentType (w3 specs directly prohibit cloning
it between documents, and cloning within one document is claimed
'implementation specific' - but makes no sense).
+ Node.ImportNode is now working
* Uncommented Level 2 node properties (NamespaceURI, localName and
Prefix), this caused a name clash and a lot of function argument
renames.
fcl-xml/src/xmlutils.pp:
+ overloaded IsXmlName() that accepts PWideChars
fcl-xml/src/xmlconf.pp
* Applied a fix similar to xmlcfg.pp for Mantis #10554
fcl-xml/src/xmlread.pp:
* Major: Got errors reported at correct locations for all 1600+ negative
tests. Easy to say, but it required modifying almost every second
line of code.
* TContentParticle references an existing element definition instead of
storing its own name (this allows content model matching without
string comparisons).
* Resorted to old-style 'object' for TElementValidator and to plain
procedures for decoders (allows to drop almost all related memory
management).
* Moved parameter entity detection from char to token level, this
simplifies things a bit.
+ Added second level of buffering to input source (a step towards
supporting arbitrary encodings).
* The main parsing loop contains no implicit exception frames now.
fcl-xml/src/xmlwrite.pp
* Replaced the stupid indenting algorithm with a simple rule: "Do not
write indents adjacent to text nodes". Now it does not make a mess
out of the documents which were parsed with PreserveWhitespace=True.
* Use specialized node properties instead of generic ones, this
eliminates WideString copies and results in almost 2x performance
boost in Windows.
* Even more performance:
* Write line endings together with indents -> twice less calls.
* Increase slack in buffer and write strings with known length (i.e.
most of markup) without overflow checking.
fcl-xml/tests/xmlts.pp:
* Use parser options instead of dedicated procedure to 'canonicalize'
documents, the parser has become mature enough to do that.
* Fatal error in non-valid category is a test failure, as well as
validation error alone in not-wellformed category.
fcl-xml/src/README
* Brought a bit up to date
fcl-xml/tests/README
+ Added testsuite errata/issues
git-svn-id: trunk@10314 -
because due to the mach-o executable format which can contain
binaries for different architectures in a single file, different
names for native and cross compilers are not used on Mac OS X
(mantis #10067)
git-svn-id: trunk@10270 -
they are added (mantis #10807), because
a) the typecheckpass of the entire blocks has to be postponed until firstpass
because new statements may still be added in the firstpass (otherwise
the newly added statements in the firstpass are never typechecked due to
the blocknode already having a resultdef set)
b) simplify can be called between the typecheck and firstpass, and it needs
the typeinfo
git-svn-id: trunk@10263 -