Commit Graph

1624 Commits

Author SHA1 Message Date
nickysn
df390b7950 * update fpcm/revision.inc
git-svn-id: trunk@35549 -
2017-03-09 15:28:52 +00:00
pierre
2805bc8500 Regenerated after: Remove obsolete packages/base and packages/extra in PACKAGESDIR variable
git-svn-id: trunk@35530 -
2017-03-06 10:30:53 +00:00
pierre
bd45a4ecfa Remove obsolete packages/base and packages/extra in PACKAGESDIR variable
git-svn-id: trunk@35529 -
2017-03-06 10:29:58 +00:00
michael
78e7f59982 * Patch from Mattias Gaertner
- external vars
    - untyped parameters
    - varargs
    - SetLength(s,len) is now converted to s.length=len
    - destructor now clears references
    - dynamic arrays now are never null.
      - anArr:=nil  becomes  anArr = []
      - anArr=nil becomes anArr.length==0
      - passing nil to an array parameter passes []
      - length(anArr) becomes anArr.length
      - High(anArr) becomes anArr.length-1
    - sets now uses references when assigning and passing to a parameter.
      Far less clone operations.

git-svn-id: trunk@35505 -
2017-03-01 17:41:16 +00:00
michael
0da38fd281 * Patch from Mattias Gaertner:
- local const: declare as local var in singleton parent function 
  - give procedure overloads in module unique names by appending $1, $2, ...
  - give nested procedure overloads unique names by appending $1, $2, ...
  - give reintroduced/overloaded class members unique names by appending $1, $2, ...
  - record operators = and <>
  - static arrays
    - range: enumtype
    - init as arr = rtl.arrayNewMultiDim([dim1,dim2,...],value)
    - init with expression from const array
    - length(1-dim array)
    - low(1-dim array), high(1-dim array)
  - property TargetProcessor
  - ECMAScript6:
    - use 0b for binary literals, and 0o for octal literals

git-svn-id: trunk@35491 -
2017-02-28 13:23:49 +00:00
florian
81c5d63d4e * do not generate var paras for void* if -w is used, resolves #31425
git-svn-id: trunk@35475 -
2017-02-23 22:03:46 +00:00
michael
2d36af85bb * Patch from Mattias Gaertner with various improvements:
+ changed varname/funcname properties to string, saving many conversion
  + array of record
  + pass by reference
    - pass local var to a var/out parameter
    - pass variable to a var/out parameter
    - pass reference to a var/out parameter
    - pass array element to a var/out parameter
  + proc types
    - implemented as immutable wrapper function
    - assign := nil, proctype (not clone), @function, @method
    - call  explicit and implicit
    - compare equal and notequal with nil, proctype, address, function
    - assigned(proctype)
    - pass as argument
    - methods
    - mode delphi: proctype:=proc
    - mode delphi: functype=funcresulttype
  + class-of
    - assign :=   nil, var
    - call class method
    - call constructor
    - operators =, <>
    - class var, property, method
    - Self in class method
    - typecast

git-svn-id: trunk@35472 -
2017-02-22 20:59:23 +00:00
michael
7702ebb261 * Patch from Mattias Gaertner; SetCharAt
git-svn-id: trunk@35429 -
2017-02-12 15:17:12 +00:00
joost
09f415dc81 * Refactored so that TFPCustomPackagesStructure has access to the (compiler-)options
git-svn-id: trunk@35427 -
2017-02-12 14:18:20 +00:00
michael
89c2d0a9dc * Fix AVs when no description nodes available
git-svn-id: trunk@35420 -
2017-02-11 10:10:59 +00:00
michael
f5b76b62fe * Patch from Mattias Gaertner:
- set operator functions
  - dyn array can be null

git-svn-id: trunk@35418 -
2017-02-10 23:26:14 +00:00
michael
eaa02f2f88 * Basic RTL for pas2js generated programs
git-svn-id: trunk@35384 -
2017-02-04 11:31:55 +00:00
michael
180b93b326 * JSON2pas command-line tool added
git-svn-id: trunk@35297 -
2017-01-14 10:22:16 +00:00
joost
b9f8c73198 * Replaced the global GFFppkg instance at some locations
git-svn-id: trunk@35211 -
2016-12-28 22:35:56 +00:00
marco
d2fe24ae20 * fix some more occured->occured
git-svn-id: trunk@35120 -
2016-12-13 12:55:32 +00:00
marcus
f426f8d225 Recreated fpcres Makefile (needed for arm-aros)
git-svn-id: trunk@34978 -
2016-11-27 10:56:56 +00:00
michael
629d8277da * Patch from Michalis Kamburelis to fix scanning of $ELSE (bug ID 31007)
git-svn-id: trunk@34965 -
2016-11-26 13:32:52 +00:00
yury
ed6d993008 * pas2jni: Proper boolean handling - jboolean must be 0/1.
git-svn-id: trunk@34954 -
2016-11-23 14:39:46 +00:00
yury
d5cc2e83cf * pas2jni: Use cthreads first.
git-svn-id: trunk@34953 -
2016-11-23 14:21:49 +00:00
yury
ea16dfdcf8 * pas2jni: Suppress false warnings in Java code.
git-svn-id: trunk@34952 -
2016-11-23 13:49:04 +00:00
yury
4dcc9de92f * pas2jni: More clean Java code for sets.
git-svn-id: trunk@34951 -
2016-11-23 13:33:35 +00:00
yury
565ad7f852 * pas2jni: Do not generate unneeded imports.
git-svn-id: trunk@34863 -
2016-11-10 15:43:13 +00:00
yury
78914d9b20 * pas2jni: Do not include array element types from arrays, which is not processed.
git-svn-id: trunk@34862 -
2016-11-10 14:39:58 +00:00
yury
78abcbd4ca * pas2jni: Improved support for interfaces. Proper typecasting of an object instance to an interface.
git-svn-id: trunk@34848 -
2016-11-08 14:43:52 +00:00
yury
d507456560 * pas2jni: Removed redundant ;.
git-svn-id: trunk@34845 -
2016-11-07 23:54:23 +00:00
yury
21234e413a * pas2jni: Fixed finalization of TP-style objects.
git-svn-id: trunk@34844 -
2016-11-07 23:30:40 +00:00
yury
3fd3ff9527 * pas2jni: Fixed double memory freeing when using method pointers in some rare cases.
git-svn-id: trunk@34843 -
2016-11-07 21:42:24 +00:00
yury
8e8521c43e * pas2jni: Fixed memory leaks when using inherited TP-style objects.
git-svn-id: trunk@34842 -
2016-11-07 21:19:17 +00:00
yury
d9e00bf43c * pas2jni: Use mswindows define instead of windows to be Delphi compatible.
git-svn-id: trunk@34841 -
2016-11-07 20:31:13 +00:00
yury
df95a73993 * pas2jni: Do not hard code record sizes in Java part. Instead get actual record sizes from the native code. It allows to use the same generated Java code for native libraries compiled for different CPU architectures.
git-svn-id: trunk@34840 -
2016-11-07 20:28:15 +00:00
pierre
686634d563 Regenerate Makefile with up-to-date fpcmake
git-svn-id: trunk@34831 -
2016-11-07 11:11:32 +00:00
florian
f4d1331bbe * fpcmake has been updated
git-svn-id: trunk@34812 -
2016-11-06 15:20:55 +00:00
Károly Balogh
7c1c964c28 arm-aros: enabled basic AROS on ARM build
git-svn-id: trunk@34811 -
2016-11-06 14:40:02 +00:00
marcus
86940dfb32 AROS: added arm-aros target to compiler and fpcmake
git-svn-id: trunk@34805 -
2016-11-06 10:51:45 +00:00
michael
e198d9bf06 * Patch from Graeme Geldenhuys to implement skip attribute in linear output writers (bug ID 30741)
git-svn-id: trunk@34752 -
2016-10-22 13:37:33 +00:00
michael
1552f34251 * Allow simple preprocessing of the project file using {{macro}} substitution. Needed for e.g. variable source dirs
git-svn-id: trunk@34749 -
2016-10-22 08:12:31 +00:00
joost
d08a747c29 * Create fppkg-config files in the new format (v5)
git-svn-id: trunk@34729 -
2016-10-16 15:43:27 +00:00
michael
1d16ecbf0d * Better detection of effective visibility of an element
git-svn-id: trunk@34694 -
2016-10-09 11:25:58 +00:00
michael
fd71e3193d * Do not write elements for default values
git-svn-id: trunk@34676 -
2016-10-08 19:05:07 +00:00
joost
295c274940 * Determine the path of the <currentdirectory> package within the
PackageStructure. Set it to the current-directory at application start.
   This because the creation of manifest files could change the current
   directory while scanning for packages.

git-svn-id: trunk@34670 -
2016-10-08 16:56:20 +00:00
joost
1d2dca50a9 * FindInstalledPackages nowadays scans for both compileroptions at once
git-svn-id: trunk@34669 -
2016-10-08 16:52:08 +00:00
joost
fde6b0b53b * Do not scan for available packages while checking for fpmkunit dependencies
because those scans could depend on compilation of the fpmkunit itself.
   For the same reason the the fpmkunit-dependencies are checked now before 
   the 'normal' scan for available/installed packages.

git-svn-id: trunk@34648 -
2016-10-07 21:27:25 +00:00
yury
26ffffa683 * pas2kni: Added Enum.equals(int) to the Java part.
git-svn-id: trunk@34634 -
2016-10-06 10:21:04 +00:00
Jonas Maebe
e5a1231931 * updated FSF address (mantis #30198, patch by Paul Gevers)
git-svn-id: trunk@34598 -
2016-10-02 12:56:59 +00:00
michael
a55c176bef * Patch from Mattias Gaertner: Record support, detect duplicate identifiers, bug fixes
git-svn-id: trunk@34520 -
2016-09-13 08:01:37 +00:00
joost
79d2d05c58 * Replaced the local- and global-repositories with a list of repositories.
A repository can contain installed or packages available for installation.
   The repositories have a helper-class that contains information about
   where the packages are installed and such. Things like installing a 
   package from the current-directory are done using temporary 'fake'
   repositories. The TpkgFPpkg-class keeps track of all repositories
   and packages.

git-svn-id: trunk@34503 -
2016-09-10 21:15:26 +00:00
michael
8ef43da4ee * Some improvements from yang jixian (bug ID 30270)
git-svn-id: trunk@34486 -
2016-09-10 17:21:43 +00:00
joost
9487b46b8a * Added new structure to hold the global options. The goal is to get rid
of all globals and to contain all fppkg-related stuff into this
   structure. So it will be easier to embed fppkg into other applications.

git-svn-id: trunk@34400 -
2016-08-30 20:09:34 +00:00
yury
6b25cef3ea * pas2jni: Reverted r34367 and mark undesired event handler creation "deprecated".
git-svn-id: trunk@34369 -
2016-08-22 13:12:19 +00:00
yury
e81cc4574f * pas2jni: Removed option to create event handler by passing Java method method name as a string. It is not safe, since the target method is treated as unused by Java and the method may be removed from the resulting application.
git-svn-id: trunk@34367 -
2016-08-22 10:13:45 +00:00