Commit Graph

12045 Commits

Author SHA1 Message Date
pierre
fa4b4906e6 * ogcoff.pas: Add support for RELOC_SECREL32.
* cfidwarf.pas: Fix CIE pointer inside dwarf-FDE entry which must be
    a section relative offset.

git-svn-id: trunk@16062 -
2010-09-29 12:58:21 +00:00
Jonas Maebe
bd0567563c * don't crash in {$x-} mode if a call cannot be resolved due to an error
in the expression (mantis #17455)

git-svn-id: trunk@16061 -
2010-09-29 12:11:22 +00:00
pierre
19e037dde7 * Try to improve directory handling of program
git-svn-id: trunk@16057 -
2010-09-28 10:21:51 +00:00
pierre
7c04d8d13b From patch submitted by Willibald Krenn in Bug Report 17500.
* assemble.pas (TInternalAssembler.WriteStab): Use RELOC_ABSOLUTE32 for
   32-bit stab entry.
 * ogcoff.pas: Add check for correct generated reloc section size.
 * systems/t_win.pas: Use 0x400000 image base for x86_64 programs using
   stabs debug information format.

git-svn-id: trunk@16056 -
2010-09-28 10:06:54 +00:00
florian
7199ac4ad7 + apply cse on load parent frame pointer nodes
git-svn-id: trunk@16055 -
2010-09-27 20:54:34 +00:00
Jonas Maebe
e6c09430cb * fixed inverted condition in r16052 that could cause superfluous parameter
copies (and missing parameter copies, although that was less likely)

git-svn-id: trunk@16053 -
2010-09-27 14:23:08 +00:00
Jonas Maebe
6094cb79dc * fixed internalerrors on non-use_fixed_stack platforms after r16050:
stack parameters can also be split over multiple locations

git-svn-id: trunk@16052 -
2010-09-27 09:52:47 +00:00
Jonas Maebe
92901a0619 - removed unused local variable after r16050
git-svn-id: trunk@16051 -
2010-09-27 09:51:40 +00:00
Jonas Maebe
f13f6627c4 * moved use_fixed_stack from cgutils to a method in paramgr so it can
be used outside the code generator
  * renamed tabstractprocdef.requiredargarea into callerargareasize,
    and also added calleeargareasize field; added init_paraloc_info(side)
    method to init the parameter locations and init those size fields and
    replaced all "if not procdef.has_paraloc_info then ..." blocks with
    procdef.init_paraloc_info(callersize)"
  * moved detection of stack tainting parameters from psub to
    symdef/tabstractprocdef
  + added tcallparanode.contains_stack_tainting_call(), which detects
    whether a parameter contains a call that makes use of stack paramters
  * record for each parameter whether or not any following parameter
    contains a call with stack parameters; if not, in case the current
    parameter itself is a stack parameter immediately place it in its
    final location also for use_fixed_stack platforms rather than
    first putting it in a temporary location (part of mantis #17442)
  * on use_fixed_stack platforms, always first evaluate parameters
    containing a stack tainting call, since those force any preceding
    stack parameters of the current call to be stored in a temp location
    and copied to the final location afterwards

git-svn-id: trunk@16050 -
2010-09-26 21:24:14 +00:00
Jonas Maebe
92a53a9cf1 * moved initialisation of overridesclasshelper "out" parameter to correct
place (was in a nested procedure instead of in the main one, fix for
    r16035)

git-svn-id: trunk@16039 -
2010-09-24 23:48:14 +00:00
Jonas Maebe
1633341906 * treat methods added via an objccategory to an objcclass in exactly the
same way as regular methods as far as overriding is concerned ("override"
    is now allowed, and even required, to override them in a descendent class;
    and similarly, "reintroduce" must be used if a category wants to replace
    a method in a child class if that method was  added by another category in
    a parent class)
  * print the name of owning objcclass/category of the original method in case
    override/reintroduce is missing for objc methods, since this is no longer
    always the parent class

git-svn-id: trunk@16035 -
2010-09-22 21:26:58 +00:00
Jonas Maebe
f4756b8cc1 * enabled node cse with -O2 for ppc32
* enabled tail recursion with -O2 for ppc64

git-svn-id: trunk@16021 -
2010-09-19 23:27:01 +00:00
Jonas Maebe
1c9fed7ae3 * resolve anonymous external objcclass definitions to the real type also when
a) defining a child class
     b) checking for type conversion compatibility

git-svn-id: trunk@16013 -
2010-09-19 16:05:32 +00:00
florian
3041bbab27 * fixes overflowing internalerror number
git-svn-id: trunk@15998 -
2010-09-16 20:46:11 +00:00
florian
b147f5b716 * don't do tail recursion optimization on method calls having an explicit self pointer, resolves #17402
git-svn-id: trunk@15997 -
2010-09-16 20:45:46 +00:00
joost
b938ea0f2a * For cdecl functions the funcret is not popped by the caller when it is passed
as a para. But in case of the safecall convention, the funcret is always
   returned as para and from the c point-of-view this is a normal para. So it has
   to be popped normally. This was done by correcting the pop_size in 
   ti386callnode.pop_parasize but it's better to do this directly in 
   tcgcallnode.pass_generate_code.

git-svn-id: trunk@15994 -
2010-09-15 20:18:36 +00:00
joost
3ee0e6fd2d * Added comments to explain the tf_safecall_clearstack and tf_safecall_exceptions target flags
git-svn-id: trunk@15993 -
2010-09-15 20:00:03 +00:00
Jonas Maebe
07e47171d2 * don't perform temp substitution of an entire array when assigning only the
first array element (related to mantis #13948 and #17413)

git-svn-id: trunk@15992 -
2010-09-15 15:03:32 +00:00
Jonas Maebe
ac8add7cf9 * don't perform temp substitution for variables whose address has been taken
or that are accessible outside the current block (mantis #17413)

git-svn-id: trunk@15990 -
2010-09-15 12:06:21 +00:00
Jonas Maebe
7f489635da * disabled maybe_call_procvar() again for macpas mode, because it breaks
CodeWarrior compatibility in a more prominent way than failure to
    compile webtbs/tw17379a.pp (-> added %knowncompileerror)

git-svn-id: trunk@15976 -
2010-09-13 20:14:27 +00:00
Jonas Maebe
f0114a8d4e - removed unused variable after r15918
git-svn-id: trunk@15972 -
2010-09-12 16:05:03 +00:00
Jonas Maebe
c43fda1fe1 * enabled maybe_call_procvar() also for macpas mode (calls procvars that
don't have any parameters in most expressions, rather than using them
    as the procvar itself) -> replaced procvar<>nil with assigned(procvar)
    in test/tmacprocvar.pp to keep it compiling (otherwise it now called
    the procvar); necessary in combination with the next fix to compile
    webtbs/tw17379a.pp
  * automatically disambiguate the use of the function name when used as a
    parameter in macpas mode (if the formal parameter type is a procvar
    type then interpret it as the current function definition, otherwise
    as the current function result) (mantis #17379)

git-svn-id: trunk@15971 -
2010-09-12 16:03:00 +00:00
florian
f13eff22b0 + added generic stellaris support as provided by #17365
git-svn-id: trunk@15957 -
2010-09-09 09:02:14 +00:00
Jonas Maebe
f302fcdc98 + TSubRegisterSet definition forgotten to commit in r15952
* fixed compilation on non-x86 platforms after r15952

git-svn-id: trunk@15956 -
2010-09-09 08:48:02 +00:00
paul
4718c88f8d compiler: compare enumerator operator "current" return type with the loop variable while searching for enumerator
git-svn-id: trunk@15953 -
2010-09-09 08:22:13 +00:00
Jonas Maebe
22b4860dd7 * getregisterinline() can be used to replace multiple size variants
of the same register (or of a register and its aliases) -> make
    sure that all relevant constraints are applied to it as well
    (mantis #16980)

git-svn-id: trunk@15952 -
2010-09-08 21:13:02 +00:00
Jonas Maebe
a311607ca6 * do not convert the second argument of inc/dec(ptrtype,value) into a
pointer, because that will force "value" to become unsigned, which
    result in errors in case of negative 64bit constants in case they
    are multiplied by the size of the pointed type in ncginl (the
    tconstexprint type operators have to handle positive and
    negative numbers differently) (mantis #17342)

git-svn-id: trunk@15951 -
2010-09-08 15:33:43 +00:00
pierre
973c23e12c * Fix for win64 GNU AS bug
git-svn-id: trunk@15939 -
2010-09-02 23:41:02 +00:00
pierre
cd0329a15e * fix target options for GNU ld
git-svn-id: trunk@15938 -
2010-09-02 06:59:01 +00:00
pierre
9518188c4d * Also use CMP -i218 for win64 target
git-svn-id: trunk@15934 -
2010-09-01 11:43:28 +00:00
pierre
0083fc3e3d * Avoid overflow error
git-svn-id: trunk@15922 -
2010-08-30 12:48:54 +00:00
Jonas Maebe
7ba5eaf272 * fixed copy/paste error in the test, and the compiler bug that was
triggered by it (make sure that records with indexed array fields
    are never kept in registers), mantis #17283

git-svn-id: trunk@15921 -
2010-08-30 11:27:14 +00:00
Jonas Maebe
80086184d3 * mark values typecasted to regular array types and indexed as non-regable,
so that they aren't forced into a temporary location when passed to a
    var parameter later on (mantis #17283)

git-svn-id: trunk@15918 -
2010-08-29 17:19:58 +00:00
joost
65ab1e820b * Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
* Adapted tests because safecall on linux/i386 now does not include high() 
   support anymore

git-svn-id: trunk@15913 -
2010-08-27 19:07:22 +00:00
pierre
c03fa8e79d + Add warning if @GOTPCREL will not be honored
git-svn-id: trunk@15911 -
2010-08-26 15:51:36 +00:00
florian
0c9298a1be * update of German error message file by Karl-Michael Schindler, resolves #17256
git-svn-id: trunk@15904 -
2010-08-25 15:52:56 +00:00
Jonas Maebe
821d0c5d26 * use fact that a method belongs to an objectsymtable to determine that
it is a method (_class is also set for nested procedures of methods),
    resolves problem reported in
    http://lists.freepascal.org/lists/fpc-pascal/2010-August/026259.html

git-svn-id: trunk@15898 -
2010-08-24 20:30:18 +00:00
pierre
74a4b4cafc * Suppress warnings
git-svn-id: trunk@15896 -
2010-08-24 15:30:36 +00:00
Jonas Maebe
5ca1bd2a32 * if the unit of a procedure call is explicitly specified, limit the search
for (overloaded) procsyms to that unit (mantis #17220)

git-svn-id: trunk@15887 -
2010-08-23 20:51:40 +00:00
florian
3a07adf27e * reduce redundant temporary interfaces variables, resolves #14092
git-svn-id: trunk@15880 -
2010-08-23 11:56:17 +00:00
florian
700f687692 * nested open array constructors are not allowed, resolves #17213
git-svn-id: trunk@15876 -
2010-08-22 20:13:27 +00:00
florian
deef8dfa33 * better error message in case of self-referencing generics specialization, resolves #17181
git-svn-id: trunk@15850 -
2010-08-19 08:00:57 +00:00
pierre
11654d5f8c * nflw.pas: Add lnf_simplify_processing loopflag value.
* nutils.pas: Adapt dosimplify to handle loop nodes so that the condition
  is simplified before any of the possible alternatives to avoid compilation
  failures as was appearing for a while on 64-bit compiler if DEBUG=1 was used.

git-svn-id: trunk@15848 -
2010-08-18 16:08:30 +00:00
Jonas Maebe
cc2f4138a3 * make it clear that the unit_u_source_modified is about source files that
are newer than the ones used to create the ppu file, rather than that
    the source file itself is necessarily newer than the ppu file (the
    time stamp of the ppu file is used to check whether the main source file
    has been changed, but for include files the time stamps are recorded in
    the ppu file)

git-svn-id: trunk@15843 -
2010-08-18 14:13:24 +00:00
Jonas Maebe
304a8f4db7 * only insert the current list of pc-relative data if it's not empty,
solves the problem whereby an empty list could sometimes be inserted
    after a jump table load (in case the jump table was larger than the
    maximally allowed offset, and if there was a skipinstr between the
    previous instruction and the jump table load) (mantis #17164)

git-svn-id: trunk@15831 -
2010-08-16 20:17:07 +00:00
Jonas Maebe
97f9157a7a * convert LOC_FLAGS/LOC_JUMP to cbool value in bool_to_bool conversion,
otherwise it stays 0/1 instead of becoming 0/-1 (mantis #17180)

git-svn-id: trunk@15830 -
2010-08-16 17:54:39 +00:00
Jonas Maebe
eb2581946c o adapted to current ppu format:
* support enumsyms stored as part of the enumdef (r15051)
    * removed po_local and added po_delphi_nested_cc (r15694)
    * renamed pi_has_goto to pi_has_label (r15712)

git-svn-id: trunk@15798 -
2010-08-13 13:24:28 +00:00
pierre
8e8a573707 * commit 15780 reverted
git-svn-id: trunk@15784 -
2010-08-11 21:45:55 +00:00
pierre
df01446f42 * avoid private constructor warning
git-svn-id: trunk@15780 -
2010-08-11 15:41:54 +00:00
florian
0085c22c59 - NaN floating point constants do not anymore cause an error when $Q or $R is active (resolves #16315 and #14757)
+ $ieeeerrors (command line switch -C3) to enable errors on NaN floating point constants
+ tests

git-svn-id: trunk@15765 -
2010-08-10 19:05:13 +00:00
pierre
45b11561cf + Always try to find Compiler in same directory first
git-svn-id: trunk@15763 -
2010-08-10 11:37:06 +00:00
pierre
874e69bcf8 * revert wrong commits
git-svn-id: trunk@15762 -
2010-08-10 11:33:38 +00:00
pierre
d27278faac * Add external linker possibility for windows x86_64 compiler
git-svn-id: trunk@15761 -
2010-08-10 11:28:31 +00:00
paul
bbdd8e52f1 compiler: allow "deprecated", "experimental" and "unimplemented" to be used as identifiers
git-svn-id: trunk@15759 -
2010-08-10 03:43:12 +00:00
florian
8b1889d033 * now compilation on i386 was broken, fixed
git-svn-id: trunk@15757 -
2010-08-09 20:00:19 +00:00
florian
33c67c7972 * compilation fixed on x86-64
git-svn-id: trunk@15756 -
2010-08-09 19:51:28 +00:00
florian
9365eb48c0 * check if labsym is assigned before testing if it's used globally
git-svn-id: trunk@15754 -
2010-08-08 17:31:15 +00:00
florian
66571ee4c8 * use extended as default real type in calculations only if fputype=x87
git-svn-id: trunk@15750 -
2010-08-08 16:17:43 +00:00
joost
181804e4b9 * Fixed passing parameters on the stack to cdecl interface-methods. The 'call'
shifted all the parameters on the stack. Now the 'self' parameter is
   declared as var, not const, restoring its original value is not necessary
   anymore 

git-svn-id: trunk@15744 -
2010-08-08 13:27:54 +00:00
Jonas Maebe
99aece6230 * cleaned up handling of Darwin non-lazy pointer sections: create sections
as needed, instead of once when initialising the list (currently nothing
    else is added to that asmlist so it was safe, but it was not robust)

git-svn-id: trunk@15742 -
2010-08-08 12:39:16 +00:00
Jonas Maebe
4ef0601906 * let def_cgsize() also recognise unicodestrings (avoid calling tdef.size)
git-svn-id: trunk@15741 -
2010-08-08 12:37:07 +00:00
florian
6f07880614 * updated copyright notice to 2010
git-svn-id: trunk@15724 -
2010-08-06 11:23:43 +00:00
florian
683ac0ea45 * taking the address of an absolute var sym with constant address evaluates into a const. pointer, resolves #17118
git-svn-id: trunk@15723 -
2010-08-06 11:09:45 +00:00
florian
bacd6fb71b * disable reg. vars in subroutines with interprocedural used labels
git-svn-id: trunk@15713 -
2010-08-05 20:23:48 +00:00
florian
ad23569cf1 * renamed pi_has_goto into pi_has_label because the problematic thing is if a procedure has a label as target and not if it has some goto
* moved inclusion of pi_has_label to tlabelnode.pass_1

git-svn-id: trunk@15712 -
2010-08-05 19:22:12 +00:00
florian
24fea58b92 + initial implementation of iso style gotos in iso mode
* made setjmp/longjmp accessible to the compiler by compiler proc, they are used by the iso goto code

git-svn-id: trunk@15711 -
2010-08-05 19:20:46 +00:00
florian
0712dbe25d * white space fixes
git-svn-id: trunk@15709 -
2010-08-05 19:11:25 +00:00
florian
afc7c37ffe + constant for file init info
git-svn-id: trunk@15708 -
2010-08-05 19:10:34 +00:00
Jonas Maebe
ab2b596575 * ld uses arm_wince_pe rather than arm-wince-pe (mantis #15666)
git-svn-id: trunk@15707 -
2010-08-04 19:01:46 +00:00
Jonas Maebe
d948ed083d * enabled nested procvars by default for ISO Pascal mode
git-svn-id: trunk@15695 -
2010-08-02 22:21:53 +00:00
Jonas Maebe
57bd6d2685 + merged nestedprocvars branch
+ support for nested procedural variables:
    o activate using {$modeswitch nestedprocvars} (compatible with all
      regular syntax modes, enabled by default for MacPas mode)
    o activating this mode switch changes the way the frame pointer is
      passed to nested routines into the same way that Delphi uses (always
      passed via the stack, and if necessary removed from the stack by
      the caller) -- Todo: possibly also allow using this parameter
      passing convention without enabling nested procvars, maybe even
      by default in Delphi mode, see mantis #9432
    o both global and nested routines can be passed to/assigned to a
      nested procvar (and called via them). Note that converting global
      *procvars* to nested procvars is intentionally not supported, so
      that this functionality can also be implemented via compile-time
      generated trampolines if necessary (e.g. for LLVM or CIL backends
      as long as they don't support the aforementioned parameter passing
      convention)
    o a nested procvar can both be declared using a Mac/ISO Pascal style
      "inline" type declaration as a parameter type, or as a stand-alone
      type (in the latter case, add "is nested" at the end in analogy to
      "of object" for method pointers -- note that using variables of
      such a type is dangerous, because if you call them once the enclosing
      stack frame no longer exists on the stack, the results are
      undefined; this is however allowed for Metaware Pascal compatibility)

git-svn-id: trunk@15694 -
2010-08-02 22:20:36 +00:00
florian
591dbb66df * ignore leading 0's in labels in iso mode
git-svn-id: trunk@15690 -
2010-08-02 19:36:50 +00:00
florian
79fa2eb539 * support of iso pascal like i/o in iso mode
git-svn-id: trunk@15685 -
2010-07-31 20:46:27 +00:00
florian
c506913e9b * iso conformant writing of floats (using e instead of E) in iso mode
git-svn-id: trunk@15684 -
2010-07-31 20:45:55 +00:00
florian
8b3bd36ef0 * use iso reset/rewrite with automatic assignmentin iso mode
git-svn-id: trunk@15682 -
2010-07-31 20:44:32 +00:00
florian
67416e958b * initialize file variables in iso mode
git-svn-id: trunk@15681 -
2010-07-31 20:43:37 +00:00
florian
73d788ff96 + iso7195 unit
git-svn-id: trunk@15680 -
2010-07-31 20:42:52 +00:00
florian
aa05cf8b1a + allow packed file of ...
+ allow @ to declare a pointer in iso mode

git-svn-id: trunk@15679 -
2010-07-31 20:42:06 +00:00
florian
d0ea23f39e * write false/true lower case in iso mode
git-svn-id: trunk@15678 -
2010-07-31 20:40:43 +00:00
florian
ced4f95c56 + introduce iso mode
git-svn-id: trunk@15677 -
2010-07-31 20:38:42 +00:00
paul
790f6b0a4b compiler: use delphi syntax for type, const and var section declarations in classes instead of fpc generics syntax
rtl: fix fgl to use the new syntax
tests: fix generics tests to use the new syntax

git-svn-id: trunk@15646 -
2010-07-27 00:59:32 +00:00
marco
878aa1865b * moved \end{description} becasue of 16991
git-svn-id: trunk@15631 -
2010-07-24 19:14:26 +00:00
Jonas Maebe
b5f05d79fb * fixed parameter number of the function result for pushleftright_pocalls on
non-Windows i386 platforms

git-svn-id: trunk@15612 -
2010-07-19 15:33:26 +00:00
Jonas Maebe
b475d03612 * changed backwards_was_first and extended_backwards from supregsets into
tbitsets so that they can grow as necessary and so that we don't have
    to fill the entire 8KiB all the time

git-svn-id: trunk@15604 -
2010-07-18 22:00:55 +00:00
Jonas Maebe
c072eb5a34 * fixed growing a tbitset when adding an element whose index equals the
datasize (and grow with 16 bytes at a time instead of with only
    exactly as many bytes as required to accomodate the new element)

git-svn-id: trunk@15603 -
2010-07-18 21:58:47 +00:00
Jonas Maebe
99a75c56fc * fixed copy-paste error in r15600
* fixed spilling error after r15600 the same register appears twice in an
    instruction (it was spilled once in that case)

git-svn-id: trunk@15601 -
2010-07-18 21:24:52 +00:00
Jonas Maebe
a75016e67b * make sure that registers are of the right type before calling get_alias
on them (could cause crashes or, in very rare instances, wrong spilling
    code)

git-svn-id: trunk@15600 -
2010-07-18 21:01:06 +00:00
Jonas Maebe
b18a4617bb * fixed calling static TP-style object methods from within other methods
(mantis #16954)

git-svn-id: trunk@15598 -
2010-07-18 11:01:12 +00:00
Jonas Maebe
5b0962b735 * fixed misplaced bracket in condition test that caused all blocks
in libraries to be parsed as if they were the main module block,
    which in practice mainly mean that local variables with default
    values were never initialisation (mantis #16949)

git-svn-id: trunk@15596 -
2010-07-18 09:46:04 +00:00
florian
9affb070b8 * don't force OT_BITS32 on x86-64, resolves #16622
git-svn-id: trunk@15595 -
2010-07-17 20:57:06 +00:00
Jonas Maebe
c30279cdc8 * no longer create implicit fail-cleanup code for TP-style object
constructors without an implicit exception frame (bug introduced
    in r15583, fixes cycle on linux/i386)

git-svn-id: trunk@15594 -
2010-07-17 19:45:03 +00:00
Jonas Maebe
86d2316a76 * check for self<>nil again before calling afterconstruction, fixes
tclass5.pp, tw1283.pp and tw10790.pp after r15583

git-svn-id: trunk@15585 -
2010-07-16 07:12:31 +00:00
Jonas Maebe
a07bb94fcb * separate the finally block that dezals with cleaning up temps and the
except block that deals with exceptions raised inside the constructor
    (including afterconstruction), so that afterconstruction is always
    called after all temps have been finalised (necessary because in case
    of tinterfacedobject it decreases the reference count of the instance
    without every freeing the instance, so if that is done before a temp
    that also holds a refernce is finalised, the temp may wrongly free
    the instance (mantis #16592, #16592)

git-svn-id: trunk@15583 -
2010-07-15 19:25:40 +00:00
Jonas Maebe
572f51867c * fixed tobjectdef.find_destructor(), it did not search the parent classes
git-svn-id: trunk@15581 -
2010-07-15 19:11:14 +00:00
Jonas Maebe
9273856e84 * disallow pusha*/popa* for x86_64 (mantis #14862)
* disallow pushfd/popfd for x86_64 (mantis #14862)
  * fixed assembling popfq with the internal assembler (it needs a rex.w
    prefisx, while pushfq doesn't)
  * changed the default opcode size of pushf/popf/pusha/popa in
    {$asmmode intel} from "native size" to 16 bit (compatible with Intel
    manuals and Kylix; in AT&T mode, the default size for those operations
    remains the native one)
  * changed pushf/popf in rtl/i386/* into pushfd/popfd because of the
    previous change

git-svn-id: trunk@15546 -
2010-07-10 16:22:46 +00:00
Jonas Maebe
a3a559cecc * part of r15538, forgot to commit
git-svn-id: trunk@15544 -
2010-07-10 15:05:30 +00:00
Jonas Maebe
2bf79e6e51 * fixed error message when using for-in with Objective-Pascal 1.0
git-svn-id: trunk@15541 -
2010-07-10 10:00:19 +00:00
marco
50af809a6c * a few portuguese message updates by Marcelo B Paula #0016843
git-svn-id: trunk@15539 -
2010-07-10 09:06:50 +00:00
Jonas Maebe
d3976c858b * fixed 64 bit check for "movd xmmreg, mem" and "movd mem, xmmreg" (patch by
Jasper Neumann, mantis #13294)
  * moved "reg64, xmmreg" and "xmmreg, reg64" combo's from movd to movq
    (movd is always 32 bit)

git-svn-id: trunk@15538 -
2010-07-09 21:16:48 +00:00
sergei
5abc4bf45d Russian message file update:
* Fixed some typos
* Changed translation of message 5005 (see discussion at http://freepascal.ru/forum/viewtopic.php?t=6021)
* Changed translation of "Target OS" as was suggested by Dmitriy Boyarintsev a long time ago

git-svn-id: trunk@15536 -
2010-07-09 06:11:02 +00:00
Jonas Maebe
229cbca086 * propagate pi_has_assembler_block and pi_uses_exceptions flags from inlined
routines to their host, as in this case the stack frame cannot be omitted
    (mantis #16874)

git-svn-id: trunk@15535 -
2010-07-08 20:34:17 +00:00
Jonas Maebe
574d7eb70d * use call/pop instead of call/mov/ret to get the GOT pointer on
Darwin/i386, because that's slightly faster on Core Solo and
    later CPUs (and it avoid using a non-volatile register when not
    required)

git-svn-id: trunk@15532 -
2010-07-07 18:55:43 +00:00
Jonas Maebe
c6d00a2b1f * correct the register size holding a smallset < 4 bytes when using "bt"
on it (mantis #16861)
  * fixed some indentation

git-svn-id: trunk@15531 -
2010-07-07 18:45:57 +00:00
Jonas Maebe
8be466546a * disabled superfluous zeroing of another field
git-svn-id: trunk@15529 -
2010-07-05 21:35:47 +00:00
marco
e5b9d690b9 * -d and -du msgfiles updated by kms, mantis 16840
git-svn-id: trunk@15527 -
2010-07-04 16:31:42 +00:00
Jonas Maebe
434a6f6ee8 * ensure that the power-of-2 size of the hash table is always larger than
the parameter initially passed to TFPHashList.SetCapacity after r15516
    (mantis #16834)

git-svn-id: trunk@15521 -
2010-07-03 18:25:31 +00:00
Jonas Maebe
fb65172a5a * commented out a number of superfluous zero-initialisations of (large)
class instance fields
  * changed a number of for-loop iteration variables from tsuperregister
    (= word) into cardinal

git-svn-id: trunk@15519 -
2010-07-03 13:09:58 +00:00
Jonas Maebe
0cef599317 * removed a number of unnecessary calls to
cg.set_regalloc_live_range_direction

git-svn-id: trunk@15518 -
2010-07-03 13:07:20 +00:00
Jonas Maebe
ad93588fa1 * use 32 bit int->string conversions for non-64 bit constants on 32 bit
platforms

git-svn-id: trunk@15517 -
2010-07-03 13:06:40 +00:00
Jonas Maebe
d432023cf6 * force the size of TFPHashList always to a power of two, and use an "and"
instead of a "div" to truncate the hash to the table size
  * prefetch the string we are looking for
  - removed the optimization whereby the length and the last character are
    checked before the entire string is compared during the hashtable
    searching, because this does not help anymore (our hash funcion is
    better than when this was added, and we also have a special "equals"
    string comparison function nowadays that also first checks the length)

git-svn-id: trunk@15516 -
2010-07-03 13:05:32 +00:00
Jonas Maebe
58362db962 * use the correct procdef when taking the address of an overloaded function
in a typed constant (mantis #16820)

git-svn-id: trunk@15508 -
2010-07-02 19:30:20 +00:00
Jonas Maebe
fff903a00b * fixed some unnecessary moving of values from cregister to register
after r7831

git-svn-id: trunk@15502 -
2010-06-30 19:53:15 +00:00
Jonas Maebe
daef2efa69 - removed tstoreddef.reset() and overrides, and the associated
reset_used_unit_defs()/reset_all_defs() calls:
    o removed resetting tprocdef.procstarttai/procendtai and
      instead check in the debug writers whether the def is
      in the current unit or not to determine whether we should
      write debug info for it
    o use the collected defs in the wpoinfo structure to reset
      the wpo flags in the defs, instead of iterating over all
      defs in the program and resetting them that way
  - removed now unused "is_reset" flag from tmodule

git-svn-id: trunk@15501 -
2010-06-30 19:00:40 +00:00
Jonas Maebe
35bacb55b5 * re-enabled CCLASSESINLINE since it no longer internalerrors the compiler
while compiling the IDE
  - removed "inline" from a lot of methods because they are too large

git-svn-id: trunk@15497 -
2010-06-30 17:41:12 +00:00
Jonas Maebe
f72526b95f * allow function results of inlined functions to be regvars
git-svn-id: trunk@15494 -
2010-06-29 20:58:08 +00:00
Jonas Maebe
60041ebf8b * allow exit(value) in exception blocks. Forbidding this dates back to
when this construct was still handled by custom code (mantis #16803)

git-svn-id: trunk@15492 -
2010-06-29 16:56:59 +00:00
Jonas Maebe
5dd72acf36 * make sure that exitnodes can be safely typecheckpassed more than once
git-svn-id: trunk@15491 -
2010-06-29 16:54:44 +00:00
Jonas Maebe
356026f849 * use new_section() instead of tai_section.create() everywhere
- sort of reverted r14134, which is no longer required after the above
    change (new_section() inserts the alignment itself)
  * made the tai_section.create() constructor private so it cannot be
    called directly anymore

git-svn-id: trunk@15482 -
2010-06-26 10:50:14 +00:00
Jonas Maebe
7321f9a87a * fixed register allocation info when initialising parameters, both in
case they are refcounted out-parameters and when using -gt (mantis #16757)

git-svn-id: trunk@15479 -
2010-06-26 09:59:04 +00:00
Jonas Maebe
224deb7fe1 * part of r15476, forgot to commit
git-svn-id: trunk@15477 -
2010-06-25 20:37:36 +00:00
Jonas Maebe
62d677eb92 + support for formally declared objcclasses ("type x=objcclass;external;")
+ tests

git-svn-id: trunk@15476 -
2010-06-25 15:08:37 +00:00
Jonas Maebe
e36857742f * allow taking the address of an indexed array function result
(mantis #16772)

git-svn-id: trunk@15475 -
2010-06-25 12:42:27 +00:00
Jonas Maebe
04a63ea278 * fixed range/overflow checking for succ/pred (mantis #16770)
git-svn-id: trunk@15474 -
2010-06-22 19:15:08 +00:00
florian
138c5d1570 + feature switch RESOURCES
* use of feature switches in objpas updated
+ build unit objpas for embedded targets

git-svn-id: trunk@15473 -
2010-06-22 12:37:41 +00:00
florian
6c08597535 * don't build a native compiler for embedded targets
git-svn-id: trunk@15472 -
2010-06-22 12:04:37 +00:00
Jonas Maebe
bcc836f1b0 * put the RTTI for optional protocol methods in the correct section for
fragile ABI platforms

git-svn-id: trunk@15465 -
2010-06-21 15:07:29 +00:00
Jonas Maebe
835899524b + support for Objective-Pascal for-in loops ("fast enumerations")
+ {$modeswitch objectivec2}, which is required before you can use
    Objective-C 2.0 features (such as the above). It automatically
    also implies {$modeswitch objectivec1}
  + genloadfield() helper to load a field of a node representing
    a record/object/class

git-svn-id: trunk@15460 -
2010-06-20 12:38:45 +00:00
Jonas Maebe
25561d0f71 - removed unnecessary string copy form tppufile.getstring
git-svn-id: trunk@15459 -
2010-06-20 12:31:27 +00:00
Jonas Maebe
d6d411442b * more small indentation fixes
git-svn-id: trunk@15455 -
2010-06-19 16:22:56 +00:00
Jonas Maebe
790c7954b7 * fixed assigning "id" to a protocol instance and using protocol instances
to call methods + test

git-svn-id: trunk@15453 -
2010-06-19 16:19:13 +00:00
Jonas Maebe
5a1e4befe4 * fixed is_related() for objcprotocol
git-svn-id: trunk@15451 -
2010-06-19 16:14:09 +00:00
Jonas Maebe
e66dbe1317 * fixed indentation of for-in code
git-svn-id: trunk@15450 -
2010-06-19 15:10:44 +00:00
Jonas Maebe
df525d98a3 * fixed indentation of for-in code
git-svn-id: trunk@15449 -
2010-06-19 15:07:19 +00:00
Jonas Maebe
9ee74432b6 * fixed internalerror on ARM with 64 bit softfloats after r15416
git-svn-id: trunk@15437 -
2010-06-14 12:25:11 +00:00
ivost
17260e1119 * reimplemented IS operator, it supports now
object is interface
	object is corbaintf
	interface is interface
	interface is class
	object is class

git-svn-id: trunk@15434 -
2010-06-13 22:04:35 +00:00
Jonas Maebe
935cd9eb8c - reverted r15430, it was wrong (variadic parameters don't require an extra
colon in the selector)

git-svn-id: trunk@15432 -
2010-06-13 19:45:45 +00:00
Jonas Maebe
8c1a63fb80 * take "varags" into account when checking for the correct number of
formal parameters of an Objective-C method

git-svn-id: trunk@15430 -
2010-06-13 19:35:41 +00:00
Jonas Maebe
4847103436 * don't try to generate mangled names for methods of categories
for which the parent class hasn't been resolved yet (causes
    a crash)

git-svn-id: trunk@15429 -
2010-06-13 15:43:40 +00:00
Jonas Maebe
ea4bb9d752 * don't treat variant records with one element as "records with one element"
(the ABIs that prescribe special treatment for aggregates with one
     scalar element don't either, since a "union containing a single scalar"
     is not the same as a scalar)
  * fixed passing record with a single float field on PowerPC/AIX abi's
  * several changes to cgobj and ncgutil to correctly deal with transfering
    such records between integer and floating point registers

git-svn-id: trunk@15416 -
2010-06-13 09:57:58 +00:00
Jonas Maebe
39adedb12a * fixed writing debug info for string constants that are exactly 255 chars
* fixed debug info for floating point constants whose size is <
    sizeof(bestreal)

git-svn-id: trunk@15411 -
2010-06-12 07:09:42 +00:00
Jonas Maebe
6e12de117b * report correct location of classes that miss method implementations for
interfaces/protocols they implement/conform to

git-svn-id: trunk@15410 -
2010-06-11 19:27:22 +00:00
Jonas Maebe
6d6892bec6 * fixed "byte/word/... ptr []" and "byte/word/..([])" typecasted expressions
in case the memory expression contains a record subscription (mantis
    #16700)

git-svn-id: trunk@15408 -
2010-06-11 14:51:58 +00:00
Jonas Maebe
7c372ede44 * fixed initialising 32 resp. 64 bit regvars with -g-t if the compiler is
an i386 resp. x86-64 binary (mantis #16668)

git-svn-id: trunk@15398 -
2010-06-09 15:58:39 +00:00
Jonas Maebe
b4687b5a13 * handle aitconst_darwin_dwarf_delta32 and aitconst_darwin_dwarf_delta64 in
tai_const.size (fixes internalerror when using the internal Mach-O
    assembler with DWARF debug info, patch by Dmitry Boyarintsev, mantis
    #16640)

git-svn-id: trunk@15391 -
2010-06-05 17:12:00 +00:00
Jonas Maebe
a4c4bc1ee5 * fixed paraloc^.size for 3-byte parameter parts
* fixed record parameter passing (all records <= 4 bytes passed
    by value, records > 4 bytes by reference)
  * fixed procedure of object parameter passing (handle like tmethod
    record) (mantis #16520)
  * fixed aligning parameters for EABI (it does not depend on the
    parameter size, but rather on its alignment, and also align in
    case a parameter that we wanted to pass via registers has to be
    passed via the stack because we ran out of registers)

git-svn-id: trunk@15390 -
2010-06-05 17:08:28 +00:00
Jonas Maebe
3c8b23cda4 * fixed cg.a_loadmm_reg_ref() and cg.a_loadfpu_reg_ref() in case they are
used to store a record function result in an MM/FPUREGISTER to memory
    (the register size will be OS_F32/OS_F64, while the memory size will
     be OS_32/OS_64 -> convert the latter to the former)
  * extended tcalext6 to also test this scenario

git-svn-id: trunk@15385 -
2010-06-04 22:31:35 +00:00
Jonas Maebe
dd759ba906 * avoid some more "movq %xmm0, %xmm0" instructions by setting the subreg
of function results to R_SUBMMWHOLE (default was R_SUBMMNONE, which didn't
    match registers allocated later)

git-svn-id: trunk@15384 -
2010-06-04 22:28:50 +00:00
Jonas Maebe
a7eb6bf64b * fixed checking validity of temporary parameter location that triggered
internalerror(200501281) on some platforms after r15365

git-svn-id: trunk@15374 -
2010-06-04 15:20:30 +00:00
Jonas Maebe
15e9c54b44 * fixed ABI compliance for parameter passing and function returning on all
x86-64 platforms (except for win64, which uses another ABI and which
    already complied to it) + test
  * fixed returning records containing 1 single or double field on darwin/i386,
    these have to be returned via ST0 instead of as a regular record
  * added support for LOC_FPUREGISTER and LOC_MMREGISTER in several places
    where they can now occur due to the previous two changes
  * made a few internalerrors unique

git-svn-id: trunk@15368 -
2010-06-03 20:08:50 +00:00
Jonas Maebe
48d7c69aab * set maxCrecordalign to 16 for all x86_64 platforms that follow the
official ABI (records containing a C long double require 16 byte
    alignment)

git-svn-id: trunk@15367 -
2010-06-03 20:02:06 +00:00
Jonas Maebe
9e785ea553 + several internalerrors in case things go wrong
+ support for OS_M64 in several places

git-svn-id: trunk@15366 -
2010-06-03 19:09:27 +00:00
Jonas Maebe
27f6376fd4 * when determining whether a temporary paraloc can be in a LOC_REGISTER,
look at paraloc^.size rather than cgpara.size, because e.g. a 32 bit
    record (-> cgpara.size=OS_32) may have to be passed via a
    LOC_MMREGISTER (-> paraloc^.size=OS_F32 or OS_M32)

git-svn-id: trunk@15365 -
2010-06-03 18:43:42 +00:00
Jonas Maebe
82b65a1f93 * made internalerror unique
git-svn-id: trunk@15364 -
2010-06-03 18:38:43 +00:00
florian
84590d67b0 * don't try to create cse on void resultdefs, resolves #16488
git-svn-id: trunk@15363 -
2010-06-03 16:10:02 +00:00
Jonas Maebe
c8d75245a9 + extra sanity checks in TCGPara.ppuwrite()
git-svn-id: trunk@15358 -
2010-05-31 20:48:35 +00:00
Jonas Maebe
cf36646238 * forgot to commit (part of r15350)
git-svn-id: trunk@15356 -
2010-05-31 17:38:54 +00:00
Jonas Maebe
6fa584fc12 * fixed endless loop in TCGPara.ppuwrite
git-svn-id: trunk@15355 -
2010-05-31 16:15:12 +00:00
Jonas Maebe
72bec41317 * increased ppu version after r15350, because the explicit paralocations
are now stored in a different way

git-svn-id: trunk@15354 -
2010-05-31 16:13:34 +00:00
Jonas Maebe
283018a3bf * changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
represent complex locations (required for full x86-64 ABI support,
    which is not yet implemented) -> lots of special result handling
    code has been removed and replaced by the parameter handling
    routines
  + added support for composite parameters (and hence function
    results) to tcg.a_load_ref_cgpara() (so it can be used for
    handling, e.g., 64 bit parameters on 32 bit platforms)
  * the above fixed writing past the end of allocated memory when
    handling records returned in registers on x86-64 whose size is
    not a multiple of 8 bytes (mantis #16357)
  - removed the x86-64 and PPC specific versions of a_load_ref_cgpara(),
    as they are now handled correctly by the generic version
  * moved the responsibility of allocating tcgpara cpu registers
    (using paramanager.allocparaloc()) from the callers of
    cg.a_load*_cgpara() to the cg.a_load*_cgpara() methods
    themselves (so the register allocation can be done efficiently
    when dealing with function results)
  * for the above, renamed paramanager.alloc/freeparaloc() to
    paramanager.alloc/freecgpara(), and use paramanager.allocparaloc()
    to allocate individual pcgparalocations instead
  * fixed the register size of SSE2 function result registers for
    x86-64 (when used for floating point), which results in removing
    a few superfluous "movs? %xmm0,%xmm0" instructions
  * fixed compilation of paramanagers of avr, m68k and mips after r13695
    and also updated them for these new changes

git-svn-id: trunk@15350 -
2010-05-30 21:12:57 +00:00
Jonas Maebe
ffc9e07275 * only don't perform the complex mul->lea optimizations for the Pentium3
git-svn-id: trunk@15344 -
2010-05-30 12:57:52 +00:00
Jonas Maebe
46ff0c4fc4 * extracted gen_load_cgpara_loc()
* unified previously introduced helpers into a single gen_load_loc_cgpara()
    with the same interface as gen_load_cgpara_loc()

git-svn-id: trunk@15327 -
2010-05-26 19:57:11 +00:00
Jonas Maebe
f5c52b25cd * removed "and not is_class()" condition from is_managed_type(), because
tobjectdef.needs_inittable returns false for classes nowadays (and already
    since quite some time)
  * nevertheless replaced all usages in the compiler of x.needs_inittable with
    is_managed_type(x) (in case some other condition is added again in the
    future) and removed all remaining accompanying "and not is_class(x)"
    checks

git-svn-id: trunk@15320 -
2010-05-22 21:28:24 +00:00
Jonas Maebe
40705a085f * renamed is_refcounted_type() into is_managed_type(), because it also
returns true for variants and those aren't refcounted
  * also allow tempnodes for pointers to managed types to be put in
    registers (not sure why it was disabled, and there are no
    testsuite regressions by enabling it)

git-svn-id: trunk@15319 -
2010-05-22 20:51:50 +00:00
Jonas Maebe
e9b62c1294 * refactored general loc->cgpara loading code in ncgcal into helpers in
ncgutil it can be used elsewhere too
  - removed the code that checks for 64 bit integer types in the float
    para loading code, since is_64bit() can never return true for a
    floatdef

git-svn-id: trunk@15318 -
2010-05-22 16:05:04 +00:00
Jonas Maebe
ef824c53f8 * more cpu-specific ifdef'd fpu/intregister code removed
git-svn-id: trunk@15317 -
2010-05-22 13:51:52 +00:00
Jonas Maebe
ceb063c7fe * moved support for passing floating point values in integer registers from
platform-dependent ifdef'ed code in ncgcal to generic code cgobj

git-svn-id: trunk@15316 -
2010-05-22 13:47:46 +00:00
Jonas Maebe
9bc15a5f61 * renamed a_param_* to a_load_*_cgpara
git-svn-id: trunk@15305 -
2010-05-22 09:07:21 +00:00
Jonas Maebe
537cb9677d * prevent duplicate range check code for some array accesses (mantis #16518)
git-svn-id: trunk@15303 -
2010-05-21 14:17:32 +00:00
Jonas Maebe
3019d3e560 * do not generate DW_AT_allocated info for dynarrays/ansi/unicodestrings
(it means that if the pointer is nil, the value is invalid; that's not the
     case here, it just means that they are empty)
  * generate upper bound of -1 (for dynarrays) or 0 (for ansi/unicodestrings)
    if they are not allocated, so gdb can calculate their length as 0
   (all based on tips by Jan Kratochvil)

git-svn-id: trunk@15288 -
2010-05-16 21:39:41 +00:00
Jonas Maebe
4945d419d3 * moved some paraloc->tlocation loading helpers from ncgutil to cgobj
* fixed an {$ifdef cpu64bitaddr} that should be {$ifdef cpu64bitalu}

git-svn-id: trunk@15276 -
2010-05-15 12:02:17 +00:00
Jonas Maebe
34cf323f7a * don't use hardcoded expectloc for certain types for callnodes (was wrong
for floatdefs handled via vectorfpu)

git-svn-id: trunk@15274 -
2010-05-13 19:12:18 +00:00
Jonas Maebe
ca660d409c - removed unnecessary dependencies on tprocdef.funcretloc being a tlocation
(has to be changed into a tcgpara to fix the x86-64 abi bugs)

git-svn-id: trunk@15272 -
2010-05-13 18:29:01 +00:00
Jonas Maebe
38e0e0ca29 * fixed comment
+ added extra sanity check when parsing a type constant set
  + added brackets around or/and expression to make it clear what the meaning
    is

git-svn-id: trunk@15269 -
2010-05-13 18:18:33 +00:00
Jonas Maebe
7d049c2c8d * fixed typo in comment
git-svn-id: trunk@15264 -
2010-05-13 10:42:10 +00:00
Jonas Maebe
cddb2ffcae * give a compile-time error when trying to define a short/ansistring typed constant
containing unicode strings instead of producing unpredictable behaviour
    (mantis #16219)

git-svn-id: trunk@15240 -
2010-05-08 10:57:39 +00:00
pierre
11d6509a56 Attempt to fix missing stabs definitions problem
git-svn-id: trunk@15238 -
2010-05-06 22:53:26 +00:00
Jonas Maebe
c60bcf8699 * fixed changing the visibility of a property with a fixed index in a child
class (mantis #15610)

git-svn-id: trunk@15223 -
2010-05-04 14:41:22 +00:00
Jonas Maebe
3f280c34cb * don't generate range checking code for pointers-indexed-as-arrays when
using non-constant indices (mantis #16377)

git-svn-id: trunk@15221 -
2010-05-04 10:39:01 +00:00
Jonas Maebe
2911435c5a * do replace one temp with another while inlining in case the former can
be a regvar while the latter cannot be (mantis #16018)

git-svn-id: trunk@15218 -
2010-05-03 16:29:03 +00:00
Jonas Maebe
a055ed873d * set correct expectloc for vectorfpu temps
git-svn-id: trunk@15217 -
2010-05-03 15:42:40 +00:00
joost
f1e4de764a * Write a warning to stderr that this utility is deprecated
git-svn-id: trunk@15213 -
2010-05-03 14:02:22 +00:00
florian
f3c572edc5 * handle multiple string labels in one case branch correctly, resolves #16130
git-svn-id: trunk@15212 -
2010-05-02 21:44:24 +00:00
florian
af3eee54cd * make nested comment warning go away
git-svn-id: trunk@15208 -
2010-05-02 19:24:15 +00:00
Jonas Maebe
0b44f8db1f * don't give an internal error when creating a dynamic array or a
record that requires init/finalisation with an objcclass
    (mantis #16366)

git-svn-id: trunk@15202 -
2010-05-02 13:42:03 +00:00
florian
d0e9a7ead9 + description of tasnode.call (by Jonas Maebe)
git-svn-id: trunk@15198 -
2010-04-28 21:35:19 +00:00
joost
3759ad8963 * Moved fpcmkcfg from compiler/utils to utils/fpcmkcfg
git-svn-id: trunk@15189 -
2010-04-27 07:59:20 +00:00
Jonas Maebe
34487fa455 * part of r15163, forgot to commit
git-svn-id: trunk@15164 -
2010-04-24 12:49:53 +00:00
Jonas Maebe
0dcedf3799 * do not crash but give a fatal error when using Objective-Pascal code
without {$modeswitch objectivec1}

git-svn-id: trunk@15163 -
2010-04-24 12:49:16 +00:00
Jonas Maebe
2eddd5e704 * don't try to bitpack types > 32 bit on 32 bit cpus (mantis #16328)
git-svn-id: trunk@15162 -
2010-04-24 12:46:02 +00:00
florian
e235d71cb7 * update of Portuguese message files by Marcelo B Paula, resolves #16314
git-svn-id: trunk@15160 -
2010-04-22 09:25:49 +00:00
florian
62c630abce * handle usage of generics type as class type correctly, resolves #16065
git-svn-id: trunk@15157 -
2010-04-21 20:19:18 +00:00
Jonas Maebe
f2e1819bae * put the call to afterconstructor inside the implicit try/catch block
block of the constructor, so that exceptions thrown there also
    properly abort construction (mantis #16311)

git-svn-id: trunk@15156 -
2010-04-21 20:06:54 +00:00
Jonas Maebe
72758864e4 * only allow field names in record/object typed constant declarations (mantis #16234)
* improved error recovery after encountering invalid field name in record/object typed constant
    declaration

git-svn-id: trunk@15150 -
2010-04-18 07:55:42 +00:00
paul
d6c514b6db compiler: apply patch of Sven Barth to add nativent-i386 and linux-mips to the ppudump (issue #0016266)
git-svn-id: trunk@15146 -
2010-04-15 13:06:53 +00:00
paul
ceccce93f5 compiler: add class constructors, class destructors to the initfinal table as regular initialization/finalization sections (class constructors is still not striped away with the class)
git-svn-id: trunk@15143 -
2010-04-15 07:37:41 +00:00
paul
c62c487b24 compiler: fix nested type typecast (issue #0016222)
git-svn-id: trunk@15122 -
2010-04-09 17:10:52 +00:00
paul
e721a623eb compiler: report full nested type name on error
git-svn-id: trunk@15121 -
2010-04-09 15:47:49 +00:00
Jonas Maebe
3035632ec1 * x86_64 -> x86\_64 in LaTeX description (mantis #16221)
git-svn-id: trunk@15115 -
2010-04-07 09:04:56 +00:00
Jonas Maebe
9bfb20c7eb * fixed execinfo message numbers (patch by A. Klein, mantis #16189)
git-svn-id: trunk@15113 -
2010-04-05 12:22:43 +00:00
paul
24d8a7d833 compiler: start implementation of class constructors/destructors: parsing is ready but at the moment neither class constructors nor destructors are called - this is to be implemented
git-svn-id: trunk@15109 -
2010-04-03 09:14:12 +00:00