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 -
+ -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 -
- Bug fix in the template parser. Bug0012095
- Fixed: CGI applications did not create and populate contentfields (caused AV if someone
tried to access it) for the http request, both the query and content parameters were put
into the queryfields list
- Bug0012094 fix: CGI applications AllowDefaultModule=true did not work for Delphi style calls (it is ok
for querystring parameter passed module names)
- fptemplate.pp->TTemplateParser: Added support for template tag parameters.
git-svn-id: trunk@11747 -
* replace derefnode with resolveppuidx method that only needs to be
implemented for nodes referencing other nodes
* fix IE when a label is not defined in inline function
git-svn-id: trunk@11697 -
* handle function results correctly in life dfa
* handle for loops with at least one iteration better in life dfa
o resolves#8151
git-svn-id: trunk@11624 -
- added goption.inc with apropriate glib symbols
- added gincludes.inc which contains all other include files (similar to
gtk/gdk bindings and simlify inclusion into glib2.pas)
- checked/corrected all the .inc files and make them follow to template used in gtk/gdk (4 sections:
read_forward_definitions, read_interface_types, read_interface_rest, read_implementation)
- removed from most of .inc files unneeded comments that has been taken from original glib .h files. Some of
them were used by glib devels and others repeats official documentation.
git-svn-id: trunk@11617 -
instance reference (mantis 11896)
* fixed double destructor call in tests/test/cg/tcalcla1.pp which
caused an error after this change
git-svn-id: trunk@11599 -
interfaces, even if they only differ in resulttype (mantis #11862)
* fixing this required that multiple entries for the same method in a
interface vmt are all written out (change in
ImplementedInterface.AddImplProc)
git-svn-id: trunk@11595 -
release and patch level are always two digits so the version can
be compared numerically: so 2.2.2 results in 20202, resolves#11568
git-svn-id: trunk@11504 -
* testgen.pp - an utility to convert w3.org tests from XML format
into fpcunit-compatible Pascal source. The official testsuite uses
xslt for conversion, but, since there is no xslt for Pascal, and no
xslt support in FCL yet, I wrote an utility.
* api.xml - API 'database', needed by testgen.
* domunit.pp - an fpcunit extension, provides DOM-specific runtime
support.
* README_DOM - provides some instructions about putting it all together.
git-svn-id: trunk@11390 -
* record symtables are now handled properly as well if a record is copied, resolves#9144
* fixed a memory leak when copying classes
* increased PPU version to 91
git-svn-id: trunk@11273 -
to 0 or field_type(-1) (bug noted by Russell Davies on fpc-devel + his
test programs)
* fixed bit offset calculations for nested bitpacked record regvars
git-svn-id: trunk@11242 -
(and made it future proof in case the set format should change
again, as long as the size of all streamed sets is guaranteed
to be 4 bytes and if their packset setting is guaranteed to
be 0).
git-svn-id: trunk@11149 -
unit has been renamed ObjCRuntime, to avoid a name clash with the
the other Objective-C translation, and this unit is also not included
in the MacOSAll unit
* warning: the FPCMacOSAll unit is now called MacOSAll, to avoid requiring
ifdefs when keeping a program compilable between e.g. GPC and FPC
...
r211 | gale | 2008-03-19 07:41:36 +0100 (Wed, 19 Mar 2008) | 6 lines
Changed paths:
A /metaPascal/trunc/MPPInterfaces/CGLTypes.pas
A /metaPascal/trunc/MPPInterfaces/CVBase.pas
A /metaPascal/trunc/MPPInterfaces/CVBuffer.pas
A /metaPascal/trunc/MPPInterfaces/CVDisplayLink.pas
A /metaPascal/trunc/MPPInterfaces/CVHostTime.pas
A /metaPascal/trunc/MPPInterfaces/CVImageBuffer.pas
A /metaPascal/trunc/MPPInterfaces/CVPixelBuffer.pas
A /metaPascal/trunc/MPPInterfaces/CVPixelBufferPool.pas
A /metaPascal/trunc/MPPInterfaces/CVPixelFormatDescription.pas
A /metaPascal/trunc/MPPInterfaces/CVReturns.pas
Initial translations of CGLTypes.h, CVBase.h, CVBuffer.h, CVDisplayLink.h,
CVHostTime.h, CVImageBuffer.h, CVPixelBuffer.h, CVPixelBufferPool.h,
CVPixelFormatDescription.h, and CVReturn.h from MacOSX10.4u.sdk. To avoid a GPC
identifier redeclaration problem, Pascal unit and file name corresponding to
CVReturn.h uses a "s" suffix.
...
r212 | gale | 2008-03-19 09:55:13 +0100 (Wed, 19 Mar 2008) | 4 lines
Changed paths:
D /metaPascal/trunc/MPPInterfaces/CGDisplayFade.pas
A /metaPascal/trunc/MPPInterfaces/CGDisplayFades.pas (from /metaPascal/trunc/MPPInterfaces/CGDisplayFade.pas:210)
M /metaPascal/trunc/MPPInterfaces/CoreGraphics.pas
Renamed CGDisplayFade unit to CGDisplayFades to fix a GPC gpc-20070904
redeclaration issue involving the function CGDisplayFade. Also, updated the
CoreGraphics framework unit's uses clause to reflect the name change.
...
r213 | adriaan | 2008-03-25 09:37:06 +0100 (Tue, 25 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/fp.pas
Fix precision of pi
...
r214 | adriaan | 2008-03-25 09:50:48 +0100 (Tue, 25 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/Menus.pas
Fix byte parameter of GetMenuItemModifiers, SetMenuItemModifiers, GetMenuItemIconHandle and SetMenuItemIconHandle
...
r215 | adriaan | 2008-03-25 12:19:33 +0100 (Tue, 25 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Scripts/GenerateFile.pl
Use FourCharCode casts for FPC instead of hex numbers.
...
r216 | peter | 2008-03-25 14:20:20 +0100 (Tue, 25 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Makefile
M /metaPascal/trunc/Scripts/GenerateFile.pl
M /metaPascal/trunc/Scripts/GenerateMakefile.pl
M /metaPascal/trunc/Scripts/make-common-interfaces.pl
XXXMacOSAll -> MacOSAll
...
r217 | adriaan | 2008-03-25 17:52:07 +0100 (Tue, 25 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/CFByteOrders.pas
Fix the result type of CFConvertFloat64SwappedToHost and friends for GPC and MW
...
r218 | gale | 2008-03-26 04:15:58 +0100 (Wed, 26 Mar 2008) | 2 lines
Changed paths:
M /metaPascal/trunc/Scripts/GenerateFile.pl
Increment the GAP version number for tbe upcoming release.
...
r219 | adriaan | 2008-03-26 11:41:37 +0100 (Wed, 26 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/Events.pas
Change KeyMap to packed array of boolean for FPC. Solve GetKeys endian issue on PowerPC for FPC and GPC.
...
r220 | adriaan | 2008-03-26 12:19:19 +0100 (Wed, 26 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/fp.pas
Add pi=system.pi to fp.p for FPC
...
r221 | adriaan | 2008-03-26 12:41:27 +0100 (Wed, 26 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/Menus.pas
Fix GetItemMark and GetItemCmd for FPC and GPC
...
r222 | adriaan | 2008-03-26 16:42:53 +0100 (Wed, 26 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Scripts/GenerateMakefile.pl
Add support for: make GPC_COMPILER=xxx FPC_COMPILER=yyy compile
...
r223 | adriaan | 2008-03-30 17:25:57 +0200 (Sun, 30 Mar 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Scripts/GenerateFile.pl
Implement 'const var' for GPCt
...
r224 | adriaan | 2008-04-23 18:26:04 +0200 (Wed, 23 Apr 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/AIFF.pas
Rename ID in AIFF.pas to ChunkID
...
r225 | adriaan | 2008-04-23 18:34:38 +0200 (Wed, 23 Apr 2008) | 1 line
Changed paths:
A /metaPascal/trunc/MPPInterfaces/ObjC.pas
Add Objective-C Runtime ObjC.pas
...
r226 | adriaan | 2008-05-04 07:19:30 +0200 (Sun, 04 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/Files.pas
M /metaPascal/trunc/MPPInterfaces/Folders.pas
Introduce DirIDType = SInt32
...
r227 | adriaan | 2008-05-04 11:51:08 +0200 (Sun, 04 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/CFByteOrders.pas
M /metaPascal/trunc/MPPInterfaces/Events.pas
M /metaPascal/trunc/MPPInterfaces/Menus.pas
M /metaPascal/trunc/MPPInterfaces/ToolUtils.pas
Fix MW warnings for units with an implementation part
...
r228 | adriaan | 2008-05-05 09:13:10 +0200 (Mon, 05 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/FPCStrings.pas
Fix compile error in FPCStrings.pas
...
r229 | adriaan | 2008-05-05 09:34:13 +0200 (Mon, 05 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Scripts/GenerateMacOS.pl
Add GPCStrings.pas (aka FPCStrings.pas) to MacOS.pas
...
r230 | adriaan | 2008-05-06 12:30:18 +0200 (Tue, 06 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Scripts/GenerateFile.pl
Set GAP release version to 210 instead of 201
...
r232 | adriaan | 2008-05-07 09:09:30 +0200 (Wed, 07 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/Scripts/GenerateFile.pl
Fix GPC implemented procedures, functions and constants
...
r233 | adriaan | 2008-05-09 07:55:17 +0200 (Fri, 09 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/ObjC.pas
Add attribute(ignorable) to objc_msgSend(Super)
...
r234 | adriaan | 2008-05-16 21:09:52 +0200 (Fri, 16 May 2008) | 1 line
Changed paths:
M /metaPascal/trunc/MPPInterfaces/ObjC.pas
Remove FPC implemented functions that reference the ObjC runtime
...
git-svn-id: trunk@11137 -
delta for which 1.0 and 1.0+delta is different, rather than
some power-of-10 ballpark equivalent (fixes mantis #11308)
* print the same number of digits for doubles on systems
which support extended as on those which don't (i.e.,
one digit less on the former). This solves regressions after
the previous change and is Delphi-compatible.
* adapted tests for the previous change
git-svn-id: trunk@11025 -
* Changes for gba:
* Random number generator is now embedded in the rtl
* Improved heap
* Updated the linker script
- Removed the outdated gbaunits library and
+ replaced by libgbafpc package
git-svn-id: trunk@10986 -
for properly synchronizing regvars after loops. The absense of this
causes the crash in the test program of mantis #11290 under 2.2.1,
and while it doesn't crash under 2.3.1 due to differences in the
code generation, the bug could cause errors in other situations
here as well)
git-svn-id: trunk@10959 -
* 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 -
* Improved generic a_load_ref_reg_unaligned if ref alignment is 2.
* Improved unaligned load/store of register for ARM.
* It fixes passing records by value on ARM.
+ New test.
git-svn-id: trunk@10681 -
overloads in case there is only one variant parameter and
one of the candidates has more hidden parameters than the
other at the start (e.g. function(para):char and
function(para):shortstring, depending on in which order the
hidden shortstring result and para are processed, mantis
#11139)
git-svn-id: trunk@10643 -
* Added RegExprCompat unit which contains an interface to the Regex unit which is compatible with the existing RegExpr unit
* Added some more tests and added a define UseRegexCompat to make it possible to choose what regex-implementation to test. Test which fail on the existing regex-parser are placed between ifdefs
git-svn-id: trunk@10611 -
libraries on linux (mantis #6822)
* fixed execution of library finalization sections on darwin
(previously only the finalization section of the library
compilation unit itself was executed, now those of the units
used by the library are also executed)
git-svn-id: trunk@10554 -
(todo: at least solaris, maybe others)
* changed the "exports" section handling:
a) make everything private which is not exported (implemented for
darwin and linux)
b) for the exported symbols:
- functions/procedures
1) if no name or index is provided, and if the procedure has aliases
defined via the public/export directives, then export the default
mangled name and all defined aliases
2) otherwise if no name is specified (but there is an index) then
i) if the procedure is defined as cdecl/cppdecl/mwpascal, use the
appropriately mangled version of the function name
ii) otherwise export the name without any mangling(e.g. "exports
proc1" -> proc1 is the exported name)
- variables
1) if no name is provided and the variable was specified as cvar,
use the mangled name
2) otherwise if no name is provided, export the name without any
mangling
-> initialization/finalization of shared libraries under Linux works
again (mantis #7838)
-> sharing symbols between shared library and main program works
under Linux (mantis #9089)
git-svn-id: trunk@10551 -
size must happen without any mangling of the value (mantis #11027)
* moved checking for signed-to-unsigned (or vice versa) type
conversions in assignments from htypechk to ncnv (where there
was already code for similar checks) and added support for
bool_to_bool there as well
git-svn-id: trunk@10521 -
when linked to FPC-compiled programs under linux/i386 which
do not use libc + test (mantis #8730). Programs which do use
libc and other linux targets have to be fixed in a similar
way until we properly fix everything by not exporting
any symbols at all from shared libraries by default (and
only those appearing in the "exports" section).
Finalisation does not work yet either for FPC-compiled
programs on linux/anything.
git-svn-id: trunk@10495 -
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources
........
r9694 | michael | 2008-01-09 21:31:18 +0100 (Wed, 09 Jan 2008) | 1 line
* Initial check-in
........
r9695 | michael | 2008-01-09 21:35:58 +0100 (Wed, 09 Jan 2008) | 1 line
* New version from Giulio Bernardi
........
r9697 | michael | 2008-01-09 21:41:54 +0100 (Wed, 09 Jan 2008) | 1 line
* Patch from Giulio Bernardi with resource support
........
r9698 | michael | 2008-01-09 21:46:33 +0100 (Wed, 09 Jan 2008) | 1 line
* Patch from Giulio Bernardi to add more resource testing
........
r9699 | michael | 2008-01-09 21:57:26 +0100 (Wed, 09 Jan 2008) | 1 line
* New tool from Giulio Bernardi
........
r9700 | michael | 2008-01-09 21:58:23 +0100 (Wed, 09 Jan 2008) | 1 line
* New tool from Giulio Bernardi
........
r9701 | michael | 2008-01-09 22:01:54 +0100 (Wed, 09 Jan 2008) | 1 line
* Added fcl-res
........
r9702 | michael | 2008-01-09 22:01:58 +0100 (Wed, 09 Jan 2008) | 1 line
* Added fcl-res
........
r9703 | michael | 2008-01-10 08:54:26 +0100 (Thu, 10 Jan 2008) | 1 line
* Fixed double code
........
r9704 | jonas | 2008-01-10 10:59:20 +0100 (Thu, 10 Jan 2008) | 2 lines
- removed duplicate code
........
r9705 | jonas | 2008-01-10 11:25:21 +0100 (Thu, 10 Jan 2008) | 2 lines
+ added missing fcl-res dependencies
........
r9706 | jonas | 2008-01-10 11:58:30 +0100 (Thu, 10 Jan 2008) | 2 lines
+ dependencies for fpintres and fpextres
........
r9707 | yury | 2008-01-10 12:47:51 +0100 (Thu, 10 Jan 2008) | 3 lines
* Fixed compilation of resource, which is included in a unit located in different folder than main source.
* .res files must be copied to units output folder, otherwise .res files will not be found when only compiled units path is available and compiler does not know anything about sources folder.
* Improved resource related error messages.
........
r9708 | michael | 2008-01-10 12:52:13 +0100 (Thu, 10 Jan 2008) | 1 line
* Removed double source after end.
........
r9709 | michael | 2008-01-10 12:52:48 +0100 (Thu, 10 Jan 2008) | 1 line
* No longer needed
........
r9710 | tom_at_work | 2008-01-10 22:09:08 +0100 (Thu, 10 Jan 2008) | 1 line
* properly align FPC_RESLOCATION so that linking does not fail on some architectures (e.g. ppc64)
........
r9711 | tom_at_work | 2008-01-10 23:53:12 +0100 (Thu, 10 Jan 2008) | 1 line
* fix splitting of 64 bit load/stores from/to unaligned memory locations into multiple load/stores, which in some cases generated wrong code
........
r9712 | michael | 2008-01-11 11:00:08 +0100 (Fri, 11 Jan 2008) | 1 line
* Fixed bug in BSS section on 64-bit platforms
........
r9720 | giulio | 2008-01-12 10:02:04 +0100 (Sat, 12 Jan 2008) | 1 line
Updated fcl-res documentation: occurrences of reslib changed to fcl-res.
........
r9740 | giulio | 2008-01-13 19:36:44 +0100 (Sun, 13 Jan 2008) | 3 lines
- Don't try to compile resources on systems with a non windows-like resource support.
- Don't add the .or file to the list of object files if resource compiling failed.
........
r10201 | giulio | 2008-02-04 11:35:44 +0100 (Mon, 04 Feb 2008) | 5 lines
* resource compiling supported on OS/2 via wrc
* CompileResourceFiles and CollectResourceFiles don't do target-specific checks anymore
* refactored a bit
........
r10389 | giulio | 2008-02-25 21:32:52 +0100 (Mon, 25 Feb 2008) | 2 lines
Deleted test file which was committed by mistake
........
r10472 | giulio | 2008-03-10 12:22:18 +0100 (Mon, 10 Mar 2008) | 2 lines
changed define FPC_HAS_RESOURCES to FPC_HAS_WINLIKERESOURCES
........
git-svn-id: trunk@10481 -
equal to sinttype (Delphi-compatible, fixes#10966)
* changed not(cardinal_constant) into sinttype on 64 bit
platforms for consistency with other similar rules (and with
the above change)
git-svn-id: trunk@10455 -
it doesn't have to duplicate any type checking code, and so constant
expressions get the same resultdefs as non-constant expressions
* properly fixed resultdef determination of "set + setelementn" (follows
same rules now as "set + set")
* also convert "longint or/xor cardinal" to int64 (needed for correct
results with negative numbers and Delphi-compatible) + test
* extended 64-to-32 type conversion simplification to also handle
or/xor nodes (so if the result is typecasted back to 32 bit, the
evaluation can still be done entirely in 32 bit). These changes also
enable that optimization in some extra cases (not just anymore for
expressions containing only uint32)
git-svn-id: trunk@10418 -
the code using {$pascalmainname x} + storing it in the ppu file
(and give a warning if it's overridden multiple times + test)
git-svn-id: trunk@10406 -
entry/exit (mantis #10897)
* fixed tinterface2 which crashed after this change. It also crashed under
Kylix: you cannot assign the result of an interfaced class to a class
instance variable and then use it both as an interface (refcounted) and
as class (non-refcounted)
git-svn-id: trunk@10405 -