* Namespace handling rewritten to fit into XMLReader's own data structures.
* Remaining TDOMElementDef's replaced by TElementDecl.
* Removed DoAttrText(), it has become obsolete.
* Create objects that are needed for namespace processing only if actually doing namespace processing, reduces memory requirements.
* Improved TAttributeDef construction.
git-svn-id: trunk@16230 -
* changes to alignment for ordinal enumeration value to string accelerator tables so that we can define a single Pascal record to describe them for cleaner code
* some warnings in enumeration rtti generation indicating that if you change the code, you also have to change that in the RTL
* call fpc_shortstr_enum_intern in fpc_write_text_enum instead of copy&paste
* clean up code in fpc_shortstr_enum_intern:
* unify data structures for lookup/search accelerator tables made possible by alignment changes in ncgrtti.pas
* make clear that this is a partial copy&paste of the typinfo unit, also fix some alignment issues by introducing a fake inner record of Tenum_typedata
* temporarily disable range checking for accesses to array[0..0] members of internal data structures
* some documentation
git-svn-id: trunk@16229 -
to be handled as a bitpacked access, not just those whose size mod 8 <> 0
(bug reported by Willibald Krenn on fpc-devel, and mantis #17715)
git-svn-id: trunk@16227 -
* TXMLNodeType, TNodeData and TAttrDataType moved to xmlutils.pp, so they can be shared between dom, xmlread and dtdmodel.
* TContentParticle class moved from xmlread.pp to dtdmodel.pp.
* dom.pp and xmlread.pp switched to DOM-independent representation of DTD element declarations and attribute defaults.
git-svn-id: trunk@16221 -
* clean up actual ordinal to string conversion in system unit: try to use records instead of hardcoded offsets
* before emitting the enum ordinal to string rtti information for enums, they need to be sorted according to their values first. Otherwise rtti information for sparse enums is broken.
git-svn-id: trunk@16218 -
they are constants (instead of only on 32 bit systems), and always use the
actual upper/lower bound of the loop variable instead of hardcoding the
bounds of longint (mantis #17646)
git-svn-id: trunk@16213 -
* start of data entries (Tsorted_array record in fpc_shortstr_enum_intern) in string-to-ordinal helper table must be aligned to the maximum alignment required by the members, otherwise the actual and the expected layout do not match
* do not use magic constants (+1) in the code for calculating the address of the first Tsorted_array in the string-to-ordinal helper table
* fix wrong calculation of the start offset to the Tsorted_array in the rtti writer (although it came to the same result)
* refactored rtti writing code for enums: removed duplicate code
git-svn-id: trunk@16211 -
* TContentParticle only stores and compares a pointer to an element definition, a particular type of that definition doesn't matter - so change it to TObject.
* In case of mixed content model, assign Type and Quantity to the root content particle, and process it the same way as element-only models.
* While parsing, store entities in THashTable instead of TDOMNamedNodeMap.
* Assign Prefix to element and attribute NodeData.
git-svn-id: trunk@16208 -
* startup code in c/g/prt0.as does not contain .text references anymore
* fixed shared library startup code for ppc64: startup and shutdown code is properly called, making the tlibrary2 test succeed now
git-svn-id: trunk@16199 -
* ExpectAttValue() now builds both plain string value and first-level node chain.
* Normalize() procedure moved to xmlutils.pp and made publicly available as BufNormalize.
* ParseLiteral() cleaned of attribute-specific code; at this point it is clear it won't be used for parsing attributes.
git-svn-id: trunk@16186 -
the IInterface implementation to be XPCom-compatible
--- Merging r15997 through r16179 into '.':
U rtl/inc/variants.pp
U rtl/inc/objpash.inc
U rtl/inc/objpas.inc
U rtl/objpas/classes/persist.inc
U rtl/objpas/classes/compon.inc
U rtl/objpas/classes/classesh.inc
A tests/test/tconstref1.pp
A tests/test/tconstref2.pp
A tests/test/tconstref3.pp
U tests/test/tinterface4.pp
A tests/test/tconstref4.pp
U tests/webtbs/tw10897.pp
U tests/webtbs/tw4086.pp
U tests/webtbs/tw15363.pp
U tests/webtbs/tw2177.pp
U tests/webtbs/tw16592.pp
U tests/tbs/tb0546.pp
U compiler/sparc/cpupara.pas
U compiler/i386/cpupara.pas
U compiler/pdecsub.pas
U compiler/symdef.pas
U compiler/powerpc/cpupara.pas
U compiler/avr/cpupara.pas
U compiler/browcol.pas
U compiler/defcmp.pas
U compiler/powerpc64/cpupara.pas
U compiler/ncgrtti.pas
U compiler/x86_64/cpupara.pas
U compiler/opttail.pas
U compiler/htypechk.pas
U compiler/tokens.pas
U compiler/objcutil.pas
U compiler/ncal.pas
U compiler/symtable.pas
U compiler/symsym.pas
U compiler/m68k/cpupara.pas
U compiler/regvars.pas
U compiler/arm/cpupara.pas
U compiler/symconst.pas
U compiler/mips/cpupara.pas
U compiler/paramgr.pas
U compiler/psub.pas
U compiler/pdecvar.pas
U compiler/dbgstabs.pas
U compiler/options.pas
U packages/fcl-fpcunit/src/testutils.pp
git-svn-id: trunk@16180 -