Commit Graph

37005 Commits

Author SHA1 Message Date
Jonas Maebe
9a10c5aea8 * don't mark final class methods as virtual
git-svn-id: branches/jvmbackend@21040 -
2012-04-25 18:14:29 +00:00
Jonas Maebe
8e3d7fe8d3 * fixed genmultistringadd() optimization for jvm and enabled it
* created separate version of fpc_AnsiStr_Concat_multi() after all
    because it contains a punicodechar(unicodestring) typecast, which
    can't be supported on the JVM target (and splitting it out in the
    generic code seems like a bit overkill), and restored original
    generic version of fpc_AnsiStr_Concat_multi() (slightly faster
    than version partially adapted for jvm)

git-svn-id: branches/jvmbackend@20903 -
2012-04-16 20:51:51 +00:00
Jonas Maebe
1efee1d2eb * set destination codepage in widestringmanager.Unicode2AnsiMoveProc() like
on other platforms, rather than explicitly setting it afterwards
    everywhere

git-svn-id: branches/jvmbackend@20902 -
2012-04-16 20:51:46 +00:00
Jonas Maebe
02413c8a57 * moved maybequoted() from cutils to cfileutl and let its behaviour vary
based on the actual target platform rather than always on the host
    platform
  * on Unix, use single rather than double quotes for quoting, so it also
    properly handles $, ! and `, which keep their special meaning when
    appearing in scripts inside double quotes
  * since sysutils.executeprocess() can only deal with double-quoted
    strings in parameters, re-quote parameters on Unix when they turn
    out not to be for scripts but for direct execution (which is most
    of the time, but unfortunately doing the reverse is not possible
    because parameters used in scripts sometimes contain script-specific
    code that must not be quoted, such as `cat link.res`)
   -> always use cfileutl.RequotedExecuteProcess() rather than
    sysutils.ExecuteProcess() in the compiler (added a bunch of dummy
    ExecuteProcess string constants to common units to prevent accidental
    usage)

git-svn-id: branches/jvmbackend@20901 -
2012-04-16 19:52:36 +00:00
Jonas Maebe
ac419e1cb4 + passthrough hlcgpu for AVR
git-svn-id: branches/jvmbackend@20898 -
2012-04-15 21:43:57 +00:00
Jonas Maebe
fb73001389 * don't give an internalerror when setting the mangledbasename in case the
regular mangledname has already been set (just like we don't internalerror
    when changing the regular mangledname even if it has already been set);
    this happens e.g. when specifying the external name of some interface
    variables, such as in the Win32 system unit

git-svn-id: branches/jvmbackend@20893 -
2012-04-15 20:49:40 +00:00
Jonas Maebe
aee5380ae0 * merged trunk up to r20882
o support for the new codepage-aware ansistrings in the jvm branch
   o empty ansistrings are now always represented by a nil pointer rather than
     by an empty string, because an empty string also has a code page which
     can confuse code (although this will make ansistrings harder to use
     in Java code)
   o more string helpers code shared between the general and jvm rtl
   o support for indexbyte/word in the jvm rtl (warning: first parameter
     is an open array rather than an untyped parameter there, so
     indexchar(pcharvar^,10,0) will be equivalent to
     indexchar[pcharvar^],10,0) there, which is different from what is
     intended; changing it to an untyped parameter wouldn't help though)
   o default() support is not yet complete
   o calling fpcres is currently broken due to limitations in
     sysutils.executeprocess() regarding handling unix quoting and
     the compiler using the same command lines for scripts and directly
     calling external programs
   o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
     to the make command line

git-svn-id: branches/jvmbackend@20887 -
2012-04-15 15:54:10 +00:00
michael
86c8b19336 * Patch and testcase from Luiz Americo to fix ExtractFieldName (bug 21777)
git-svn-id: trunk@20882 -
2012-04-15 11:52:15 +00:00
michael
5219b118d8 * Fix checkconstraints initialization and property setter (by Luiz Americo)
git-svn-id: trunk@20881 -
2012-04-15 09:34:09 +00:00
michael
fcb4bf4854 * Solved name conflict parser.inc is used in classes unit
git-svn-id: trunk@20880 -
2012-04-15 09:27:53 +00:00
sergei
86f0a4177d * SAX cleanup: removed {$ifdef UseDynArrays}, left variant without dynarrays, they don't provide any significant advantage.
* Changed TList to TFPList, removed redundant FLength field.

git-svn-id: trunk@20879 -
2012-04-14 22:44:45 +00:00
Jonas Maebe
f0b7ce8afe * fix building for Haiku/BeOS after r20839 (patch by Olivier Coursière)
git-svn-id: trunk@20878 -
2012-04-14 20:36:02 +00:00
florian
ceb1becfa1 * align cmp byte loop
git-svn-id: trunk@20877 -
2012-04-14 20:09:51 +00:00
florian
4b7748ad11 * better suitable on x86_64-linux
git-svn-id: trunk@20876 -
2012-04-14 20:09:31 +00:00
florian
39ab9eceba * fix OpsEqual
git-svn-id: trunk@20875 -
2012-04-14 20:08:56 +00:00
florian
d24b70d22b * ported part of the i386 peep hole optimizer to x86-64 to see if it is possible to create a shared x86 peep hole optimizer
git-svn-id: trunk@20874 -
2012-04-14 19:08:02 +00:00
sergei
931a0f159c - Removed xmltextreader.TXMLReadState definition, it clashes with one from xmlreader.pp (this was not significant while the entire TXMLTextReader class was implementation-only).
git-svn-id: trunk@20873 -
2012-04-14 18:04:55 +00:00
Jonas Maebe
93210cc419 * store JVM namespace separately from unitname so it doesn't conflict with
dotted unit names

git-svn-id: branches/jvmbackend@20872 -
2012-04-14 17:38:12 +00:00
Jonas Maebe
2b0d0bbee4 * also set the mangledbasename when a public name is specified for a
variable (used to create the JVM-style mangled name later on)

git-svn-id: branches/jvmbackend@20871 -
2012-04-14 17:38:06 +00:00
Jonas Maebe
622eb4b782 * call getbasedef before getting the classdef of an enum (only the basedef
has an associated class)

git-svn-id: branches/jvmbackend@20870 -
2012-04-14 17:38:02 +00:00
Jonas Maebe
21722802fa * also allow taking the address of a derefence expression on the JVM target
(required for taking the address of threadvars, used by the current RTL)

git-svn-id: branches/jvmbackend@20869 -
2012-04-14 17:37:56 +00:00
sergei
18079355f5 * fcl-xml, going public with TXMLTextReader: moved most of the code from xmlread.pp to new unit xmltextreader.pp, auxiliary classes moved to xmlreader.pp.
git-svn-id: trunk@20868 -
2012-04-14 17:25:40 +00:00
michael
0aa0d3f584 * Applied cleanup patch from Luiz Americo (Bug 21771)
git-svn-id: trunk@20867 -
2012-04-14 14:52:33 +00:00
michael
1ee57d4edd * Applied cleanup patch from Luiz Americo
git-svn-id: trunk@20866 -
2012-04-14 14:49:01 +00:00
michael
f993b813b1 * Fixed case of range starting with negative identifier
git-svn-id: trunk@20865 -
2012-04-14 14:37:12 +00:00
michael
9e5081cd90 * Fixed bug #21252 (range type with identifiers)
git-svn-id: trunk@20864 -
2012-04-14 14:00:49 +00:00
michael
b0077a1155 * Removed some memory leaks
git-svn-id: trunk@20863 -
2012-04-14 13:38:33 +00:00
michael
b1f7f84b41 * Fixed parsing of set of range (bug 21642), removed some memory leaks
git-svn-id: trunk@20862 -
2012-04-14 13:38:00 +00:00
florian
59040465d8 + simple assembler implementation of CompareByte
* adapted copyright

git-svn-id: trunk@20861 -
2012-04-13 22:08:50 +00:00
pierre
bd1ae9bdf0 Regenerated after: Add -Xd option for FreeBSD OS
git-svn-id: trunk@20860 -
2012-04-13 21:53:50 +00:00
pierre
e59d692c5c + Add -Xd option for FreeBSD OS
git-svn-id: trunk@20859 -
2012-04-13 21:53:22 +00:00
florian
ce845bf97c * introduction of in_generic in r20699 was unneeded, replaced by parse_generic
git-svn-id: trunk@20858 -
2012-04-12 21:53:10 +00:00
florian
4c472a1569 * due to different result handling of integers and interfaces, GetInterfaceProp cannot use GetOrdProp, resolves #21684
git-svn-id: trunk@20857 -
2012-04-12 21:50:03 +00:00
sergei
ed9146f918 * Simplified CheckName() a bit.
* Replaced some checks for terminating #0 with checks against buffer end address.
* Fixed mistake in GetLocalName(), was referring to wrong FColonPos.
* Moved parsing PE references into StartPE, reduces code duplication.

git-svn-id: trunk@20856 -
2012-04-12 21:43:51 +00:00
Jonas Maebe
210eac085a * do not perform stabstr replacements on mangled names of typed constants
(fixes stabs after r20842)

git-svn-id: trunk@20855 -
2012-04-12 16:13:27 +00:00
Jonas Maebe
e9d52f7b95 * fixed copy/paste bug that caused the default target OS to be always set
to AIX on Linux PPC32/64 platforms

git-svn-id: trunk@20854 -
2012-04-12 09:36:46 +00:00
michael
e74b6087b3 * Dataset.Modified should be read-only
git-svn-id: trunk@20853 -
2012-04-12 07:10:31 +00:00
Tomas Hajny
2cb7b4cf0f * fixed a silly bug from r20694
git-svn-id: trunk@20852 -
2012-04-11 21:12:03 +00:00
Jonas Maebe
135565e951 * enabled for AIX
git-svn-id: trunk@20851 -
2012-04-11 18:07:23 +00:00
Jonas Maebe
829062cd79 * fixed bootstrap rule for aix (why are all unix OSes hardcoded here?)
git-svn-id: trunk@20850 -
2012-04-11 18:07:16 +00:00
Jonas Maebe
a1e14210c2 * compile the lnfogdb unit for darwin
git-svn-id: trunk@20849 -
2012-04-11 18:07:11 +00:00
Jonas Maebe
29111f957e - don't include the lineinfo unit on AIX, because it doesn't have it; in
general, this is also wrong because it won't work on platforms using DWARF
    either

git-svn-id: trunk@20848 -
2012-04-11 18:07:06 +00:00
Jonas Maebe
ec1cceb3d1 + support for generating multiple script files (.sh/.bat/.cmd/...) with link
commands

git-svn-id: trunk@20847 -
2012-04-11 18:07:01 +00:00
Jonas Maebe
ebc542a48b * gcc does add a .file statement for AIX (but using different code than for
other platforms, which is where the confusion stemmed from)

git-svn-id: trunk@20846 -
2012-04-11 18:06:57 +00:00
Jonas Maebe
2174c6debc * fixed location of "end." in case "supported" is not defined
git-svn-id: trunk@20845 -
2012-04-11 18:06:53 +00:00
Jonas Maebe
347afa80fe * adapted so it also succeeds with the lnfogdb unit (gdb reports slightly
different line numbers: the line following the label, instead of the one
    preceding the label)

git-svn-id: trunk@20844 -
2012-04-11 18:06:48 +00:00
Jonas Maebe
07a65fed6b * adapted tests for aix (assembler code, -CN switch, library name suffix)
git-svn-id: trunk@20843 -
2012-04-11 18:06:43 +00:00
Jonas Maebe
247033cce1 + stabx support for AIX, which is a variant of stabs. Note that we only
support the stabx as understood by gdb, which is a mixture of regular
    stabs and stabx (e.g., class/object definitions are completely different
    in real stabx). This means that gdb can be used to debug aix programs,
    but the native dbx will complain about lots of debug information
    constructs

git-svn-id: trunk@20842 -
2012-04-11 18:06:38 +00:00
Jonas Maebe
adbad5ab96 + fcl-res support for xcoff/aix
+ compiler support for Delphi-style resources on aix

git-svn-id: trunk@20841 -
2012-04-11 18:06:33 +00:00
Jonas Maebe
3d03ac5aa2 - removed exeinfo, not used/supported on AIX
git-svn-id: trunk@20840 -
2012-04-11 18:06:27 +00:00