Commit Graph

32873 Commits

Author SHA1 Message Date
tom_at_work
8a2696eb24 * limit the number of string message methods per class to 2^31 independent of architecture width: this avoids lots of compiler changes when allowing 2^63 (for 64 bit targets)
* fix string message method handling data structures to reflect this change, and also use the correct types for accessing them (longint vs. dword)
* output proper alignment code for string message method data structures to avoid issues on big-endian 64 bit architectures or architectures requiring proper alignment
* same for integer message methods; also, like string message method data structures, do not use packed records for them when accessing
* extend the test case (tw14145) do do multiple message dispatches, both integer and string ones, to complete successfully

git-svn-id: trunk@16254 -
2010-10-29 13:26:50 +00:00
sergei
b4aa087aad * xmlread.pp, implemented some c14n features: when parsing with Options.CanonicalForm=True, report all attributes as specified and drop superfluous namespace declaration attributes. Fixes level3/ls/canonicalform10 and level3/ls/canonicalform11.
git-svn-id: trunk@16253 -
2010-10-29 03:36:55 +00:00
sergei
d96e17da77 * xmlread.pp, fixed an issue introduced by combination of r16046 and r16172: assigning doc.DocumentType only after DTD has been completely parsed prevented inner reader from parsing 2nd+ level entity references in default attribute values. This went unnoticed because of no positive tests, and was detected only by examining negative test diagnostic, namely for not-wf-sa-079 and not-wf-sa-080.
git-svn-id: trunk@16248 -
2010-10-28 20:23:42 +00:00
sergei
12f6eb2c4e * types.pp, applied a fix similar to r16224,16226 also to UnionRect function. It is very similar to IntersectRect and parameter aliasing issue applies to it as well (see Mantis #17722).
git-svn-id: trunk@16235 -
2010-10-28 04:18:53 +00:00
sergei
4468f72f6c * xmlread.pp, added location information to TNodeData and got namespace-related errors reported at correct locations.
git-svn-id: trunk@16234 -
2010-10-27 22:42:01 +00:00
sergei
f2260c1549 * DefaultUnicode2AnsiMove, DefaultAnsi2UnicodeMove: replaced indexed access to destination string by pointer access, this eliminates numerous unnecessary calls to fpc_xxxstring_unique.
git-svn-id: trunk@16233 -
2010-10-27 18:49:52 +00:00
michael
791cb74f22 * Fixed sending/receiving of large data packets (size >word)
git-svn-id: trunk@16232 -
2010-10-27 12:11:57 +00:00
michael
a83037e7bc * Fixed batch processing, and multiple requests through 1 instance of an Adaptor
git-svn-id: trunk@16231 -
2010-10-27 12:10:49 +00:00
sergei
068d2fba37 * xmlread.pp, modified attribute parsing code to use DOM-independent data structures (third part)
* 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 -
2010-10-27 11:57:03 +00:00
tom_at_work
19baf7d3e0 * changes to alignment for enumeration rtti record members: we need a Tconstptrint alignment before the MinValue/MaxValue members because the entire record needs that alignment due to some pointers inside
* 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 -
2010-10-26 22:00:15 +00:00
marco
c1df466f6d * PSemaphore
git-svn-id: trunk@16228 -
2010-10-26 20:37:24 +00:00
Jonas Maebe
9ab050316e * all accesses that cannot be handled natively by the code generator have
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 -
2010-10-26 17:17:28 +00:00
sekelsenmat
3c2a94fad3 Makes IntersectRect more efficient
git-svn-id: trunk@16226 -
2010-10-26 15:49:25 +00:00
sekelsenmat
b4b9354468 Makes IntersectRect more robust. See bug #17722
git-svn-id: trunk@16224 -
2010-10-26 14:49:35 +00:00
sergei
4579226771 + New unit dtdmodel.pp containing DTD-related classes.
* 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 -
2010-10-25 15:26:29 +00:00
michael
59aca21ef0 * Reset adaptor - in case of pooled module, same adaptor is is used for each request
git-svn-id: trunk@16220 -
2010-10-25 15:06:27 +00:00
michael
1bc555dc53 * TBlobField.SaveToStream() should check whether CreateBlobStream actually creates a stream
git-svn-id: trunk@16219 -
2010-10-25 09:55:43 +00:00
tom_at_work
f520989064 Fixed ordinal to string conversion for enumerations
* 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 -
2010-10-24 21:35:16 +00:00
marco
e82d25d211 * fix for mantis 17597, aliastypes in inheritance chains of fpdoc.
Adds aliases to the content file, using alias(realtype) syntax.

git-svn-id: trunk@16217 -
2010-10-24 21:33:41 +00:00
florian
dce3405c66 * reset lookahead char as well when resetting the scanner, resolves #17688
git-svn-id: trunk@16216 -
2010-10-24 21:26:30 +00:00
marco
6da59076f8 * fcl-passrc goto support (added to an empty command), mantis 16476
git-svn-id: trunk@16215 -
2010-10-24 20:12:44 +00:00
Jonas Maebe
14b95b3b9b * always force range checking for the upper and lower bounds of for-loops if
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 -
2010-10-24 14:55:48 +00:00
Jonas Maebe
1cea4ec221 * added {$mode objfpc} to fix test
git-svn-id: trunk@16212 -
2010-10-24 14:52:44 +00:00
tom_at_work
a380da6204 Fixed conversion from string to enum value for 64 bit platforms requiring proper alignment (e.g. ppc64/linux)
* 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 -
2010-10-23 20:19:32 +00:00
tom_at_work
7f9dedec99 Moved global variables from .text section to .bss in ppc/linux startup code, improves position independency
git-svn-id: trunk@16210 -
2010-10-23 20:07:36 +00:00
Jonas Maebe
e787e263c8 * build fpcres also for haiku (patch by Olivier Coursière, mantis #17696)
git-svn-id: trunk@16209 -
2010-10-23 19:53:36 +00:00
sergei
b585a6a1d0 * xmlread.pp, continued reducing DOM dependencies:
* 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 -
2010-10-23 18:20:49 +00:00
michael
a723c86cb1 * Mark blob parameters as binary
git-svn-id: trunk@16207 -
2010-10-23 14:09:59 +00:00
Károly Balogh
52a118efbb + enabled SDL package for MorphOS
git-svn-id: trunk@16206 -
2010-10-23 13:06:16 +00:00
Károly Balogh
2d9d71e976 + adapted SDL package to user PowerSDL headers on MorphOS.
git-svn-id: trunk@16205 -
2010-10-23 12:35:49 +00:00
Károly Balogh
56913ebf91 + added headers for MorphOS' PowerSDL
git-svn-id: trunk@16204 -
2010-10-23 12:34:47 +00:00
michael
f5072a3816 * Fixed blob parameter support
git-svn-id: trunk@16203 -
2010-10-23 11:04:59 +00:00
sekelsenmat
cc2da23316 Initial transformation of fpvectorial segments in classes, as well as making the number of segments dynamic
git-svn-id: trunk@16202 -
2010-10-23 10:33:21 +00:00
Károly Balogh
1811234b72 + some work to complete SDL package support for MorphOS. more to come.
git-svn-id: trunk@16200 -
2010-10-23 01:54:47 +00:00
tom_at_work
9a969c18cd Startup files fixes for ppc/ppc64
* 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 -
2010-10-22 23:19:23 +00:00
michael
b3598929f6 * Fixed largeint parameter problem
git-svn-id: trunk@16197 -
2010-10-22 09:20:27 +00:00
Károly Balogh
7bdfc64991 + disable UserScreen for now on Amiga/MorphOS, dummy implementation causes more trouble than it solves
git-svn-id: trunk@16196 -
2010-10-21 23:44:17 +00:00
sekelsenmat
b0b708f308 help headers for wince from bug #17574
git-svn-id: trunk@16195 -
2010-10-21 15:37:16 +00:00
Károly Balogh
497518c6a3 + disable unimplemented stuff in fppkg for MorphOS/Amiga, so it builds at least
git-svn-id: trunk@16194 -
2010-10-21 03:25:15 +00:00
Károly Balogh
02bfc51f71 + made libgd package to build at least on MorphOS and Amiga
git-svn-id: trunk@16193 -
2010-10-21 02:52:00 +00:00
Károly Balogh
f5930b0dfc * MorphOS, Amiga: changed definition of sLineBreak to match other system units, fixes fcl-base build
git-svn-id: trunk@16192 -
2010-10-21 02:13:57 +00:00
Jonas Maebe
5e84c557fa * don't internalerror when a property is hidden by a method in a child class
(mantis #17675)

git-svn-id: trunk@16191 -
2010-10-20 14:12:58 +00:00
Jonas Maebe
dd8fd7cd4a * fixed loading the vmt of TP-style objects when it's not at offset zero
(for virtual procvars of object, mantis #17521)

git-svn-id: trunk@16190 -
2010-10-20 12:00:15 +00:00
michael
843ce22187 * Avoid nameclash and fix compilation
git-svn-id: trunk@16189 -
2010-10-19 19:51:59 +00:00
michael
80c63af4ed * Applied patch from Graeme
git-svn-id: trunk@16188 -
2010-10-19 19:48:23 +00:00
sekelsenmat
8b6e8079ec Fixes a potential crash in TStrings.SaveToStream
git-svn-id: trunk@16187 -
2010-10-19 15:50:13 +00:00
sergei
7e5ff8ca89 * xmlread.pp, modified attribute parsing code to use DOM-independent data structures (second part)
* 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 -
2010-10-19 15:14:33 +00:00
sergei
e0d8556cae * xmlread.pp, modified attribute parsing code to use DOM-independent data structures (first part)
git-svn-id: trunk@16184 -
2010-10-18 20:46:35 +00:00
sergei
dfe1c0f228 xmlread.pp, r16175 caused a regression in level1/core/commentgetcomment; we should ignore comments in DTD, but not between DTD and root element. Fixed.
git-svn-id: trunk@16183 -
2010-10-18 20:19:32 +00:00
joost
56cd935acf * Fixed compilation on Windows/WinCE after merging the XPCom branch in r16180
git-svn-id: trunk@16181 -
2010-10-18 15:22:53 +00:00