Commit Graph

2950 Commits

Author SHA1 Message Date
florian
21573f50c5 * allow LOC_CONSTANT to be used as vmt pointers in the cg, resolves #21914
git-svn-id: trunk@21349 -
2012-05-20 19:02:36 +00:00
Jonas Maebe
eb7e192226 * support pointer constants as initialisation values for procvar typed
constants in Delphi mode on non-treetypedconstbuilder platforms
    (mantis #21267)

git-svn-id: trunk@21344 -
2012-05-20 14:51:15 +00:00
florian
1294ea4357 * patches by Max Nazhalov to solve some issues with currency formatting, resolves #18704 and #22063
git-svn-id: trunk@21339 -
2012-05-19 14:54:46 +00:00
florian
6c8eed21c4 + implement auto inlining (-Ooautoinline)
+ implement trashing of local variables if subroutine is inlined
* fix some errors releated to interproc. gotos and inlining
+ node_count function
* inline cannot be used with iochecking and safecall calling conventions
* track inherited usage
* don't inline if inherited is used

git-svn-id: trunk@21335 -
2012-05-19 13:30:02 +00:00
michael
0efa458127 * Add PostGres Event notification component from Ludo Brands (22060)
git-svn-id: trunk@21324 -
2012-05-18 12:19:09 +00:00
michael
137b21223b * Add Event notification component from Ludo Brands (22060)
git-svn-id: trunk@21323 -
2012-05-18 12:13:48 +00:00
svenbarth
fb3777b9a0 + add test for Mantis #19511 which seems to be fixed already...
git-svn-id: trunk@21315 -
2012-05-17 08:59:50 +00:00
paul
4312aa4e08 compiler: allow compiler to find real class definition during class members parse to handle references to self constants + test
git-svn-id: trunk@21290 -
2012-05-14 04:50:49 +00:00
Jonas Maebe
edd42aa42a * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
future use by high level code generator targets
   o this in turn required that all a_load*_loc* methods are called via
     hlcg rather than via cg, since a location can be a subsetref/reg and
     and those are no longer handled in tcg
   o that then required moving several force_location_* routines into
     thlcg because they use a_load_loc*, but did not take tdef size
     parameters (which are required by the thlcg a_load_loc* routines)
   o the only practical consequence is that from now on, you have to
     use hlcg.location_force_mem/reg() (fpureg not yet) and
     hlcg.gen_load_loc_cgpara() instead of the removed versions from ncgutil,
     and hlcg.a_load*loc*() instead of cg.a_load*loc* if a subsetref/reg
     might be involved

git-svn-id: trunk@21287 -
2012-05-13 12:33:10 +00:00
michael
264a013087 * Example from Reinier Olislagers to demo TFBAdmin component (bug 22012)
git-svn-id: trunk@21277 -
2012-05-12 12:19:45 +00:00
michael
3296858f44 * Added TFBAdmin component from Ludo Brands (bug 22012)
git-svn-id: trunk@21276 -
2012-05-12 12:15:56 +00:00
paul
62a91ef626 compiler: don't search symbol in other symtables than in found nested class, fix wrong test + add another one
git-svn-id: trunk@21275 -
2012-05-12 08:21:50 +00:00
paul
62b59235ca compiler: fix accessing typed constants inside class declaration (bug #21941)
git-svn-id: trunk@21273 -
2012-05-12 01:09:56 +00:00
svenbarth
4fc7515591 * pdecsub.pas, parse_proc_dec: always parse operator overload heads as block type bt_body so that operators like ">", "=>" or "<>" are resolved to the correct tokens ("<>" would be a sequence of "_LSHARPBRACKET _RSHARPBRACKET" instead of _NE otherwise). Fixes Mantis #21127
git-svn-id: trunk@21266 -
2012-05-09 12:32:34 +00:00
joost
e2d43a63b2 * Added Lazarus gui-frontend for db unit-tests.
git-svn-id: trunk@21253 -
2012-05-08 10:22:39 +00:00
svenbarth
5b1b194b47 * pdecvar.pas, read_record_fields: don't generate BSS-data for generic static fields (doesn't fix any specific bug, but we don't need space reserved for the field)
* pgenutil.pas, generate_specialization: fix a stupid "don't iterate upwards if deleting/extracting" mistake (twice!); this fixes Mantis #21550 and Mantis #21654 (tests added)

git-svn-id: trunk@21251 -
2012-05-08 07:31:37 +00:00
Jonas Maebe
50d2fa7134 * after changing a modeswitch, only change related module/localswitches that
depend on the modeswitch that was just changed (so that e.g. changing
    the nested procvars setting has no effect on the state of $h+/$h-)
    (mantis #21951)

git-svn-id: trunk@21247 -
2012-05-06 14:56:49 +00:00
florian
69ce5fa66b * patch by Max Nazhalov to improve real2str performance, resolves #21825
git-svn-id: trunk@21236 -
2012-05-05 18:29:32 +00:00
paul
5217b7011b tests: add test to check overload precedence for ShortString type passed to other string types
git-svn-id: trunk@21192 -
2012-05-02 08:45:54 +00:00
paul
548cdece84 tests: add test to check overload precedence for AnsiString type passed to other string types
git-svn-id: trunk@21191 -
2012-05-02 02:52:10 +00:00
paul
50ddd16619 tests: add string constant overload precedence tests when default string type is UnicodeString
git-svn-id: trunk@21190 -
2012-05-02 02:34:12 +00:00
Jonas Maebe
4ac396bd74 * and now the actual test object files...
git-svn-id: trunk@21108 -
2012-04-28 22:28:26 +00:00
Jonas Maebe
562b968b16 * now that copy() expressions are only translated into calls during the
first pass, we have to manually set the varstate of its parameters during
    the typecheck pass (mantis #21878)

git-svn-id: trunk@21106 -
2012-04-28 21:33:29 +00:00
sergei
c08ab0f745 * Re-raising exceptions must be allowed only in 'except' block itself, not in 'try' block of a nested try..except statement. Mantis #21873.
git-svn-id: trunk@21100 -
2012-04-28 15:59:34 +00:00
Jonas Maebe
e20639732f + cghlcpu unit with thlbasecgcpu class that overrides all abstract tcg
methods that don't have to be implemented by targets using the high
    level code generator, with dummy implementations that raise an internal
    error (to remove warnings about instantiating classes with abstract
    methods)
  * let the JVM tcg descendent derive from this new thlbasecgcpu class

git-svn-id: trunk@21098 -
2012-04-28 14:27:31 +00:00
Jonas Maebe
834026bfb5 * synchronised with trunk up to r21067
git-svn-id: branches/jvmbackend@21068 -
2012-04-26 21:24:20 +00:00
marco
743e58ed0f * test for bzip2 from Mantis #21261
git-svn-id: trunk@20977 -
2012-04-22 10:12:45 +00:00
florian
d681ad612b + several redirection include files for mipsel/mipsel-linux
git-svn-id: trunk@20956 -
2012-04-21 18:21:09 +00:00
joost
c16b79c1a6 Improved working with stand-alone TBufDataset:
* Added tests
 * Raise exception when trying to refresh data when there are updates
 * CreateDataset now also creates a dataset based on the fields when there
   are no fielddefs available.

git-svn-id: trunk@20940 -
2012-04-20 13:45:41 +00:00
pierre
8c047abb43 + New script to check constant entries against system headers
git-svn-id: trunk@20934 -
2012-04-19 14:56:32 +00:00
pierre
3f24548e58 + New script to check errnostr.inc entries
git-svn-id: trunk@20933 -
2012-04-19 14:55:57 +00:00
pierre
eb90a60afe New test for sysnr.inc system error numbers
git-svn-id: trunk@20914 -
2012-04-18 10:31:29 +00:00
pierre
75ca260090 Separate sparc specific system error numbers into new include file
git-svn-id: trunk@20912 -
2012-04-18 10:29:10 +00:00
pierre
b3f3e0d2a1 Move check_sys.sh to unix/scripts directory
git-svn-id: trunk@20911 -
2012-04-18 10:24:34 +00:00
pierre
11fe796ac3 Add script directory
git-svn-id: trunk@20910 -
2012-04-18 10:10:03 +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
9c311fa6bb + test object files for AIX/PowerPC
git-svn-id: trunk@20888 -
2012-04-15 16:06:46 +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
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
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
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
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
1e9b92ee50 + AIX support for cwstring
o AIX-specific codepage names
   o AIX/ppc32 uses a 16 bit wchar_t
   o special support for handling cp866 on AIX: AIX only supports converting
     cp866 from/to ISO8859-5 -> always use that code page as an intermediate
     one on AIX (it's lossy, but better than completely failing)
  * in case the default system code page cannot be detected, fall back to
    UTF-8

git-svn-id: trunk@20839 -
2012-04-11 18:06:22 +00:00
Jonas Maebe
d545a72f1a + lnfogdb unit that can use gdb to symbolicate backtraces on unix targets
(used for stabx/aix)

git-svn-id: trunk@20833 -
2012-04-11 18:05:56 +00:00
Jonas Maebe
44bd889b9b * regenerated Makefiles with AIX support
git-svn-id: trunk@20812 -
2012-04-11 18:03:57 +00:00
Jonas Maebe
8335223caf + aix support for pthreads package
git-svn-id: trunk@20810 -
2012-04-11 18:02:43 +00:00
Jonas Maebe
462de0f5fd + AIX target definition and info for the compiler and ppudump
git-svn-id: trunk@20790 -
2012-04-11 18:00:29 +00:00
Jonas Maebe
8d8fc0fdee + RTL for AIX
git-svn-id: trunk@20786 -
2012-04-11 17:59:49 +00:00
pierre
ad2ec8c76d New OpenBSD-x86_64 C compiled objects
git-svn-id: trunk@20759 -
2012-04-08 17:47:48 +00:00
florian
dd70debe80 * records containing managed types are not "regable", resolves #21674
git-svn-id: trunk@20753 -
2012-04-07 20:19:48 +00:00
joost
66b0f3d9fb * Added fpmake.pp files for utilities
git-svn-id: trunk@20752 -
2012-04-07 20:06:14 +00:00
joost
f0a75c1254 * Added fpmake.pp files for some utils
git-svn-id: trunk@20736 -
2012-04-06 22:47:03 +00:00
florian
7fe6c0d95d * handle currency constants correctly on non i386 platforms if they are given as integer constant, resolves #21091
git-svn-id: trunk@20734 -
2012-04-06 22:13:48 +00:00
florian
9fcff238f1 * create and push array def before the array range is parsed, this allows generic parameters to be used in the range definition, resolves #21592
git-svn-id: trunk@20725 -
2012-04-06 20:35:18 +00:00
pierre
a06b2b4c02 + Initial implementation for openbsd x86_64 cpu specific rtl code
git-svn-id: trunk@20713 -
2012-04-05 21:01:47 +00:00
florian
79a77ae7d6 + in_generic for testing if currently a generic declaration/definition is parsed/record
* omit several error messages when in_generic is true because the error can be checked only during specialisation, resolves the issue reported in #21592

git-svn-id: trunk@20699 -
2012-04-03 19:29:09 +00:00
pierre
2c941ec5d9 Recompile sparc-linux objects using gcc Debian 4.3.2-1.1
git-svn-id: trunk@20679 -
2012-03-30 21:13:00 +00:00
pierre
0c144e8bbc Test fix for bug report 21566
git-svn-id: trunk@20636 -
2012-03-26 15:50:09 +00:00
Jonas Maebe
26754a3f9f * fully compare typenodes and rttinodes in their docompare() methods
(mantis #21551)

git-svn-id: trunk@20630 -
2012-03-25 16:52:34 +00:00
svenbarth
bd19a16be9 Add support for Default() intrinsic. For now this is only (fully) supported
in code and not in constants. In the case of primitive types constant nodes
are used while complex types like arrays, records and objects use a local
variable which is initialized to zero once at the entry of the method (the
variable is reused if Default() is used for the same type multiple times in
the same method). For this a new compilerproc was added which uses FillChar
to initialize the given memory area to zero.
This fixes Mantis #9420.

+ psystem.pas: Added Default symbol to system unit
+ htypechk.pas: Added function "is_valid_for_default" which checks recursively
                whether the given type can be used with Default at all. 
                Forbidden types are files, helpers, ObjC and C++ types. This
                check is used for records, arrays and objects only if the mode
                is a non-Delphi one, as Delphi ignores these types on lower
                levels.
+ msg/errore.msg: Added error message for unsupported types for Default()
+ symconst.pas: Added a new enum value vo_is_default_var which is used for the
                local variables utilized by Default() so their initalization
                and finalization can be avoided.
+ pexpr.pas: Add handling of Default() intrinsic to "statement_syssym"
+ ninl.pas: Extended tinlinenode by a method which returns the correct node for
            a Default() and used that method in handle_typecheck.
* ncgutil.pas: Check for new flag "vo_is_default_var" when initializing and
               finalizing local variables.
* ppu.pas: increase PPU version
+ psub.pas: 
  * Added a new routine which zeros defaultvars of a symtable.
  * Use this routine inside "initializevars".
  * Also use this routine to initialize the staticsymtable of the unit/program.
* Adjusted ppudump, because of the new enum value.
+ Added implementation of fpc_zeromem to system unit.
+ Added tests for Default()

git-svn-id: trunk@20629 -
2012-03-25 16:02:27 +00:00
joost
b1cda73a9a * Replaced fpcmake building by fpmake building
git-svn-id: trunk@20612 -
2012-03-24 10:15:21 +00:00
florian
99b0421193 + patch by Seth Grover to support line number macro returning a numerical number, resolves #21372
git-svn-id: trunk@20608 -
2012-03-23 20:35:42 +00:00
florian
0f9b8c8936 * don't throw an error if a non-generic is tried to be specialized, resolves #21238
git-svn-id: trunk@20607 -
2012-03-23 20:32:40 +00:00
joost
79c3ea3f87 * Added fpmake.pp file for fppkg-util
git-svn-id: trunk@20584 -
2012-03-22 21:10:28 +00:00
joost
df59758326 * Added new tool to generate fpmake.pp files from JSON-based configuration files
git-svn-id: trunk@20571 -
2012-03-22 13:42:30 +00:00
joost
0e0a5dee4f * TTemplateParser: Do not require a space between the tag name and the
ParamStartDelimiter. 
 * Allow parameters without any name, for example: {uppercase[-this-]}
 * Added simple tests for TTemplateParser

git-svn-id: trunk@20543 -
2012-03-20 16:13:14 +00:00
sergei
feb30b2e87 + Added test for RFC3896 compliance of ResolveRelativeUri().
git-svn-id: trunk@20542 -
2012-03-19 16:24:39 +00:00
marco
2d8dbeca54 * Merged Andrew Brunners and Lacak2's patches from Mantis #19736 that
implement mysql 5.5 header + sqldb connection support.

git-svn-id: trunk@20534 -
2012-03-17 17:17:40 +00:00
Jonas Maebe
83235a483b * always return a LOC_JUMP from tjvmnotnode.second_boolean: required both
to correctly handle non-pasbool types (can't just "not" their value),
    and for Dalvik (a "not pasbool" became "xori 1", which turned the value
    from a boolean into an integer as far as the Dalvik type checker was
    concerned)

git-svn-id: branches/jvmbackend@20525 -
2012-03-16 17:23:55 +00:00
michael
5331e66a8d * Added ms-sql server connector by LaCak2
git-svn-id: trunk@20522 -
2012-03-16 08:36:12 +00:00
florian
fbc519faeb * don't allow multiple deprecated messages, resolves #21466
git-svn-id: trunk@20515 -
2012-03-12 21:39:43 +00:00
Jonas Maebe
5c56b1bc3d * give an error when trying to take address of a global label declared in
another scope instead of crashing (mantis #21078)

git-svn-id: trunk@20508 -
2012-03-10 23:24:43 +00:00
michael
c0807b4023 * Added readme
git-svn-id: trunk@20498 -
2012-03-10 17:17:39 +00:00
michael
aa45ca8e0e * First version of fpindexer engine
git-svn-id: trunk@20496 -
2012-03-10 16:04:12 +00:00
Jonas Maebe
d1acb76df8 * don't replace "expr1 or expr1" or "expr1 and expr1" with just "expr1"
if expr1 has sideeffects. This can't be done safely even in case of
    short boolean evaluation, because expr1 may return the inverse the
    second time its called (and "0 or 1" is not the same as "0", and
    neither is "1 and 0"), based on comment by Michael Karcher
  * perform a full string compare when comparing stringconstnodes
    before the string constant labels have been generated (patch by
    Michael Karcher, mantis #21255)

git-svn-id: trunk@20485 -
2012-03-09 20:26:32 +00:00
Jonas Maebe
3ebdd64d75 * dereference pchar passed to indexbyte in strecopy (patch by Andrew Haines,
mantis #21443)

git-svn-id: trunk@20481 -
2012-03-08 18:55:49 +00:00
pierre
af66d92faf * Update complete i386-freebsd C objects with gcc 4.2.1 from FreeSBD 8.2 release
git-svn-id: trunk@20466 -
2012-03-03 10:45:04 +00:00
sergei
997538dd41 + fcl-xml, added unit xmlreader.pp (abstract base for streamed reading)
git-svn-id: trunk@20437 -
2012-02-27 11:02:34 +00:00
Jonas Maebe
b9c54fab0d * fixed finding the real definition for formal Objective-C protocols
* fixed printed source code positions in error message in case the external
    name of a formal and of a real definition don't match

git-svn-id: trunk@20425 -
2012-02-25 11:52:35 +00:00
Jonas Maebe
85ef5e109c + assert() support for the JVM target (currently ignores the Java classloader
assertionStatus setting)

git-svn-id: branches/jvmbackend@20388 -
2012-02-20 11:28:59 +00:00
Jonas Maebe
bacdd8be81 * don't ever mark the function result as vs_initialised, also not when
it is passed as a hidden parameter (mantis #20907)

git-svn-id: trunk@20373 -
2012-02-17 16:25:50 +00:00
sergei
724227c962 * Cleaned out code marked as originated from glibc:
- strlen.inc: removed, was never actually used anywhere.
  - StrCopy: removed, its generic version is optimized well enough now.
  * StrComp: rewritten, speed somewhat improved.

git-svn-id: trunk@20349 -
2012-02-14 16:09:45 +00:00
paul
2499b5514f compiler: change overload search for char constants (for delphi compatibility):
- for AnsiChar prefer ShortString, AnsiString, UnicodeString, WideString, ... (LongString?)
  - for WideChar prefer UnicodeString, WideString, AnsiString, ShortString, ... (LongString?)
  - remove old code from htypechk which made AnsiChar const = AnsiString,ShortString and WideChar const = WideString,UnicodeString - it is no longer needed since defcmp performs the required comparisons
  + test

git-svn-id: trunk@20348 -
2012-02-14 06:52:33 +00:00
svenbarth
2a872978dc Fix Mantis #21179
* defcmp.pas:
        + Extend compare_def_ext by the possiblity to specify whether strict or
          loose comparison of undefined defs should be applied.
          * in strict mode undefined defs are incompatible to all other defs
            except other undefined defs
          * in loose mode undefined defs are equal to anything (this is how
            FPC behaved up to now)
        + Enable the strict mode in compare_paras so that overloads with
          generic type parameters are possible
* ptype.pas, single_type:
        If the generic dummy of the currently parsed generic is encountered in
        non-Delphi modes then we need to return the current genericdef. This
        condition needs to be checked using the ObjName of the def, because
        the link from the type symbol to the current def is not yet 
        established 
+ added test for bug report

git-svn-id: trunk@20345 -
2012-02-13 21:17:54 +00:00
pierre
f7d48d6a04 * i386 NetBSD compiled objects added using GCC 4.1.3
git-svn-id: trunk@20327 -
2012-02-12 19:06:01 +00:00
joost
2735e656b0 * Switched packages building from make/fpmake hybrid to fpmake building.
git-svn-id: trunk@20315 -
2012-02-11 17:55:26 +00:00
pierre
ed3284546a New file adapted from Darwin
git-svn-id: trunk@20297 -
2012-02-10 00:23:50 +00:00
paul
3b153c223a compiler:
- treat the defs equal when convert from rawbytstring to any ansistring type (delphi compatible)
  - set result of ansistring copy() function to the type of first argument for ansistring arguments and to ansistring for pchar and char array arguments (delphi compatible)
  + test

git-svn-id: trunk@20285 -
2012-02-09 08:22:38 +00:00
florian
806ae36100 * some mips rtl compilation issues fixed
git-svn-id: trunk@20277 -
2012-02-07 22:07:13 +00:00
pierre
30d9afe879 Add mipsel file including mips counterparts
git-svn-id: trunk@20256 -
2012-02-04 22:29:04 +00:00
florian
8b339ded7a * started to fix the mips(el) linux rtl
git-svn-id: trunk@20255 -
2012-02-04 21:25:53 +00:00
svenbarth
ef10ce3bd0 * pgenutil.pas, generate_specialization:
When parsing an inline specialization inside a generic we need to 
	respect the "parsedtype" parameter which tells us whether the first
	generic parameter was already parsed. This fixes Mantis #20871 .
+ added test for this

git-svn-id: trunk@20251 -
2012-02-04 16:26:47 +00:00
svenbarth
9cb16c950f This fixes Mantis #20851 .
For the solution symbols will now contain a "sp_explicitrename" flag if they
were created through a type rename. This is necessary, because we can't
decide whether a type is a renamed generic para which contains by default a
reference to the default undefined def. Using individual undefined defs will
lead to duplicate identifiers as they are created before a symtable was
pushed (thus they'll ba part of whatever symtable is at the top). 

+ symconst.pas, tsymoption:
        Add a new option "sp_explicitrename" which will be used to track type
        renames.
+ pdecl.pas, type_dec:
        Set the new flag if we're dealing with a type rename
* pexpr.pas, factor_read_id:
        If we have an undefined def that is also a rename then we assume that
        it's a rename of a generic parameter
* utils/ppudump.pp:
        Adjustment because of change to tsymoption
* utils/ppu.pp:
        Increase PPU version
+ added test

git-svn-id: trunk@20250 -
2012-02-04 16:03:58 +00:00
svenbarth
6204da6248 Add tests for Mantis 18103 which somehow is completely fixed now (not related
to my last commit though...).

git-svn-id: trunk@20248 -
2012-02-04 14:33:29 +00:00
svenbarth
04683c5f13 pgenutil.pas, generate_specialization:
- Remove unneeded check for "parse_generic" (it's already checked in the outer if-clause).
+ Check whether we are trying to specialize one of the surrounding type declarations of a
  nested type (as long as nested generics are forbidden this is always the outermost generic
  or specialization). This check can not rely on the symbol, because while parsing the
  generic or the specialization the symbol's def is still an errordef. This fixes 
  Mantis #19498 .

+ Added test from bug report.

git-svn-id: trunk@20247 -
2012-02-04 14:20:26 +00:00
svenbarth
c572395f61 * pgenutil.pas, generate_specialization & psub.pas, specialize_objectdefs:
When specializing a generic the references from unitsyms to the loaded modules
	needs to be reestablished, so that "unitidentifier.identifier" can be used
	inside a generic without leading to an access violation.
	Only global units are checked, because a generic must not use symbols from the
	static symtable or from units used by the implementation section (the latter is 
	currently not checked)

+ added tests for the above problem for "normal" units as well as units with a namespace 

git-svn-id: trunk@20245 -
2012-02-04 11:33:17 +00:00
pierre
a9c7e135ee Add MIPS GNU AS reader
git-svn-id: trunk@20222 -
2012-02-02 23:49:51 +00:00
pierre
6e81fe6abc + Add two new sotfpuu units with x80 or 128 bit support
git-svn-id: trunk@20204 -
2012-01-31 15:58:56 +00:00
pierre
dbeca48e3d + New mkia64reg.pp source
git-svn-id: trunk@20201 -
2012-01-31 15:47:31 +00:00