Commit Graph

744 Commits

Author SHA1 Message Date
florian
d4613fe961 * update init_settings.setalloc in SetCompileMode if changeinit is set
git-svn-id: trunk@23898 -
2013-03-17 16:42:34 +00:00
sergei
30247d8961 * MIPS: fixed parameter handling for big-endian targets, and removed a lot of garbage.
* Parameters passed in registers are no longer forced to stack, therefore assembler routines using 'lw' instruction to load such parameters must have it changed to 'move' (tb0072.pp).

git-svn-id: trunk@23627 -
2013-02-18 04:20:10 +00:00
yury
e88bc322bc + Merge the targetandroid branch. Support for arm and i386 android targets.
***************************************************************************

Revision: 23518
Author: yury
Date: 25 Jan 2013 0:14:31
Message:
* Build databases support for Android.
----
Modified : /branches/targetandroid/packages/dblib/fpmake.pp
Modified : /branches/targetandroid/packages/fcl-db/fpmake.pp

Revision: 23516
Author: yury
Date: 24 Jan 2013 23:08:12
Message:
* again made less complex for arm and sparc so it compiles there too without running out of registers.
----
Modified : /branches/targetandroid/tests/webtbs/tw2242.pp

Revision: 23515
Author: yury
Date: 24 Jan 2013 23:01:36
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw4038.pp

Revision: 23514
Author: yury
Date: 24 Jan 2013 22:32:39
Message:
* Disabled the test for Android.

----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp

Revision: 23512
Author: yury
Date: 24 Jan 2013 12:30:07
Message:
* Allow passing of double quoted paths in TEST_OPT.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc

Revision: 23511
Author: yury
Date: 24 Jan 2013 12:29:01
Message:
* Fixed building of packages when cross-testing. Pass CROSSOPT to build packages in such case, otherwise options specified in TEST_OPT are used to build fpmake. The source compiler not always accepts target options. For example -Cfsoft option, often used for arm compiler, is not accepted by x86 compiler.
----
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/tstunits/Makefile.fpc

Revision: 23497
Author: yury
Date: 22 Jan 2013 19:10:54
Message:
* Reverted r23400 and r23401. Tomas has promised to commit more correct fix to trunk.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp

Revision: 23496
Author: yury
Date: 22 Jan 2013 19:05:51
Message:
* Disabled the test for Android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp

Revision: 23495
Author: yury
Date: 22 Jan 2013 18:58:30
Message:
* Add %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/tbs/tb0582.pp
Modified : /branches/targetandroid/tests/test/tweaklib2.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw13628b.pp
Modified : /branches/targetandroid/tests/webtbs/tw14798.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw2812.pp
Modified : /branches/targetandroid/tests/webtbs/tw3082.pp
Modified : /branches/targetandroid/tests/webtbs/tw3402.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822b.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp

Revision: 23492
Author: yury
Date: 22 Jan 2013 16:43:42
Message:
* Turn off special handling of interrupt calling convention for i386-android.
----
Modified : /branches/targetandroid/compiler/i386/n386cal.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas

Revision: 23491
Author: yury
Date: 22 Jan 2013 16:34:32
Message:
* Added %delfiles for proper clean-up.
----
Modified : /branches/targetandroid/tests/test/targ1b.pp
Modified : /branches/targetandroid/tests/test/tlib1b.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tlibrary2.pp
Modified : /branches/targetandroid/tests/test/tlibrary3.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp

Revision: 23490
Author: yury
Date: 22 Jan 2013 16:28:00
Message:
* These libs are for tests, that run only on windows. Mark libs for windows only as well.

----
Modified : /branches/targetandroid/tests/test/library/tlib3a.pp
Modified : /branches/targetandroid/tests/test/library/tlib3b.pp

Revision: 23489
Author: yury
Date: 22 Jan 2013 16:18:56
Message:
* Do not copy a library to a remote target if this library name is specified using %DELFILES directive.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp

Revision: 23488
Author: yury
Date: 22 Jan 2013 15:47:52
Message:
* Implemented { %DELFILES file1 file2 ... } directive for tests. Primarily it is needed to delete shared libraries used by tests when TEST_DELTEMP=1. When testing on a real Android device, it is not good to run tests on flash memory partitions. Android devices have 1Mb RAM based tempfs partition for /tmp folder, which is ideal for running tests. Since 1Mb is very small size these days, it is needed to clean all test leftovers. Test shared libraries are the biggest leftovers and this new DELFILES directive will help to delete them.
* During remote execution, use && as a command separator after important commands such as CD to ensure that the command succeeded before running other commands. Group other commands using curly braces { }.
----
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/utils/dotest.pp
Modified : /branches/targetandroid/tests/utils/testu.pp

Revision: 23487
Author: yury
Date: 22 Jan 2013 13:16:22
Message:
* Define CExtended and clongdouble as double for Android.
----
Modified : /branches/targetandroid/compiler/psystem.pas
Modified : /branches/targetandroid/rtl/inc/ctypes.pp

Revision: 23486
Author: yury
Date: 22 Jan 2013 13:14:36
Message:
* Fixed compilation for case when extended <> cextended.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext6.pp

Revision: 23485
Author: yury
Date: 22 Jan 2013 12:41:43
Message:
* More correct comparison of long double values for case when long double=double in C.
----
Modified : /branches/targetandroid/tests/test/cg/tcalext.pp

Revision: 23484
Author: yury
Date: 22 Jan 2013 11:53:41
Message:
* Do not pass -f switch for rm when testing via adb, since default android shell do not support -f switch.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp

Revision: 23483
Author: yury
Date: 22 Jan 2013 11:47:31
Message:
* Added ICU version of Android 4.1.
* Increment by 2 when finding an unknown ICU version.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp

Revision: 23479
Author: yury
Date: 21 Jan 2013 14:29:40
Message:
* Add define for android.
----
Modified : /branches/targetandroid/tests/test/cg/tcalcst6.pp
Modified : /branches/targetandroid/tests/test/cg/tcalvar6.pp

Revision: 23478
Author: yury
Date: 21 Jan 2013 14:22:06
Message:
+ Added C object files for android-i386.
----
Added : /branches/targetandroid/tests/test/cg/obj/android/i386
Modified : /branches/targetandroid/tests/test/cg/obj/readme.txt

Revision: 23477
Author: yury
Date: 21 Jan 2013 14:08:25
Message:
* Add missing checks for android target.
----
Modified : /branches/targetandroid/compiler/aasmdata.pas
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/expunix.pas
Modified : /branches/targetandroid/compiler/ncgld.pas
Modified : /branches/targetandroid/compiler/ogelf.pas
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas
Modified : /branches/targetandroid/compiler/x86/cgx86.pas
Modified : /branches/targetandroid/compiler/x86/rax86.pas

Revision: 23475
Author: yury
Date: 21 Jan 2013 13:51:09
Message:
* Set android-i368 stack alignment to 16.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas

Revision: 23474
Author: yury
Date: 21 Jan 2013 13:45:29
Message:
* Removed -z relro linker option, since it causes problems.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas

Revision: 23451
Author: yury
Date: 19 Jan 2013 1:32:26
Message:
* Pass some security switches to LD. They are passed by GCC.
* Removed unused function.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas

Revision: 23450
Author: yury
Date: 19 Jan 2013 1:27:45
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as

Revision: 23449
Author: yury
Date: 19 Jan 2013 1:27:02
Message:
* Simplify arm startup code.
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as

Revision: 23448
Author: yury
Date: 19 Jan 2013 1:25:58
Message:
* Fixed file description.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as

Revision: 23447
Author: yury
Date: 19 Jan 2013 1:19:29
Message:
* Rewrite initialization code for i386-android. i386-android works.
----
Modified : /branches/targetandroid/rtl/android/i386/dllprt0.as
Modified : /branches/targetandroid/rtl/android/i386/prt0.as

Revision: 23441
Author: yury
Date: 18 Jan 2013 16:51:09
Message:
* Add android to supported targets for assemblers. It fixes assembling for i386-android.
----
Modified : /branches/targetandroid/compiler/arm/agarmgas.pas
Modified : /branches/targetandroid/compiler/i386/cpuelf.pas
Modified : /branches/targetandroid/compiler/x86/agx86att.pas

Revision: 23435
Author: yury
Date: 18 Jan 2013 0:46:23
Message:
* Enable safecall exception handling for arm-android.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas

Revision: 23434
Author: yury
Date: 18 Jan 2013 0:28:59
Message:
* Removed leftover from my experiments (calling directly pascal main).
----
Modified : /branches/targetandroid/rtl/android/arm/prt0.as

Revision: 23433
Author: yury
Date: 17 Jan 2013 23:43:09
Message:
* Uses SysUtils to make executable bigger. Otherwise string pointers for FindResource can be less than $10000. They are treated as IDs in such case and the test will fail.
----
Modified : /branches/targetandroid/tests/test/units/system/tres.pp

Revision: 23429
Author: yury
Date: 17 Jan 2013 18:49:23
Message:
* Thread safety.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp

Revision: 23427
Author: yury
Date: 17 Jan 2013 14:48:03
Message:
* Skip this test for android.
----
Modified : /branches/targetandroid/tests/test/textthr.pp

Revision: 23426
Author: yury
Date: 17 Jan 2013 14:21:51
Message:
* Fixed ifdefs linux to unix.
----
Modified : /branches/targetandroid/tests/test/tstring10.pp
Modified : /branches/targetandroid/tests/test/units/classes/tsetstream.pp
Modified : /branches/targetandroid/tests/test/units/dos/tdos.pp
Modified : /branches/targetandroid/tests/test/units/dos/tidos.pp

Revision: 23425
Author: yury
Date: 17 Jan 2013 14:20:56
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/test/packages/webtbs/tw14265.pp
Modified : /branches/targetandroid/tests/test/testfpuc.pp
Modified : /branches/targetandroid/tests/test/textthr.pp
Modified : /branches/targetandroid/tests/test/tlib2a.pp
Modified : /branches/targetandroid/tests/test/tlib2b.pp
Modified : /branches/targetandroid/tests/test/tpoll.pp
Modified : /branches/targetandroid/tests/test/tsafecall1.pp
Modified : /branches/targetandroid/tests/test/tsafecall2.pp
Modified : /branches/targetandroid/tests/test/tsafecall3.pp
Modified : /branches/targetandroid/tests/test/tsafecall4.pp
Modified : /branches/targetandroid/tests/test/units/system/tres.pp
Modified : /branches/targetandroid/tests/test/units/system/tres2.pp
Modified : /branches/targetandroid/tests/test/units/system/tres3.pp

Revision: 23424
Author: yury
Date: 17 Jan 2013 14:02:35
Message:
* Fixed AnsiStrLComp() and AnsiStrLIComp().
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp

Revision: 23423
Author: yury
Date: 17 Jan 2013 13:49:55
Message:
* Fixed stupid copy-paste error.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp

Revision: 23409
Author: yury
Date: 16 Jan 2013 16:46:02
Message:
* Fixed conflict of native android and java android targets.
----
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini

Revision: 23406
Author: yury
Date: 16 Jan 2013 15:33:50
Message:
* Set stackalign field.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas

Revision: 23404
Author: yury
Date: 16 Jan 2013 12:57:51
Message:
* Enable more tests for android.
----
Modified : /branches/targetandroid/tests/webtbs/tw0876.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704a.pp
Modified : /branches/targetandroid/tests/webtbs/tw12704b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16263b.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949a.pp
Modified : /branches/targetandroid/tests/webtbs/tw16949b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586a.pp
Modified : /branches/targetandroid/tests/webtbs/tw6586b.pp
Modified : /branches/targetandroid/tests/webtbs/tw6822c.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838a.pp
Modified : /branches/targetandroid/tests/webtbs/tw7838b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730a.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730b.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730c.pp
Modified : /branches/targetandroid/tests/webtbs/tw8730d.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089a.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089b.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089c.pp
Modified : /branches/targetandroid/tests/webtbs/tw9089d.pp
Modified : /branches/targetandroid/tests/webtbs/uw2364.pp

Revision: 23402
Author: yury
Date: 16 Jan 2013 12:50:52
Message:
* Use collation when comparing strings.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp

Revision: 23401
Author: yury
Date: 16 Jan 2013 12:41:32
Message:
* If there is no HOME directory, the current dir must be used.
----
Modified : /branches/targetandroid/tests/test/units/dos/tfexpand.pp

Revision: 23400
Author: yury
Date: 16 Jan 2013 12:40:25
Message:
* Fixed expanding ~ if there is no HOME env var set.
----
Modified : /branches/targetandroid/rtl/inc/fexpand.inc

Revision: 23391
Author: yury
Date: 15 Jan 2013 14:12:56
Message:
* Make sure that the thread has been started, before destroying the event.
----
Modified : /branches/targetandroid/tests/test/tbrtlevt.pp

Revision: 23390
Author: yury
Date: 15 Jan 2013 13:55:24
Message:
* Do not use DOS code pages for Android. Now all CP string tests pass on Android.
----
Modified : /branches/targetandroid/tests/test/tcpstr17.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcat3.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti.pp
Modified : /branches/targetandroid/tests/test/tcpstrconcatmulti2.pp

Revision: 23389
Author: yury
Date: 15 Jan 2013 13:53:50
Message:
* Use more common code pages 1251 and 1252 instead of old DOS code pages (not available on Android). There is Euro symbol character that has different code in 1251 and 1252 code pages. Use it for tests.
----
Modified : /branches/targetandroid/tests/test/tcpstr1.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompare.pp
Modified : /branches/targetandroid/tests/test/tcpstransistrcompareequal.pp

Revision: 23386
Author: yury
Date: 15 Jan 2013 10:22:30
Message:
* Skip 2 tests for android, since they require local execution.
----
Modified : /branches/targetandroid/tests/test/tcpstr19.pp
Modified : /branches/targetandroid/tests/test/tcpstr9.pp

Revision: 23385
Author: yury
Date: 15 Jan 2013 10:20:43
Message:
* Fixed running library tests on android.
----
Modified : /branches/targetandroid/tests/utils/dotest.pp

Revision: 23382
Author: yury
Date: 14 Jan 2013 16:20:44
Message:
* Implemented Unicode string manager for Android. It uses ICU library libicuuc.so. Note: ICU on Android has limited number of code pages. So don't expect support for DOS code pages or other exotic code pages.
----
Modified : /branches/targetandroid/rtl/android/cwstring.pp

Revision: 23301
Author: yury
Date: 2 Jan 2013 20:47:09
Message:
* I've found that libc on Android does not implement widechar case functions such as towupper(). Such functions are just wrappers over regular char functions. Therefore the whole cwstring unit is useless for Android. For now I've added stub cwstring unit for Android and reverted all Android specific changes in unix/cwstring.pp. Later, Unicode manager for Androud should be implemented using libicuuc, which is default Android lib.
----
Added : /branches/targetandroid/rtl/android/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp

Revision: 23299
Author: yury
Date: 2 Jan 2013 19:38:08
Message:
* Android does not have libiconv, so don't use it in cwstring unit. For now support only UTF-8 code page in ansistrings. Later it is possible to use libicuuc for code page conversions on Android.
----
Modified : /branches/targetandroid/rtl/unix/cwstring.pp

Revision: 23298
Author: yury
Date: 2 Jan 2013 17:41:36
Message:
* Added uuchar unit to build for android.
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc

Revision: 23289
Author: yury
Date: 2 Jan 2013 2:53:36
Message:
* Always specify dynamic linker name for executables.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas

Revision: 23288
Author: yury
Date: 2 Jan 2013 2:04:41
Message:
* Updated Makefile
----
Modified : /branches/targetandroid/rtl/android/Makefile

Revision: 23287
Author: yury
Date: 2 Jan 2013 2:03:42
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc

Revision: 23286
Author: yury
Date: 2 Jan 2013 2:01:43
Message:
* cprt0.as is not needed, since we link to libc always.
----
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Deleted : /branches/targetandroid/rtl/android/arm/cprt0.as
Deleted : /branches/targetandroid/rtl/android/i386/cprt0.as

Revision: 23285
Author: yury
Date: 2 Jan 2013 1:59:48
Message:
* libctype is not needed, since only bionic is supported anyway.
----
Modified : /branches/targetandroid/compiler/systems/t_android.pas

Revision: 23284
Author: yury
Date: 2 Jan 2013 1:49:12
Message:
* Rework of Android startup code. It is needed to always link to libc on android to implement finalization and environment variables in shared libraries.
* Cleanup of Android linker.
* Use only INSERT command in the linker script to inject custom .fpc sections. Whole linker script duplication is nor needed anymore.
* Use BFD linker, since GOLD linker does not support INSERT command. Other incompatibilities may also exist.
* Enable tf_smartlink_sections for i386-android.
* i386-android is broken after this commit. Will be fixed later.
----
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/rtl/android/arm/dllprt0.as
Modified : /branches/targetandroid/rtl/android/arm/prt0.as

Revision: 23283
Author: yury
Date: 2 Jan 2013 1:48:07
Message:
* Enable weak externals for android.
----
Modified : /branches/targetandroid/compiler/systems.pas

Revision: 23236
Author: yury
Date: 28 Dec 2012 12:42:27
Message:
* Oops, wrong commit r23235. Reverted. Now correct: Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/rtl/inc/exeinfo.pp
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp

Revision: 23235
Author: yury
Date: 28 Dec 2012 11:38:04
Message:
* Fixed lineinfo for Android.
----
Modified : /branches/targetandroid/tests/test/units/sysutils/texec2.pp

Revision: 23232
Author: yury
Date: 27 Dec 2012 22:52:26
Message:
* Fixed the test for android.
----
Modified : /branches/targetandroid/tests/test/units/dos/tdos2.pp

Revision: 23231
Author: yury
Date: 27 Dec 2012 22:51:32
Message:
+ Added C object files for arm-android.
----
Added : /branches/targetandroid/tests/test/cg/obj/android
Added : /branches/targetandroid/tests/test/cg/obj/android/arm
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm/tcext6.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl1.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/cpptcl2.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/ctest.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext3.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext4.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext5.o
Added : /branches/targetandroid/tests/test/cg/obj/android/arm-eabi/tcext6.o

Revision: 23226
Author: yury
Date: 27 Dec 2012 10:17:06
Message:
* Support for running tests on a remote Android device using ADB.
----
Modified : /branches/targetandroid/tests/Makefile
Modified : /branches/targetandroid/tests/Makefile.fpc
Modified : /branches/targetandroid/tests/readme.txt
Modified : /branches/targetandroid/tests/tstunits/Makefile
Modified : /branches/targetandroid/tests/utils/dotest.pp

Revision: 22048
Author: tom_at_work
Date: 9 Aug 2012 17:13:51
Message:
re-apply the changes of r22045 to correct files after recent revert
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/i386
Added : /branches/targetandroid/rtl/android/i386/cprt0.as
Added : /branches/targetandroid/rtl/android/i386/dllprt0.as
Added : /branches/targetandroid/rtl/android/i386/prt0.as

Revision: 22047
Author: tom_at_work
Date: 9 Aug 2012 16:57:34
Message:
- revert r22045: applied changes to wrong files, i.e. linux system files, instead of android ones
----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Added : /branches/targetandroid/rtl/linux/i386/cprt21.as
Added : /branches/targetandroid/rtl/linux/i386/gprt21.as

Revision: 22045
Author: tom_at_work
Date: 9 Aug 2012 11:05:38
Message:
Made cprt0 startup files to compile. Static executables using them likely do not work though.
Removed obsolete startup files (?prt21*).

----
Modified : /branches/targetandroid/rtl/android/arm/cprt0.as
Modified : /branches/targetandroid/rtl/linux/i386/cprt0.as
Deleted : /branches/targetandroid/rtl/linux/i386/cprt21.as
Deleted : /branches/targetandroid/rtl/linux/i386/gprt21.as

Revision: 22044
Author: tom_at_work
Date: 9 Aug 2012 11:00:16
Message:
Updated systems/t_android to only recognize the "bionic" libc as valid libc.
Fix uninitialized defdynlinker variable when compiling i386-android causing garbage in the linker script.

----
Modified : /branches/targetandroid/compiler/systems/t_android.pas

Revision: 21296
Author: tom_at_work
Date: 15 May 2012 0:14:12
Message:
* basic android/x86 support
----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/i386/cputarg.pas
Modified : /branches/targetandroid/compiler/systems/i_android.pas
Modified : /branches/targetandroid/compiler/systems/t_android.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/x86.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile

Revision: 21066
Author: tom_at_work
Date: 26 Apr 2012 22:05:06
Message:
fix pthreads use with Android: it does not provide some functions. This patch is partially based on the bug report 0021525. Further, fix use of sem_timedwait in cthreads.pp since Android supports it.
----
Modified : /branches/targetandroid/rtl/linux/pthread.inc
Modified : /branches/targetandroid/rtl/unix/cthreads.pp

Revision: 21065
Author: tom_at_work
Date: 26 Apr 2012 16:15:52
Message:
bugfixes:
- do not compile ipc unit for android, not supported
- fix geterrnolocation external name
- implement dummy getdomainname; does not exist in android
- remove wrong 'if defined(android)' clauses
----
Modified : /branches/targetandroid/rtl/android/Makefile
Modified : /branches/targetandroid/rtl/android/Makefile.fpc
Modified : /branches/targetandroid/rtl/fpmake.pp
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp

Revision: 21063
Author: tom_at_work
Date: 26 Apr 2012 12:53:37
Message:
- missing makefile
----
Added : /branches/targetandroid/rtl/android/Makefile

Revision: 21062
Author: tom_at_work
Date: 26 Apr 2012 12:41:13
Message:
- commit missing new files
----
Added : /branches/targetandroid/compiler/systems/i_android.pas
Added : /branches/targetandroid/compiler/systems/t_android.pas
Added : /branches/targetandroid/rtl/android
Added : /branches/targetandroid/rtl/android/Makefile.fpc
Added : /branches/targetandroid/rtl/android/arm
Added : /branches/targetandroid/rtl/android/arm/cprt0.as
Added : /branches/targetandroid/rtl/android/arm/dllprt0.as
Added : /branches/targetandroid/rtl/android/arm/prt0.as

Revision: 21061
Author: tom_at_work
Date: 26 Apr 2012 12:36:42
Message:
- initial support for the android/arm target in the compiler; resulting .so's can be used for Android/ARM app development.
- basic rtl support using system calls
- fp(c)make/fppkg/makefile support

todo:
- revisit systems/t_android.pas: mostly duplicate with t_linux.pas, containing
lots of unnecessary code
- revisit rtl changes
- android ndk header translation import
- better app build/packaging support
- android/x86 support

----
Modified : /branches/targetandroid/Makefile
Modified : /branches/targetandroid/compiler/Makefile
Modified : /branches/targetandroid/compiler/aggas.pas
Modified : /branches/targetandroid/compiler/arm/cputarg.pas
Modified : /branches/targetandroid/compiler/compiler.pas
Modified : /branches/targetandroid/compiler/systems.inc
Modified : /branches/targetandroid/compiler/systems.pas
Modified : /branches/targetandroid/compiler/utils/Makefile
Modified : /branches/targetandroid/compiler/utils/ppudump.pp
Modified : /branches/targetandroid/ide/Makefile
Modified : /branches/targetandroid/ide/compiler/Makefile
Modified : /branches/targetandroid/installer/Makefile
Modified : /branches/targetandroid/packages/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile
Modified : /branches/targetandroid/packages/fpmkunit/Makefile.fpc
Modified : /branches/targetandroid/packages/fpmkunit/src/fpmkunit.pp
Modified : /branches/targetandroid/packages/fppkg/src/fpmkunitsrc.inc
Modified : /branches/targetandroid/packages/gnome1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk1/fpmake.pp
Modified : /branches/targetandroid/packages/gtk2/fpmake.pp
Modified : /branches/targetandroid/packages/imlib/fpmake.pp
Modified : /branches/targetandroid/packages/opengl/fpmake.pp
Modified : /branches/targetandroid/packages/sdl/fpmake.pp
Modified : /branches/targetandroid/rtl/Makefile
Modified : /branches/targetandroid/rtl/Makefile.fpc
Modified : /branches/targetandroid/rtl/aix/Makefile
Modified : /branches/targetandroid/rtl/amiga/Makefile
Modified : /branches/targetandroid/rtl/beos/Makefile
Modified : /branches/targetandroid/rtl/darwin/Makefile
Modified : /branches/targetandroid/rtl/embedded/Makefile
Modified : /branches/targetandroid/rtl/emx/Makefile
Modified : /branches/targetandroid/rtl/freebsd/Makefile
Modified : /branches/targetandroid/rtl/gba/Makefile
Modified : /branches/targetandroid/rtl/go32v2/Makefile
Modified : /branches/targetandroid/rtl/haiku/Makefile
Modified : /branches/targetandroid/rtl/linux/Makefile
Modified : /branches/targetandroid/rtl/macos/Makefile
Modified : /branches/targetandroid/rtl/morphos/Makefile
Modified : /branches/targetandroid/rtl/nativent/Makefile
Modified : /branches/targetandroid/rtl/nds/Makefile
Modified : /branches/targetandroid/rtl/netbsd/Makefile
Modified : /branches/targetandroid/rtl/netware/Makefile
Modified : /branches/targetandroid/rtl/netwlibc/Makefile
Modified : /branches/targetandroid/rtl/openbsd/Makefile
Modified : /branches/targetandroid/rtl/os2/Makefile
Modified : /branches/targetandroid/rtl/palmos/Makefile
Modified : /branches/targetandroid/rtl/solaris/Makefile
Modified : /branches/targetandroid/rtl/symbian/Makefile
Modified : /branches/targetandroid/rtl/unix/cwstring.pp
Modified : /branches/targetandroid/rtl/unix/initc.pp
Modified : /branches/targetandroid/rtl/unix/ipc.pp
Modified : /branches/targetandroid/rtl/unix/unix.pp
Modified : /branches/targetandroid/rtl/wii/Makefile
Modified : /branches/targetandroid/rtl/win32/Makefile
Modified : /branches/targetandroid/rtl/win64/Makefile
Modified : /branches/targetandroid/rtl/wince/Makefile
Modified : /branches/targetandroid/utils/Makefile
Modified : /branches/targetandroid/utils/dxegen/Makefile
Modified : /branches/targetandroid/utils/fpcm/Makefile
Modified : /branches/targetandroid/utils/fpcm/fpcmake.inc
Modified : /branches/targetandroid/utils/fpcm/fpcmake.ini
Modified : /branches/targetandroid/utils/fpcm/fpcmmain.pp
Modified : /branches/targetandroid/utils/fpcmkcfg/Makefile
Modified : /branches/targetandroid/utils/fpcmkcfg/fppkg.inc
Modified : /branches/targetandroid/utils/fpcres/Makefile
Modified : /branches/targetandroid/utils/fpcreslipo/Makefile
Modified : /branches/targetandroid/utils/fpdoc/Makefile
Modified : /branches/targetandroid/utils/fpmc/Makefile
Modified : /branches/targetandroid/utils/fppkg/Makefile
Modified : /branches/targetandroid/utils/fppkg/fppkg.pp
Modified : /branches/targetandroid/utils/fprcp/Makefile
Modified : /branches/targetandroid/utils/h2pas/Makefile
Modified : /branches/targetandroid/utils/importtl/Makefile
Modified : /branches/targetandroid/utils/instantfpc/Makefile
Modified : /branches/targetandroid/utils/rmwait/Makefile
Modified : /branches/targetandroid/utils/tply/Makefile

git-svn-id: trunk@23604 -
2013-02-13 12:00:15 +00:00
florian
5a81601565 * type casting could force pointers into sub registers, so handle them when converting the pointer to an array
git-svn-id: trunk@23591 -
2013-02-10 20:50:12 +00:00
florian
77bbb8b5bc * type casting could force class variables into sub registers, so handle them in subscript nodes as well
git-svn-id: trunk@23587 -
2013-02-10 10:06:36 +00:00
yury
ee1e6eb4ea * Add %delfiles for proper clean-up.
git-svn-id: branches/targetandroid@23495 -
2013-01-22 16:58:30 +00:00
svenbarth
b5827ce363 Move the handling of "misstyled" floating point constants like "2." or "2.e10" from the scanner to the parser. This way type helpers calls for integer constants can be parsed correctly in the future.
Note: the error messages for incorrect "misstyled" floating point numbers (e.g. "2e10foo") have changed because of this.

scanner.pas, tscannerfile.readtoken:
  instead of tokenizing "2.", "2.e10", "2.e+10" and "2.e-10" as "_REALNUMBER" tokenize them as "_INTCONST _POINT", "_INTCONST _POINT _ID", "_INTCONST _POINT _ID _PLUS _INTCONST" "_INTCONST _POINT _ID _PLUS _INTCONST"; tokenizing of normal floating constants is not changed

pexpr.pas:
  factor: 
    * extract the code for creating a new constant floating point from "factor" into a new function "real_const_node_from_pattern"
    + allow the parsing of postfixoperators for integer constants if a "." is encountered
  + postfixoperators: check for a "misstyled" floating point number if an ordinal const (not an enum and not a boolean) is encountered (the code is already partially prepared for type helper support)
  
+ Added tests

git-svn-id: trunk@23356 -
2013-01-10 16:23:00 +00:00
svenbarth
359a228085 Fix one problem type of Mantis #23546. A record must not contain a static array that uses itself as an element type (in can contain a dynamic array however) otherwise an infinite loop is encountered when checking whether the record needs special init/final code.
pdecvar.pas, read_record_fields:
  * if the def of the field is a static array then use the array's element def (the final element def if it is a multi dimensional array) to check for whether this is the current record type

+ added tests

git-svn-id: trunk@23352 -
2013-01-09 14:07:01 +00:00
florian
198907797b * don't replace vmt entries of empty methods by FPC_EMPTYMETHOD
if the code is compiled for x86 and returns the result in an fpu register

git-svn-id: trunk@23304 -
2013-01-03 23:01:07 +00:00
Jonas Maebe
d180d6f241 * fixed size of movzx/movsx with 64bit operand in x86-64 Intel asm reader
git-svn-id: trunk@23131 -
2012-12-09 22:42:52 +00:00
svenbarth
5bb0e5992b * m68k/n68kadd.pas, t68kaddnode.second_cmpboolean:
don't use "location.loc" if second_pass was not called on the node yet, but "expectloc"
* added test

git-svn-id: trunk@22789 -
2012-10-20 20:32:46 +00:00
svenbarth
f746d9603a * m68k/n68kadd.pas, t68kaddnode.second_cmpsmallset:
respect more location combinations than just LOC_CONSTANT and LOC_REGISTER
* added test

git-svn-id: trunk@22786 -
2012-10-20 19:39:29 +00:00
svenbarth
72a01f17f5 * m68k/n68kmat.pas, tm68knotnode.pass_generate_code:
It is a bad idea (TM) to do a second_pass twice on the same node
* added test

git-svn-id: trunk@22785 -
2012-10-20 18:23:35 +00:00
pierre
66872fafa2 Fix wrong ifdef for MIPS cpu check
git-svn-id: trunk@22655 -
2012-10-15 14:01:30 +00:00
pierre
fd63593ec3 Add mips cpu code and generate helpful message for unsupported cpu
git-svn-id: trunk@22532 -
2012-10-04 07:28:29 +00:00
Jonas Maebe
f5de7e34d3 * only remove the calculation of unused parameters of inline routines if
they don't have explicit side-effects, and if -Oodeadvalues (part of -O4)
    is active (because it can result in the removal of range check errors,
    segmentation faults, etc)

git-svn-id: trunk@22254 -
2012-08-26 21:04:46 +00:00
florian
9672f0537a * handle exports with a name consisting of a single character correctly
git-svn-id: trunk@21945 -
2012-07-22 14:23:09 +00:00
pierre
3693af4c69 Do not try to call do_client if do_server failed
git-svn-id: trunk@21805 -
2012-07-06 15:03:13 +00:00
pierre
83d398719c Add support for MIPS cpu
git-svn-id: trunk@21803 -
2012-07-06 14:51:54 +00:00
sergei
335d9346dd * Fixed unclosed comment causing the test to fail for a completely unrelated reason.
git-svn-id: trunk@21725 -
2012-06-27 18:20:52 +00:00
Jonas Maebe
78bb3e323a * fixed source type information for values loaded in arrayconstructor after
r21069

git-svn-id: trunk@21350 -
2012-05-20 20:34:14 +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
Jonas Maebe
834026bfb5 * synchronised with trunk up to r21067
git-svn-id: branches/jvmbackend@21068 -
2012-04-26 21:24:20 +00:00
Jonas Maebe
9d1063f94c * adjustments/fixes for AIX/ppc64
git-svn-id: trunk@21053 -
2012-04-25 20:28:32 +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
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
51616b7bd6 * enabled a bunch of tests also for aix
git-svn-id: trunk@20821 -
2012-04-11 18:04:57 +00:00
pierre
6fd24693d6 * Explicitly disable range/overlfow checks when test is not about this
git-svn-id: trunk@20602 -
2012-03-23 16:35:04 +00:00
florian
e30ac89356 * moved test into the correct location and renamed
git-svn-id: trunk@20001 -
2012-01-07 21:56:23 +00:00
florian
7ec6201fb3 * mark label as used if address is taken
git-svn-id: trunk@20000 -
2012-01-07 21:53:21 +00:00
florian
867fc54147 * changing tests to fix regressions is only the last resort, so this should be sorted out by other means, r19117 reverted
--- Reverse-merging r19117 into '.':
U    tests\tbs\tb0349.pp
U    tests\tbs\tb0503.pp
 G   .
--- Recording mergeinfo for reverse merge of r19117 into '.':
 G   .

git-svn-id: trunk@19136 -
2011-09-17 18:21:25 +00:00
paul
0c3ccadf07 merge r17488 from cpstrnew branch by michael:
* Updates from Inoussa

git-svn-id: trunk@19117 -
2011-09-17 13:46:45 +00:00
Jonas Maebe
1403e3df29 * renamed fpc_WChar_To_ShortStr() compilerproc to fpc_UChar_To_ShortStr() for
consistency with other helpers
  + added lowercase(unicodechar) and lowercase(unicodestring) overloads (for some
    reason only upcase() existed for them)

git-svn-id: branches/jvmbackend@18881 -
2011-08-28 19:22:15 +00:00
florian
5419011856 * fix test
git-svn-id: trunk@18274 -
2011-08-19 13:20:05 +00:00
florian
c011949765 + iretq for x86_64
git-svn-id: trunk@18273 -
2011-08-19 12:56:26 +00:00
florian
4f6a803c29 + might_have_sideeffects, make use of it when optimizing x*x into sqr(x)
git-svn-id: trunk@18271 -
2011-08-19 09:26:40 +00:00
florian
87696a4b70 * cr*, dr*, tr* registers are 64 bit on x86-64
git-svn-id: trunk@18243 -
2011-08-17 11:42:11 +00:00
Jonas Maebe
d8a2c47c75 * fixed calling inherited message handlers after r18162
git-svn-id: trunk@18173 -
2011-08-11 20:08:43 +00:00
pierre
3d701bc644 + Add %needlibrary to libraries themselves to avoid error report on systems not supporting libraries
git-svn-id: trunk@18169 -
2011-08-11 12:30:14 +00:00
Jonas Maebe
9195506c56 * make sure that anonymous inherited calls only call through to the
overridden method, rather than to any method that can accept similar
    parameters as the current one (Delphi-compatible, and corresponds to
    what is described in our documentation)
  * do not flag "inherited" call nodes that are not "anonymous inherited"
    calls using the cnf_anon_inherited flag

git-svn-id: trunk@18162 -
2011-08-10 17:26:19 +00:00
Jonas Maebe
19fb48dfa9 * prefer "any array" -> "open array" over "single element" -> "open array"
conversions, instead failing to choose the best overload (Delphi-compatible)

git-svn-id: trunk@17800 -
2011-06-22 19:32:28 +00:00
joost
96ec37aa92 * Fixed multiplying negative tBCD values
git-svn-id: trunk@17744 -
2011-06-13 17:12:49 +00:00
sergei
92adf34e3f * Tighten rules for accepting ATT suffixes, no longer accept FPU suffixes for integer instructions and vice versa. Resolves #18900.
* tb0267.pp required patching due to 'fildw' instruction at line 72, which is rejected by GAS. Before this commit, FPC was silently converting it to 'filds', so it went unnoticed. Now FPC rejects 'fildw' like GAS does.

git-svn-id: trunk@17363 -
2011-04-21 20:03:05 +00:00
paul
55a0fefb1f compiler: implement generic array type:
- add tarraysymtable to store generic type symbols
  - process generic and specialize declarations similar to generic records and classes
  - fix insert_generic_parameter_types to use def passed in argument instead of current_structdef because generic array type can't be assigned to the current_structdef variable
  - increase ppu version because of arraydef changes
  - tests

git-svn-id: trunk@16681 -
2011-01-02 13:16:17 +00:00
paul
04ac114c77 tests: move tb0070.pp to tbs and change expected behavior to success because delphi and fpc both allows this constructions now
git-svn-id: trunk@16647 -
2010-12-27 05:51:59 +00:00
florian
8ca3c8301b * don't convert second argument of inc/dec to sinttype when inc/dec are compiled with r+ or q+, fixes code generation for inc(<int64>,<int64>); on 32 bit targets
git-svn-id: trunk@16289 -
2010-11-01 21:30:14 +00:00
joost
07bf44517c * Merged XPCom branch into trunk, added support for constref and changed
the IInterface implementation to be XPCom-compatible
--- Merging r15997 through r16179 into '.':
U    rtl/inc/variants.pp
U    rtl/inc/objpash.inc
U    rtl/inc/objpas.inc
U    rtl/objpas/classes/persist.inc
U    rtl/objpas/classes/compon.inc
U    rtl/objpas/classes/classesh.inc
A    tests/test/tconstref1.pp
A    tests/test/tconstref2.pp
A    tests/test/tconstref3.pp
U    tests/test/tinterface4.pp
A    tests/test/tconstref4.pp
U    tests/webtbs/tw10897.pp
U    tests/webtbs/tw4086.pp
U    tests/webtbs/tw15363.pp
U    tests/webtbs/tw2177.pp
U    tests/webtbs/tw16592.pp
U    tests/tbs/tb0546.pp
U    compiler/sparc/cpupara.pas
U    compiler/i386/cpupara.pas
U    compiler/pdecsub.pas
U    compiler/symdef.pas
U    compiler/powerpc/cpupara.pas
U    compiler/avr/cpupara.pas
U    compiler/browcol.pas
U    compiler/defcmp.pas
U    compiler/powerpc64/cpupara.pas
U    compiler/ncgrtti.pas
U    compiler/x86_64/cpupara.pas
U    compiler/opttail.pas
U    compiler/htypechk.pas
U    compiler/tokens.pas
U    compiler/objcutil.pas
U    compiler/ncal.pas
U    compiler/symtable.pas
U    compiler/symsym.pas
U    compiler/m68k/cpupara.pas
U    compiler/regvars.pas
U    compiler/arm/cpupara.pas
U    compiler/symconst.pas
U    compiler/mips/cpupara.pas
U    compiler/paramgr.pas
U    compiler/psub.pas
U    compiler/pdecvar.pas
U    compiler/dbgstabs.pas
U    compiler/options.pas
U    packages/fcl-fpcunit/src/testutils.pp

git-svn-id: trunk@16180 -
2010-10-17 20:58:22 +00:00
mazen
b127fc154a * Fixed spell error revealed by lintian.
git-svn-id: trunk@16094 -
2010-10-06 20:33:57 +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
florian
e01e4e5719 * optimized copy(<dyn. array> ...) by checking if the elements are really ref. counted
git-svn-id: trunk@15228 -
2010-05-05 13:49:06 +00:00
Jonas Maebe
3cff8df175 * added -Cg- parameter for targets on which -Cg is default
git-svn-id: trunk@15100 -
2010-03-31 20:00:56 +00:00
marco
67b7762c34 * Patch from Oliver that corrects some % directives in the testsuite. Mantis 16134
git-svn-id: trunk@15095 -
2010-03-30 09:58:25 +00:00
ivost
f0ce69b264 * added testcase for right behavior of AS and SUPPORTS so that QueryInterface is called before GetInterface
git-svn-id: trunk@15067 -
2010-03-26 00:43:53 +00:00
Jonas Maebe
85984c2d8f * insert proper type conversions when optimising logical operations and
compares by avoiding unnecessary sign extensions (fixes bug reported in
    http://lists.freepascal.org/lists/fpc-pascal/2010-January/023907.html )
  * never throw away int2int type conversions on bitpacked loads, because
    in these cases the proper bits still need to be selected

git-svn-id: trunk@14892 -
2010-02-12 18:13:08 +00:00
florian
5b1e713e5b * fixed tests
git-svn-id: trunk@14794 -
2010-01-24 15:00:49 +00:00
florian
fc148f4aec * read/write new cstringpattern correctly from/to ppu files
+ test

git-svn-id: trunk@14791 -
2010-01-24 12:34:00 +00:00
florian
c6ffbe9eda * support string constants > 255 chars
* don't cut off anymore string constants silently at 255 chars

git-svn-id: trunk@14789 -
2010-01-24 09:28:46 +00:00
paul
00624ad7a3 tests: remove {$STATIC ON} directive since it is not available anymore
git-svn-id: trunk@14580 -
2010-01-08 18:01:28 +00:00
paul
8166148a37 compiler: 'static' keyword:
- deprecate -St compiler switch
  - remove $STATIC directive
  - unconditionally enable 'static' keyword usage
  - adopt tests, samplecfg, fpc.cft, error messages

git-svn-id: trunk@14569 -
2010-01-07 19:02:09 +00:00
Jonas Maebe
83c3e7a94b * fixed pred/succ for integer constants that equal the low/high bound of a
built-in integer type (reported by Stefan Kisdaroczi) 

git-svn-id: trunk@14537 -
2010-01-04 15:12:27 +00:00
Jonas Maebe
6399bcd4e3 * improve precision of values specified with a decimal point and an exponent
(based on report/hints by Dariusz Mazur)

git-svn-id: trunk@14533 -
2010-01-03 15:56:06 +00:00
Jonas Maebe
da58a01ce6 * fixed stabs debug information for parameters copied into local variables
(fixes displaying value shortstring parameters on SPARC, as reported on
     fpc-devel mailing list on 20091005 by Mark Morgan Lloyd)

git-svn-id: trunk@13813 -
2009-10-06 13:51:16 +00:00
Jonas Maebe
125b9e79d7 * fixed an error with trashing (-gt) of open shortstring "out" parameters
causing crashes if strings with a maximum length < 255 were passed

git-svn-id: trunk@13558 -
2009-08-19 20:24:32 +00:00
marco
576d108e2e * error of yesterday fixed (stale "NOT"), and indicating which call fails
git-svn-id: trunk@13529 -
2009-08-13 14:06:30 +00:00
marco
5d71c6406a * adapted test for legacy socket function removal.
git-svn-id: trunk@13526 -
2009-08-12 20:21:32 +00:00
Jonas Maebe
c6733ed9a5 * disallow placing fields after method/property definitions, because this
can create ambiguities for the parser in case the field names also exist
    as modifiers (TP- and Delphi-compatible, mantis #13971) + tests
  * fixed tests that broke because of this change

git-svn-id: trunk@13334 -
2009-06-27 12:59:46 +00:00
Jonas Maebe
3a8b29be91 + test conversion from class to differently sized enum and to differently
sized integer (succeed for Delphi, fail for objfpc)
  * fixed compiler so it only allows typecasting a class/interface to a
    differently sized integer in Delphi mode

git-svn-id: trunk@13152 -
2009-05-16 11:07:09 +00:00
Jonas Maebe
53ad1bcabe * fixed linux flock type by defining and using a kernel_off_t type
whose size depends on whether the run time environment is 32 or
    64 bit (mantis #13647)
  + added flock64 type for 32 bit systems (usable with special 64 bit
    fcntl operations)

git-svn-id: trunk@13119 -
2009-05-09 19:47:59 +00:00
Jonas Maebe
c1e327c8c4 * insert register allocation/deallocation information for the exception
handling code (g_exception_reason_load() now automatically allocates
    the cpu register that it loads). This fixes the bug reported in
    http://lists.freepascal.org/lists/fpc-devel/2009-May/016773.html
    on i386 with -O2)

git-svn-id: trunk@13105 -
2009-05-06 19:11:54 +00:00
Jonas Maebe
99a02a93ca * also consider the search attributes for findfirst if the name does
not contain wildcards + test
  * don't return true from FindGetFileInfo if the file name is ok, but the
    search attributes don't match (resulted in returning multiple times the
    name of the previous entry that did fulfill all requirements)

git-svn-id: trunk@13074 -
2009-05-01 16:03:56 +00:00
Jonas Maebe
dbeb3e060f * fixed internalerror(2007120903) when using -Cfsse2 in case an unsigned
32 bit subrange type with high(subrange_type) <= high(longint) is
    converted to a float

git-svn-id: trunk@13037 -
2009-04-25 11:40:02 +00:00
sekelsenmat
557fd1e1c6 Moves gettext test to correct position
git-svn-id: trunk@12291 -
2008-12-02 16:35:29 +00:00
sekelsenmat
15e597682e Fixes gettext crash under Windows CE and adds test case for it.
git-svn-id: trunk@12290 -
2008-12-02 16:01:25 +00:00
michael
ea29eb439f * Test for default of property override: default of parent must be preserved
git-svn-id: trunk@12117 -
2008-11-15 22:35:36 +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
florian
cd6b57c733 * fixed constant char to unicodestring conversion
git-svn-id: trunk@11779 -
2008-09-14 17:19:20 +00:00
yury
8818df640f * Fixed passing of open array of wide string literals to function which expects 'array of pwidechar' parameter in case source file has utf8 encoding. Compiler thrown the following error in such case: Incompatible type for arg no. 1: Got "Array Of Const/Constant Open Array of WideString", expected "Open Array Of PWideChar".
+ Test for this issue.

git-svn-id: trunk@11581 -
2008-08-14 18:55:10 +00:00
peter
07880add06 * remove svn:executable property
git-svn-id: trunk@11403 -
2008-07-18 21:28:51 +00:00
tom_at_work
f11cf59854 * tests for checking type casts from integers/enums to TObjects in Delphi and non-Delphi mode (see r11398)
git-svn-id: trunk@11400 -
2008-07-18 15:53:37 +00:00
florian
050627ea1d * allow goto inside finally blocks
git-svn-id: trunk@11392 -
2008-07-17 19:49:38 +00:00
florian
ed9c7ceaea * support deprecated for types
git-svn-id: trunk@11341 -
2008-07-07 17:59:48 +00:00
florian
58757d0630 * support of dq in Intel assembler on 64 bit CPUs, resolves #11425
git-svn-id: trunk@11211 -
2008-06-07 15:08:48 +00:00
florian
4a243d451f + support of -Mxxx or $modeswitch to enable single mode specific features
git-svn-id: trunk@10936 -
2008-05-10 22:04:53 +00:00
Jonas Maebe
95637dea75 * fixed swapendian(smallint) (bug found by Joost van der Sluis)
* based swap(smallint) and swap(word) on swapendian(smallint/word),
    since the same bug was already fixed in swap(smallint) in r6752
    (so these routines now share the same code)
  * fixed potential range error in swapendian(word)
  + added basic test for the above four routines

git-svn-id: trunk@10840 -
2008-04-29 22:14:43 +00:00
Jonas Maebe
7e4750ac50 * workaround for default property constant value limitations
git-svn-id: trunk@10575 -
2008-03-28 10:15:33 +00:00
Jonas Maebe
005bdc1af4 * fixed "inherited some_property" constructs for getters/setters
(mantis #10927)
  * extended the tb0259 test a bit (tests similar constructs in
    case there is no getter/setter)

git-svn-id: trunk@10456 -
2008-03-07 19:29:40 +00:00
peter
761344e9fc * don't allow passing ordinal and real constants to formal const parameters
git-svn-id: trunk@10426 -
2008-03-02 15:00:32 +00:00
florian
6c53785e3a * first part of implements clean up and fixing
git-svn-id: trunk@10382 -
2008-02-24 11:05:46 +00:00
florian
38230735a5 * testcase for last commit
git-svn-id: trunk@10337 -
2008-02-16 08:55:08 +00:00
florian
d38da8d0ae * naming fixed
git-svn-id: trunk@10335 -
2008-02-16 08:52:57 +00:00
peter
737212ff22 * fix result type of constset+[]
git-svn-id: trunk@10311 -
2008-02-12 17:30:00 +00:00
Jonas Maebe
53be0147d4 * fixed assignments to integer regvars typecasted to a type
of equal size but with different signdness + test

git-svn-id: trunk@9871 -
2008-01-22 21:27:34 +00:00
Jonas Maebe
84159b3cbb * optimize away unnecessary implicit upcasts to int64 for subtractions
of u32bit values on 32 bit platforms (after the int64 values have 
    already been used for overload selection etc, i.e., semantically
    nothing changes)
  + test which checks that not too many typecasts are optimized away

git-svn-id: trunk@9664 -
2008-01-06 23:30:19 +00:00
Jonas Maebe
5196db1ac3 * fixed low(set)/high(set) after previous changes + test
git-svn-id: trunk@9371 -
2007-12-01 17:16:33 +00:00
Jonas Maebe
61522d00a2 * fixed tests now that i386 assembler code is checked for correct PIC
usage in case PIC generation is on (some by adding PIC-versions of
    the assembler code, most by adding -Cg- to the options to be used).

    Note: the Intel assembler reader does not yet support the Delphi
    PIC construct, so tests with that (like test/tasmread and test/tcg1)
    do not work with -Cg on non-Darwin (Darwin needs a different PIC
    construct)

git-svn-id: trunk@9370 -
2007-12-01 14:34:50 +00:00
Jonas Maebe
d15007dbfe * don't test on darwin since not supported there for efficiency
reasons

git-svn-id: trunk@9200 -
2007-11-11 17:53:19 +00:00
Jonas Maebe
d9647db223 * changed x86_64 assembler code to PIC
git-svn-id: trunk@9199 -
2007-11-11 17:50:27 +00:00
florian
ae9654ddbc * test doesn't apply to win32 and win64 anymore
git-svn-id: trunk@9053 -
2007-11-01 22:19:24 +00:00
Jonas Maebe
1ee8207ffa * fixed mantis #9522: no longer allow typecasting ordinal constants
to complex types (caused a lot of internal errors later on, and
    was also Delphi-incompatible)

git-svn-id: trunk@8369 -
2007-09-03 15:55:26 +00:00
Jonas Maebe
b1631b6918 * fixed wrong uninitialized warnings with passing array elements
as out-parameters

git-svn-id: trunk@8337 -
2007-08-29 20:23:59 +00:00
yury
685810c18c * Fixed fpc_WideCharArray_To_WideStr in case if widechar array contains empty string.
+ Test.

git-svn-id: trunk@8317 -
2007-08-28 09:53:29 +00:00
Jonas Maebe
eddc507a13 * disallow widechar sets (Delphi 7 compatible, and were handled wrongly
by FPC previously)
  * tbs/tb0474 now fails -> renamed to tbf/tb0201 (+ new test tbf/tb0202)

git-svn-id: trunk@8284 -
2007-08-14 14:27:59 +00:00
daniel
30f733eed5 * Compiler now catches the error already at compiler time. Use a variable
to force checking at runtime.

git-svn-id: trunk@7930 -
2007-07-03 10:15:14 +00:00
daniel
dafc044cea * tb0201 should now succeed, move & rename it to tbs/tb0540
* Add %FAIL & %NORUN to tb0200.

git-svn-id: trunk@7826 -
2007-06-26 17:43:41 +00:00
florian
03951d793a * don't try to range check ordconst nodes being actually classes
git-svn-id: trunk@7797 -
2007-06-24 19:27:22 +00:00
florian
e94e32d005 + new test
git-svn-id: trunk@7792 -
2007-06-24 14:33:28 +00:00
yury
a70eba78a6 * Delete temporary files used by tests. It is important when remotely run testsuite at Pocket PC. Temp files are created in root folder and it is not good if the files are left.
git-svn-id: trunk@7760 -
2007-06-21 17:13:39 +00:00
yury
8e45887e1b * allow assignment of empty dynarray to variant and empty vararray to dynarray.
+ test.

git-svn-id: trunk@7754 -
2007-06-21 09:31:10 +00:00
yury
17764bbbf6 * this test not for wince.
git-svn-id: trunk@7750 -
2007-06-20 20:35:44 +00:00
Jonas Maebe
ce94d89bd9 + added cwstring unit for unix
git-svn-id: trunk@7679 -
2007-06-16 09:13:01 +00:00
joost
4d9c3244fe * If a variant contains a datetime value and is converted to a string, it should return a string in a date/time format. (+test)
git-svn-id: trunk@7643 -
2007-06-13 12:24:16 +00:00
florian
011993a5f1 * properties fixed
git-svn-id: trunk@7084 -
2007-04-09 19:04:51 +00:00
Jonas Maebe
5f169f97ff * fixed SSE2 substraction when both operands are on the 80x87 fpu stack
git-svn-id: trunk@6959 -
2007-03-23 00:21:46 +00:00
florian
c127753bb8 * test for win64 fixed
git-svn-id: trunk@6919 -
2007-03-18 20:11:38 +00:00
Jonas Maebe
bcfed2bc74 * test for wrong warning when accessing length of unwritten
open array out-parameters

git-svn-id: trunk@6906 -
2007-03-17 22:08:31 +00:00
Jonas Maebe
69cf42c4f7 * fixed val(s,int64) (it accepted values in the range
high(int64+1)..high(qword) if written in decimal notation) + test
  * fixed range checking of qword constants parsed by the compiler
    (they always gave a range error if > high(int64), because the compiler
     internally stores them as int64)
  * turn off range checking flag of rdconstnodes created by the parser
    from _INTCONST, because those are already range checked by the
    way they are parsed using val()

git-svn-id: trunk@6814 -
2007-03-12 22:22:43 +00:00
daniel
0fdd8110c7 * Force I/O checking
git-svn-id: trunk@6793 -
2007-03-11 20:06:42 +00:00
daniel
5784674f20 + Test for append on devices.
git-svn-id: trunk@6787 -
2007-03-11 18:56:02 +00:00
Jonas Maebe
6ba8db4dd4 * fixed a_op_const_reg(_reg)(OP_OR/OP_XOR,OS_S8/OS_S16) for ppc32
(is ok for ppc64)

git-svn-id: trunk@6756 -
2007-03-09 15:51:09 +00:00
Jonas Maebe
c7fc744a2a * use sysutils.sleep() instead of a delay loop for consistent results
among different systems

git-svn-id: trunk@6726 -
2007-03-05 15:56:55 +00:00
peter
fcc873b202 * fix compile error
git-svn-id: trunk@6597 -
2007-02-22 06:57:50 +00:00
peter
9a37c04131 * cardinal-cardinal is calculated using int64
* support pointer(int64) for all modes, this is needed to
    support pointer(cardinal+longint) and pointer(cardinal-cardinal)

git-svn-id: trunk@6586 -
2007-02-21 11:52:06 +00:00
florian
42da0e5688 * new test
git-svn-id: trunk@6577 -
2007-02-20 19:24:40 +00:00
pierre
5fc4257482 * range check explicitly disabled
git-svn-id: trunk@6537 -
2007-02-18 00:25:31 +00:00
daniel
34bdb90822 * Correct properties on tb0529
git-svn-id: trunk@6514 -
2007-02-16 18:02:57 +00:00
yury
48e46f1c2e * Fixed error "Incompatible type for arg no. X: Got "Array Of Char", expected "Array Of PChar"" when passing values like ['1','2','3'] for "array of PChar" parameter.
+ Test added.

git-svn-id: trunk@6495 -
2007-02-15 19:43:35 +00:00
tom_at_work
499d77d975 * fixed compilation
git-svn-id: trunk@6367 -
2007-02-07 20:44:48 +00:00
Jonas Maebe
80b0b1c057 * compiler identifier is powerpc64, not ppc64
git-svn-id: trunk@6365 -
2007-02-07 20:32:12 +00:00
daniel
794167b09d * Improve test.
git-svn-id: trunk@6362 -
2007-02-07 19:51:07 +00:00
daniel
04819280cc + Add enormous arrays test.
git-svn-id: trunk@6359 -
2007-02-07 19:36:35 +00:00
Jonas Maebe
c9148d67a9 * support for {$z+/-} (={$z4/1})
git-svn-id: trunk@6109 -
2007-01-21 22:08:53 +00:00
yury
901dd52840 + new test.
git-svn-id: trunk@6056 -
2007-01-18 21:00:26 +00:00
Jonas Maebe
f2b07704b5 * proper initialised/used warnings for variables used
in complex with-statements + tests

git-svn-id: trunk@6024 -
2007-01-17 12:04:53 +00:00
daniel
4e19e473a4 * Add target specifier.
git-svn-id: trunk@5988 -
2007-01-15 10:32:53 +00:00
daniel
95713c7264 + Add baseunix again.
git-svn-id: trunk@5987 -
2007-01-15 10:29:46 +00:00
daniel
38062997f4 * Remove unused procedure.
git-svn-id: trunk@5976 -
2007-01-14 21:20:23 +00:00
daniel
4f55e8055f + Add test to test Pascal I/O sockets
git-svn-id: trunk@5975 -
2007-01-14 20:35:13 +00:00
florian
5e2042cff8 * correct assembling of test rm8,reg8
git-svn-id: trunk@5972 -
2007-01-14 18:08:37 +00:00
Jonas Maebe
7afbe22031 * extended test
git-svn-id: trunk@5917 -
2007-01-12 10:38:15 +00:00
Jonas Maebe
2ddeca21e6 * don't give warning about constructing instance with abstract methods
for self.create calls + tests

git-svn-id: trunk@5810 -
2007-01-04 13:02:23 +00:00
florian
80d4887e67 * fixed warnings for length/high/low(<normal array>; <ord>; <enum>)
git-svn-id: trunk@5795 -
2007-01-03 09:51:24 +00:00
florian
28d59bbf6f * pos(...,...) overloads with variants, see tb0520.pp for the reason
git-svn-id: trunk@5770 -
2006-12-31 17:47:05 +00:00
florian
694b616975 * fixed test on windows, I wonder what it was supposed to test
git-svn-id: trunk@5762 -
2006-12-30 23:55:15 +00:00
Jonas Maebe
555e887ea3 * test for floating point precision conversion
git-svn-id: trunk@5756 -
2006-12-30 22:26:04 +00:00
Jonas Maebe
a63ed25f74 * fixed support for repeating constructor without parameters in Delphi
mode + test

git-svn-id: trunk@5692 -
2006-12-23 20:53:47 +00:00
Jonas Maebe
e5a1d628eb * fixed one regression in r5682: implementation declarations with a
calling convention that has different hidden parameters than the
    interface declaration no longer compiled in Delphi mode (e.g.
    webtbs/tw7329.pp on i386)
  * fixed remaining declaration parsing incompatibilities in TP/Delphi
    modes (other modes already gave errors for the things below):
    * give an error for "function a: byte;" in interface followed by
      "procedure a;" in implementation ("function a;" in implementation
      still allowed as in TP/Delphi)
    * give an error for "function a(b: byte):byte" in interface
      followed by "function a: byte;" in implementation (if one parameter
      or return type is specified in implementation, everything must
      be repeated -- "function a;" still allowed)
  * copied webtbs/tw0890.pp to webtbf/tw0890a.pp since it now correctly
    fails, and modified webtbs/tw0890.pp so it doesn't fail with the
    new code

git-svn-id: trunk@5688 -
2006-12-23 11:17:21 +00:00
yury
569bec8e80 * fixed ifdef for arm.
git-svn-id: trunk@5665 -
2006-12-21 20:51:09 +00:00
Jonas Maebe
72c7d5b6c0 * support ranges in case-options of variant records
git-svn-id: trunk@5553 -
2006-12-07 15:19:30 +00:00
Jonas Maebe
39324125ec * fixed for 64 bit targets
git-svn-id: trunk@5536 -
2006-12-03 20:47:45 +00:00
micha
c333724be3 + add TStringList test
git-svn-id: trunk@5526 -
2006-12-02 11:22:56 +00:00
florian
0c64a02826 * there is no gnu as for win64
git-svn-id: trunk@5493 -
2006-11-26 16:20:40 +00:00
Jonas Maebe
a15e5dc61c * always call tobject.create/free in MacPas mode for new/dispose constructs
(since macpas methods may accidentally be called like that as well,
     as it doesn't have any constructors/destructors)
  + some tests for MacPas objects from the GNU Pascal testsuite

git-svn-id: trunk@5421 -
2006-11-18 13:36:38 +00:00
florian
81726e85d7 * properties can be also passed to formal const parameters
git-svn-id: trunk@5419 -
2006-11-18 09:09:21 +00:00
florian
08f72e02f4 + copying of procedure variable defs
git-svn-id: trunk@5277 -
2006-11-07 19:20:12 +00:00
peter
99f1c86413 * force reference to AbortPrinter so smartlinking doesn't optimize the import away
git-svn-id: trunk@5242 -
2006-11-05 13:00:27 +00:00
Jonas Maebe
5acc8b44a8 * activated internal get_frame for x86
* turn off stackframe optimizations on x86 if get_frame is called
    in the current routine, or if the address of a nested function
    is taken in the current routine
  + test for the above
  * this fixes the IDE when compiled with stackframe optimizations
    on x86

git-svn-id: trunk@5146 -
2006-11-01 12:48:53 +00:00
florian
69a2144170 + added goto enable switch
git-svn-id: trunk@5069 -
2006-10-29 20:04:31 +00:00
florian
3d85bfbf7b * fixed coping of goto/label nodes
git-svn-id: trunk@5053 -
2006-10-29 09:50:39 +00:00
peter
ab3c173479 * property override test
git-svn-id: trunk@5043 -
2006-10-28 18:22:33 +00:00
Jonas Maebe
12c76ca1ce + support for "return" without return value in MacPas mode
git-svn-id: trunk@4933 -
2006-10-15 19:22:39 +00:00
micha
f47f8e6af1 add tests for untyped pointer arithmetic warnings
git-svn-id: trunk@4820 -
2006-10-07 16:28:21 +00:00
Jonas Maebe
86649024b3 * fixed fpc_AnsiStr_Concat_multi + test
git-svn-id: trunk@4790 -
2006-10-04 16:44:31 +00:00
Jonas Maebe
a12f293781 * fixed wrong note about explictly valued enumeration types if the lower
bound is <= -1

git-svn-id: trunk@4182 -
2006-07-14 17:16:27 +00:00
Jonas Maebe
30ee3416e8 * fixed wrong "assigned but not used" note for class and interface
(the latter via a type cast) variables from which only fields are
    read

git-svn-id: trunk@4181 -
2006-07-14 17:06:31 +00:00
yury
cdafea2ce7 * uses crt is not needed in some tests.
git-svn-id: trunk@4112 -
2006-07-06 19:10:44 +00:00
yury
291b00529a * wince support for some tests.
git-svn-id: trunk@4111 -
2006-07-06 19:09:42 +00:00
yury
f96b571e38 * skip some tests for wince.
git-svn-id: trunk@4110 -
2006-07-06 19:08:23 +00:00
yury
4c3d73106c * about 500 millions iterations is not needed for tb0328 test.
git-svn-id: trunk@4098 -
2006-07-06 11:02:28 +00:00
Jonas Maebe
74f9acd0d8 + added
git-svn-id: trunk@3198 -
2006-04-12 13:25:39 +00:00
Jonas Maebe
22dbdea481 * fixed test, enabled for freebsd, darwin, solaris
git-svn-id: trunk@3151 -
2006-04-05 12:19:55 +00:00
oro06
feb8de2d67 *arm-wince wince added to win32 tests
git-svn-id: trunk@2615 -
2006-02-17 07:38:55 +00:00
peter
30130d41be * more tests for symtable insert/search
git-svn-id: trunk@2406 -
2006-02-02 13:41:17 +00:00
peter
62d885369d * test for enums in record
git-svn-id: trunk@2405 -
2006-02-02 13:17:05 +00:00
Jonas Maebe
08c4e6918b * renamed test to properly reproduce internal error
git-svn-id: trunk@2243 -
2006-01-09 15:46:30 +00:00
peter
b561749dea * renamed to trtti4
git-svn-id: trunk@2006 -
2005-12-20 10:46:41 +00:00
peter
1f2e850bea * test also order of properties
git-svn-id: trunk@2005 -
2005-12-20 10:35:53 +00:00
peter
6c75825751 * test for forward class in $M+
git-svn-id: trunk@1999 -
2005-12-20 09:03:43 +00:00
daniel
190cdc6f4b * Isolated IE200311075 bug found today
git-svn-id: trunk@1871 -
2005-12-02 21:05:28 +00:00
tom_at_work
c97dfde06d * renamed tb0488.pp to tb0488a.pp
* added tb0488b test program

git-svn-id: trunk@1774 -
2005-11-16 20:51:45 +00:00
tom_at_work
9d7ac02696 * fixed tb0488 on unix platforms (missing cwstring uses)
* 64bit big-endian fix of dynamic array handling
* added qword support for %x format specifier of format() functions

git-svn-id: trunk@1773 -
2005-11-16 20:50:38 +00:00
tom_at_work
487c4f76a4 * more testbench fixes
git-svn-id: trunk@1600 -
2005-10-26 21:42:20 +00:00
peter
fb6d17fb21 * fixed runtime
git-svn-id: trunk@1490 -
2005-10-19 06:35:17 +00:00
Jonas Maebe
f587986a69 - disabled for non-x86/x86_64
git-svn-id: trunk@1423 -
2005-10-16 14:47:32 +00:00
florian
2dd7c144c4 * fixed test
git-svn-id: trunk@1371 -
2005-10-13 20:01:17 +00:00
peter
edf553a223 * string constants are now array of char until
they are converted to a specific string type

git-svn-id: trunk@1254 -
2005-10-02 11:08:58 +00:00
florian
be99f2a7fd * fixed loading of addresses of virtual methods to methodpointers in delphi mode
git-svn-id: trunk@1182 -
2005-09-25 10:58:17 +00:00
florian
40dd9b9404 * new test for the recently fixed intel assembler reader stuff
git-svn-id: trunk@1108 -
2005-09-18 09:07:46 +00:00
florian
fa1575aeab * fixed array[..] of char <op> pchar: wrong type was determined for non op<>+ returned
git-svn-id: trunk@1107 -
2005-09-18 08:59:20 +00:00
florian
abbc85bb78 + strict protected and strict private support
git-svn-id: trunk@512 -
2005-06-28 19:23:39 +00:00
Jonas Maebe
26646298a4 * fixced uninitialised variable
git-svn-id: trunk@399 -
2005-06-13 21:53:12 +00:00
florian
837638b971 * initial test version
git-svn-id: trunk@169 -
2005-06-01 18:45:23 +00:00
Tomas Hajny
3d00563633 + check for not failing on Delphi $WARN directive
git-svn-id: trunk@125 -
2005-05-26 20:53:02 +00:00
florian
ac880214fc * fixed passing function results to const formal defs, see tbs/tb0490.pp
git-svn-id: trunk@56 -
2005-05-21 20:44:04 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
olle
fefdf31dce + Added code for macos 2005-04-28 18:37:23 +00:00
olle
942c4ea025 - Removed dependency on unit DOS
* Made filename valid length for macos
2005-04-28 18:36:18 +00:00
olle
9e25e07eaa - Removed superfluous apptype 2005-04-28 18:35:02 +00:00
peter
86c939c17c * fix compile failures 2005-04-05 21:04:34 +00:00
peter
594c8943eb * new bugs
* added $mode fpc
2005-04-04 16:29:44 +00:00
peter
2326c2b62f new bugs 2005-03-28 15:06:55 +00:00
peter
0a6f9bb489 * mode delphi 2005-03-04 17:07:49 +00:00
florian
9d5509f3f9 no message 2005-02-26 09:53:43 +00:00
florian
b3910a75f2 no message 2005-02-26 09:51:28 +00:00
florian
25ea80ba19 no message 2005-02-24 22:36:03 +00:00
florian
627420ae56 no message 2005-02-23 19:18:23 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
f2c5cdc3ee no message 2005-02-10 20:53:33 +00:00
florian
5f8c31df7c * on 64 bit CPUs val works with 64 bit 2005-02-05 18:56:45 +00:00
florian
beee137eb7 no message 2005-02-01 23:19:09 +00:00
florian
cc7220d3db no message 2005-02-01 23:17:46 +00:00
florian
65e3bccd25 no message 2005-02-01 23:16:37 +00:00
florian
2fa0967349 no message 2005-02-01 23:06:55 +00:00
peter
7d881c5c07 * mode tp 2005-01-31 17:01:24 +00:00
florian
97bbacd0a8 no message 2005-01-19 23:33:13 +00:00
florian
a6549318c7 no message 2005-01-19 23:20:12 +00:00
florian
661b1f39b7 no message 2005-01-19 20:52:08 +00:00
florian
36d8c40223 + skipemu directive added 2005-01-06 16:38:06 +00:00
florian
cd8e5f6852 no message 2004-12-18 15:20:42 +00:00
peter
53dd50db60 * add byte ptr 2004-12-15 15:58:24 +00:00
florian
e27a8d871f * fixed test 2004-11-28 21:32:28 +00:00
peter
d30f99c17e * use domem() for heap checking 2004-11-26 21:59:49 +00:00
olle
2ecaba47e1 + Better comment on %SKIPTARGET=macos 2004-11-23 19:55:59 +00:00
peter
a20e4c2afe * bug is obsolete 2004-11-21 21:55:14 +00:00
peter
04e9ecba1c * move external to interface 2004-11-21 21:42:16 +00:00
peter
782801e42b * win32 only 2004-11-21 21:42:00 +00:00
peter
161cbe3824 * fixed library tests
* fix test cases to generate their own temporary files
2004-11-09 23:13:49 +00:00
florian
53d4987dbe * test for 64 bit cpus fixed 2004-11-02 17:31:00 +00:00
florian
2ba892c5bd * fixed test for x86_64 which supports a native comp type 2004-11-02 16:01:47 +00:00
peter
78ff575ee4 * use __stklen 2004-11-01 14:52:02 +00:00
florian
18ab96362b + added sparc code 2004-10-03 18:13:26 +00:00
florian
9cc9d68060 + sparc 2004-09-26 18:32:15 +00:00
peter
8b58545947 * problem with temp ansistrings 2004-09-22 20:21:43 +00:00
peter
2bb1472ab5 * new bug 2004-09-21 15:45:44 +00:00
Jonas Maebe
172ffeac56 + added 2004-08-25 11:50:45 +00:00
Jonas Maebe
cb8f28f93d + test for "@procvar_of_object <> nil" in delphi mode 2004-08-17 19:05:27 +00:00
florian
1d1df129f6 *** empty log message *** 2004-05-29 15:52:33 +00:00
florian
c67af8573f no message 2004-05-25 21:26:49 +00:00
florian
d33a2be215 no message 2004-05-25 21:25:01 +00:00
florian
51a249e0c5 no message 2004-05-24 21:27:30 +00:00
florian
dbd39b5f63 * removed 2004-05-24 20:35:28 +00:00
peter
9cab8ec422 * missing function result 2004-05-24 15:33:02 +00:00
florian
ddd4d8bbae no message 2004-05-23 14:14:43 +00:00
florian
17c92356a8 no message 2004-05-23 11:03:20 +00:00
florian
d3b67cb11d no message 2004-05-23 09:58:39 +00:00
peter
f34715d35c * 64bit fixes 2004-05-02 12:59:57 +00:00
peter
3d4e245aaa * 1.0.x only 2004-05-02 12:50:23 +00:00
olle
b564b4751f + added MacOS to SKIPTARGETS 2004-04-25 13:56:27 +00:00
florian
332d0c1ac3 * test for arm fixed 2004-03-30 20:39:10 +00:00
peter
739a37c29d * fix range check error with cardinal-longint 2004-03-29 14:28:40 +00:00