Commit Graph

33096 Commits

Author SHA1 Message Date
florian
747b93b7ec + cpu unit for x86-64 containing a CAS128 implementation
git-svn-id: trunk@16284 -
2010-11-01 08:20:31 +00:00
florian
d6d3791939 * fix compilation of cmpxchg16b
git-svn-id: trunk@16283 -
2010-11-01 08:13:27 +00:00
sergei
0933bdc045 * win/sysutils.pp, removed an unused variable (forgotten part of r13838)
git-svn-id: trunk@16282 -
2010-11-01 00:38:51 +00:00
tom_at_work
446eacaf47 * another compilation failure due to cleanup of changes to r16272
git-svn-id: trunk@16281 -
2010-10-31 18:37:49 +00:00
tom_at_work
f1a7cf78fe * fixed compilation after cleaning up for r16272
git-svn-id: trunk@16280 -
2010-10-31 18:26:33 +00:00
florian
b4c912bf92 * made Byte/Word/Long/Int64Rec endian safe
+ Int128/OWordRec

git-svn-id: trunk@16279 -
2010-10-31 17:57:54 +00:00
tom_at_work
d786f8a1b8 * fix test after changes to TStartRoutine in pthreads
git-svn-id: trunk@16274 -
2010-10-31 15:53:56 +00:00
Legolas
42ffd3bc50 * Updated nds to devkitARM r32 and libnds 1.4.8
* Fixed nds rtl for ARGV and Exit to menu protocol 

git-svn-id: trunk@16273 -
2010-10-31 15:22:49 +00:00
tom_at_work
e215b215d6 * fix code generation for interface wrappers: adjustment of self pointers with offsets > 16 bit crashed because it tried to allocate a virtual register, but the register allocator is not called for these wrappers. Always use the R11 register, which is scratch on ppc64, for now.
git-svn-id: trunk@16272 -
2010-10-31 14:47:42 +00:00
tom_at_work
0cb36ee173 * fix integer message dispatch on ppc64-darwin by temporarily setting the correct record alignment
git-svn-id: trunk@16271 -
2010-10-31 12:24:38 +00:00
sergei
b066395a2b * xmlread.pp: separated DOM-specific code into DoStartElement(); introduced FNameTable.
git-svn-id: trunk@16270 -
2010-10-31 02:23:42 +00:00
ivost
4e39959ca1 * InitializeLibrary defaults now the parameter NoSymbolErrors to true and no longer to false. Now it's the same behavior as in 2.4.0 release. But of course it's not optimal and not safe.
* LoadLibrarySymbols report now all symbol errors and not just the first one. Eg. it try to load all symbols and don't stop on first error now.

git-svn-id: trunk@16269 -
2010-10-30 20:49:12 +00:00
florian
0a625c856d + don't allow non local gotos across procedures containing exception frames
git-svn-id: trunk@16268 -
2010-10-30 20:22:23 +00:00
tom_at_work
88687b2125 * fix definition of function pointer to be passed to pthread_create
git-svn-id: trunk@16267 -
2010-10-30 18:19:11 +00:00
marco
a5d7d58f47 * --css-file now also for html (Mantis 17542)
git-svn-id: trunk@16266 -
2010-10-30 16:52:37 +00:00
florian
38b90c987b + enable non local goto in macpas mode, test/tmacnonlocalgoto.pp does not fail anymore
git-svn-id: trunk@16265 -
2010-10-30 15:23:11 +00:00
sergei
6cb9cdcc0d * xmlread.pp: maintain ID map at reader side, so it can do ID/IDREF validation without DOM.
* also don't allocate TForwardRef records for backward references, saves some ticks and bytes.

git-svn-id: trunk@16264 -
2010-10-30 15:18:44 +00:00
florian
27ff441975 o patch from Sven Barth:
- remove critical section from dll initialization, windows allows only one thread at one to run dllmain, resolves #17858

git-svn-id: trunk@16263 -
2010-10-30 14:37:55 +00:00
florian
2ad698fd1c - remove unneeded spaces
git-svn-id: trunk@16262 -
2010-10-30 14:04:42 +00:00
sergei
22f0692745 * xmlread.pp: since FIdRefs and FNotationRefs are never used at the same time (the former is used only while parsing root, the latter only while parsing DTD), simplify things a bit by replacing them with a single FForwardRefs.
git-svn-id: trunk@16259 -
2010-10-30 10:25:33 +00:00
tom_at_work
5f3aaf1e60 * minor changes to the startup code: use exit_group syscall to exit, minor cleanup
* add _haltproc symbol to shared library startup code

git-svn-id: trunk@16258 -
2010-10-29 19:58:51 +00:00
joost
ef8837cfa8 * Patch from José Mejuto so that TBufDataset.SetRecNo takes the active index into account, bug #15460
git-svn-id: trunk@16257 -
2010-10-29 19:13:42 +00:00
Jonas Maebe
3aea9b134a * make sure that all references used in the inline int->real conversion code
are properly PICified (mantis #17714)

git-svn-id: trunk@16255 -
2010-10-29 16:57:54 +00:00
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