florian
706f8085f4
* convert int64 properly to c-bools, resolves #12614
...
git-svn-id: trunk@12120 -
2008-11-16 13:27:59 +00:00
florian
17a08efb82
* handle methodpointer function results like records of the same size, resolves #12318
...
git-svn-id: trunk@12118 -
2008-11-15 23:05:36 +00:00
michael
11a41788fb
* Fixed lost default value in case of a property override
...
git-svn-id: trunk@12114 -
2008-11-15 22:13:59 +00:00
Jonas Maebe
a00df1033f
* changed "Mixing signed expressions and longwords gives a 64bit result"
...
from warning into a hint (it's not a potential error, but potential
optimisation advice)
git-svn-id: trunk@12075 -
2008-11-13 19:49:46 +00:00
Jonas Maebe
c1c1b2deac
* more aint() type casts replaced by int64() type casts
...
git-svn-id: trunk@12073 -
2008-11-13 19:44:30 +00:00
peter
0f6f1a9c97
* remove obsolete unchain_overloads
...
git-svn-id: trunk@12065 -
2008-11-12 22:42:19 +00:00
peter
9086a2549d
* refactor overload collection in tcallcandidates. separate
...
the collecting of overloads. The actual building of
candidate list is now common
git-svn-id: trunk@12064 -
2008-11-12 22:38:38 +00:00
florian
c71bc4084d
* fixed wrongly fix of r11444 in r12049
...
git-svn-id: trunk@12062 -
2008-11-12 20:55:06 +00:00
florian
5e448b47a5
* compilation fixed
...
git-svn-id: trunk@12061 -
2008-11-12 20:42:21 +00:00
peter
8419161964
* current_objectdef is now always valid when parsing is within the
...
context of a class. This can be either the class declaration or
a method implementation
* replaced all current_procinfo.procdef._class with current_objectdef
git-svn-id: trunk@12059 -
2008-11-12 18:54:39 +00:00
yury
b580cbc778
* Removed unused local var.
...
git-svn-id: trunk@12057 -
2008-11-12 18:02:02 +00:00
florian
74efea399e
* fix getlabelwithsym for 64 bit hosts and 32 bit targets
...
git-svn-id: trunk@12049 -
2008-11-11 19:10:11 +00:00
peter
a3a66ba74d
* split tvisibility from tsymoptions
...
* replace current_object_option with symtable.currentvisibility
git-svn-id: trunk@12048 -
2008-11-11 09:05:39 +00:00
peter
e5e3462161
* object_dec can now return tobjectdef instead of tdef
...
git-svn-id: trunk@12047 -
2008-11-10 21:04:08 +00:00
peter
af437d5beb
* refactor the forward type declaration handling, remove
...
global typecanbeforward and move 'class of ..' parsing
to ptype
git-svn-id: trunk@12045 -
2008-11-09 22:07:36 +00:00
florian
53ffda14f3
* fixes taking the address of an assembler block defined label
...
* create short jumps also for asm blocks, thanks to Sergej Gorelkin for the patch, resolves #11638
git-svn-id: trunk@12043 -
2008-11-09 21:14:45 +00:00
florian
49195b0ac0
* fixes assembling of mov ax,<mem16>
...
* fixes assembling of test <mem8>,reg8; resolves #11786
git-svn-id: trunk@12040 -
2008-11-09 10:24:59 +00:00
Jonas Maebe
c6c9ec83e0
* only make the target of a type conversion not regable after checking
...
whether it's assignable if 1) the size/sign changes (was already the
case) and 2) in case something actually can be assigned to it
git-svn-id: trunk@12039 -
2008-11-09 10:24:23 +00:00
Jonas Maebe
1e178d324f
* explicitly check whether the methodpointer isn't the same as the result
...
before optimising function result assignment, because at this point the
hidden self parameter is not yet inserted (mantis #12597 )
* changed ttypeconvnode.actualtargetnode to use the same logic as what
is used to determine whether something can be assigned to the result
of a type conversion (so the above check also works if the methodpointer
contains a typecast to a different object type)
git-svn-id: trunk@12038 -
2008-11-09 10:19:29 +00:00
Jonas Maebe
718694d1d6
* always specify an explicit alignment for tgobj.gettemp (so e.g.
...
shortstring temps don't get maximum alignment)
* changed some gettemptyed() calls into gettemp() calls (gettemptyped
means that this temp can only be used for temps of that type,
which is necessary for refcounted types but not for floats)
git-svn-id: trunk@12036 -
2008-11-08 22:20:47 +00:00
peter
b6dcffe79b
* remove obsolete bt_specialize
...
git-svn-id: trunk@12031 -
2008-11-07 00:14:08 +00:00
peter
da13c20f59
* refactor, no functional changes
...
git-svn-id: trunk@12030 -
2008-11-06 23:25:50 +00:00
peter
ca48c2f34c
* tobjectdef.set_parent also inherits oo_can_have_published
...
git-svn-id: trunk@12029 -
2008-11-06 23:25:00 +00:00
Jonas Maebe
53e52ac6a9
* implementation of 32x32->64 multiplication for i386 based on patch
...
by Sergei Gorelkin
git-svn-id: trunk@12028 -
2008-11-06 21:03:10 +00:00
peter
84112032c3
* rename aktobjectdef to current_objectdef
...
git-svn-id: trunk@12027 -
2008-11-06 19:46:31 +00:00
Jonas Maebe
e5920bc2b8
* delay verbosity changes just like localswitches changes
...
* store a node's verbosity in the node so that e.g. disabling warnings
also disables warnings for this node in pass_1
(the above together fix mantis #12076 )
* save/restore verbosity with {$push}/{$pop} (mantis #12075 )
* if warnings/notes/hints are turned off, also do not count encountered
ones for the totals (otherwise -Sew cannot be used properly in
combination with {$warnings off}, because disabled warnings will still
trigger a compiler error) -- this required adding -vw/-vn/-vh to all
tests using -Sew/-Sen/-Seh
- removed some superfluous state saving/restoring from firstpass()
git-svn-id: trunk@12025 -
2008-11-03 21:18:27 +00:00
Jonas Maebe
7626a91592
* disabled last safecall code for non-windows (mantis #12237 )
...
git-svn-id: trunk@12021 -
2008-11-02 15:13:20 +00:00
Jonas Maebe
7f8e9b8d35
* fixed node complexity calculation for certain inlinenodes
...
(mantis 12404)
git-svn-id: trunk@12020 -
2008-11-02 14:50:17 +00:00
florian
937067e367
+ check if forward definitions and real definitions have the same type, resolves #11970
...
git-svn-id: trunk@12017 -
2008-11-02 12:36:31 +00:00
florian
a47a107cb2
* newline changes
...
git-svn-id: trunk@12016 -
2008-11-02 09:42:49 +00:00
Jonas Maebe
a23630260b
+ "weakexternal" support for imported procedures and variables.
...
the syntax is exactly the same as for "external", except for
the keyword. It is currently only active for Darwin targets.
It should also work at least for Linux targets, but only with
the GNU assembler (which is why it is not activated there)
+ test for this functionality
git-svn-id: trunk@12009 -
2008-11-01 18:38:32 +00:00
Jonas Maebe
eb130d7501
* fixed invalid type cast in case of errors in a library's export section
...
git-svn-id: trunk@12008 -
2008-11-01 17:08:26 +00:00
peter
466f0c0064
* fixed crash in error message when specialization is not resolved
...
git-svn-id: trunk@11991 -
2008-10-28 16:31:55 +00:00
marco
e5db5e4aa8
* regened makefiles to propagate makefile versions
...
git-svn-id: trunk@11947 -
2008-10-22 17:32:15 +00:00
marco
3591d54f24
* updated all makefile.fpc versions to 2.2.2 for fppkg compat.
...
git-svn-id: trunk@11945 -
2008-10-22 17:19:13 +00:00
Jonas Maebe
19f8aede99
+ some missing docompare() overrides
...
git-svn-id: trunk@11937 -
2008-10-19 16:50:43 +00:00
florian
3f03b4fb80
+ propagate FPC_ARMEL if FPC_OARM isn't defined
...
git-svn-id: trunk@11917 -
2008-10-18 14:08:18 +00:00
florian
24fe46b3a3
+ missing includes of fpcdefs.inc added
...
git-svn-id: trunk@11916 -
2008-10-18 14:07:42 +00:00
florian
04fe88f134
* handle 64 bit parameters correctly for arm eabi
...
git-svn-id: trunk@11913 -
2008-10-18 13:48:57 +00:00
marco
cbbf7f4cfe
* fixed a bunch of structural errors and missing escapes to get the docs building again.
...
git-svn-id: trunk@11910 -
2008-10-18 12:16:00 +00:00
florian
cb9e52826f
* fix range check error in options handling, resolves #12365
...
+ better error output (print filename and line number) for config file directive errors
git-svn-id: trunk@11898 -
2008-10-14 17:06:55 +00:00
Jonas Maebe
64ddae4eff
+ -vq parameter to show message numbers
...
+ -vm<x>,<y> parameter to mask messages <x> and <y>
(both based on a patch submitted by Petr Kristan)
* alphabetically ordered -v<x> option processing code so it's easier
to see which characters are still free (not many anymore)
+ some tests for the -vm functionality
git-svn-id: trunk@11888 -
2008-10-12 12:19:41 +00:00
Jonas Maebe
c0ccf21c28
* fixed range check error when writing const pointers > high(longint)
...
git-svn-id: trunk@11879 -
2008-10-11 13:39:27 +00:00
Jonas Maebe
79850c5027
* don't crash when someone uses an integer value to declare a wide/unicode
...
string (mantis #12329 )
git-svn-id: trunk@11875 -
2008-10-10 15:01:56 +00:00
Jonas Maebe
8adde04a0b
* don't warn that a unit won't be smartlinked in case no .a file is
...
available when smart linking happens using the plain object files
(mantis #12316 )
git-svn-id: trunk@11874 -
2008-10-10 14:11:00 +00:00
Károly Balogh
d41cb0c251
* another attempt to properly fix the fix for 8391
...
git-svn-id: trunk@11873 -
2008-10-10 07:10:21 +00:00
Károly Balogh
049280bc21
* fix bug #8391 only for arm-wince, because otherwise it breaks other platforms (incl. i386-win32)
...
git-svn-id: trunk@11871 -
2008-10-09 18:37:56 +00:00
michael
b40d826439
* Fixed bug #12323 . Bug is in getting default value of string parameters, unterminated memory copy
...
git-svn-id: trunk@11870 -
2008-10-09 09:55:21 +00:00
Károly Balogh
7ce0dd43ab
+ re-enable smartlinking for MorphOS
...
git-svn-id: trunk@11868 -
2008-10-07 20:04:37 +00:00
Jonas Maebe
4d58c33fb0
* fixed int64 to boolean conversion for loc_(c)reference based on ppc code
...
git-svn-id: trunk@11866 -
2008-10-07 15:36:05 +00:00