Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Florian Klaempfl
Am 13.09.2010 14:51, schrieb Willibald Krenn:
 
 Well, it's the Delphi way of creating a new type rather than an 
 alias.
 
 Since they are still assignment compatible, I don't consider it as
 a really new type.
 
 Are you sure they are assignment compatible? 

I don't have a delphi here, but I'am pretty sure, yes.

 I thought the whole
 point of the type A = type B was to make a new type, not an alias.

Well, the point is to be able to overload procedures/functions. They are
no more equal but compatible.

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] FPC/Lazarus Rebuild performance

2010-09-14 Thread Hans-Peter Diettrich

Florian Klämpfl schrieb:


This is a very specific example which allows to explain rather simple
the slowness of 2.x: The reason is a decision geared by maintainability
and portability: 2.x uses a so-called graph colouring register allocator
while 1.x used a pretty simple register allocator specifically tailored
for i386.


Shouldn't we make the register allocator configurable, so that e.g. 
non-release builds can become faster, and several replacements can be 
tested easily?


The same for other parts of the compiler, where the time-per-task is the 
first information required to detect real bottlenecks, and to check 
alternative solutions.


DoDi

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Dimitri Smits

- Sven Barth pascaldra...@googlemail.com schreef:

 Am 13.09.2010 14:46, schrieb Dimitri Smits:
  as said before, inspiration can be had from how they do it, but that
 doesn't mean fpc should do it that way. Especially in a crossplatform
 context, and more so cross-architecture, it is not a one-size fits all
 per se.
 
 Basically the package system needs the following:
 
 - The ability to import/export functions, procedures AND variables
 from 
 binaries (although export from shared library only should be 
 sufficient). This works on Windows, but on Linux I had problems.
 - The ability to declare init and finit procedures for shared images.
 
 This works on Windows with the entry point and on Linux with special 
 symbols. I don't know about the other platforms.
 - The ability to add the init/finit entries (which call the unit 
 initialization/finalization sections) uniquely to the shared RTL and 
 execute them. This is of yet a todo as it means a bit of work in the
 RTL.
 
 The first two points must be provided by the platform/OS while the
 third 
 one is defined by us (at best as the same for all platforms).
 
 
 What would you do different/better then the Delphi developers when 
 implementing such a package system in a crossplatform way?
 I can't imagine currently what should be done additonally, but that 
 might be because I don't use every feature that FPC provides. So
 please 
 share your ideas. :)

a few cleanups and improvements I'd sneak in are due to the fact that 
Delphi comes as a whole: VCL and compiler are distributed. Building for a 
version is building that version.

FPC and it's close companion Lazarus are not like that. Compiler is released a 
few times a year (?), IDE and visual componentset are separate. There is not 
really a maximum requirement for what compiler you use to build the IDE and 
components. There is sometimes a minimum version requirement.

DLL-hell is bigger, I know. However, take for instance LCL 1.0. 
(LCL-win32-1.0_fpc2.4.fpl ?) The requires could take just LCL-win32-1.0 as 
package name and rtl. 

Another thing I'd place inside the packageinfo is the compiler with which the 
package was build (for runtime checking). I do not believe that a version like 
2.4.2 should contain other EABI/RTTI or even as worse: other interfaces. They 
are bugfixes (?).

So 2.4.0 can work with 2.4.2 packages.

Also, some packageinfo+unittableentry stuff is less than optimal in alignment 
with the shortstrings iso pchar? Something I've found bizarre with Delphi 7 
RTTI in typeinfo as well. 

Every unit has a local tunitinfo block generated:

tunitinfo=record
  ...
  unitname: shortstring;
end;

punitinfo=^tunitinfo;

tunittableentry=record
  init, finit: pointer;
  unitinfo: Punitinfo;
  typecount: cardinal;
  unittypes: pptypeinfo; // array[0..typecount-1] of ptypeinfo for all the 
types in interface  implementation
end;

Every package/exe(!)/library(!) has a packageinfo table with all the contained 
(implicitly/explicitly) units in order (like now) of dependencies containing a 
link like punittableentry. Yes, the executable is a package too!

Another thing is what to do with weak packages or what with if you include 
this unit first in your project, then it will be initialized after system... 
for instance a memorymanager-swap? Packages and the used/described 
register-init order implies that when you use a memory manager like that, a lot 
of memory can have been allocated during init of units using the default 
manager before a swap happens.

one can mediate that a bit if one can indicate the order of build with 
runtimepackages and if rtl contains no units that allocate memory 
(direct/indirect) in their init sections.

So, working further on the register packages first, then initialize in order 
doctrine, one can make the above records and especially the unittableentries 
and/or table as a doubly linked list. But that is just an idea.

I'm gonna stop here, because packages entail ofcourse a lot more than RTTI or 
dll generation/ini/fini. This is just the top of the iceberg.

kind regards
Dimitri Smits
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Comparison Delphi7/FPC2.4.0 compiled MSEide exe's

2010-09-14 Thread Florian Klaempfl
Am 13.09.2010 17:10, schrieb Dimitri Smits:
 
 - Florian Klaempfl flor...@freepascal.org schreef:
 
 Am 13.09.2010 13:47, schrieb Martin Schreiber:
 On Monday, 13. September 2010 13.24:18 Florian Klaempfl wrote:
 Am 13.09.2010 11:15, schrieb Martin Schreiber:
  Delphi 7   FPC
 Exe size: 3131392 3689304
 Code: 2128524 2138240
 Data:  752085 1541256

 Do you use a lot of resource strings?

 I can not use resource strings because FPC resource strings are not
 unicode 
 capable AFAIK.
 In MSEgui there are many local classdefs in the form of 
 
 type
  ttheclass1 = class(ttheclass);
 
 in order to access protected class members 

 This should not create any additional data.
 
 not even rtti-related and vmt-surrounding-data?

Should be smartlinked aways if the class is not used.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Florian Klaempfl
Am 14.09.2010 01:26, schrieb Willibald Krenn:
 
 [lots of useful information snipped]
 - The ability to import/export functions, procedures AND variables
 from binaries (although export from shared library only should be
 sufficient). This works on Windows, but on Linux I had problems.
 
 Packages also export/import RTTI, ClassVars, types, all the
 initialization/finalization code for each unit
 (@packageun...@initialization$qqrv ..), compiler magic functions, and
 some other stuff like
 @packa...@initialization$qqrv
 @Package1@@PackageUnload$qqrv
 @Package1@@PackageLoad$qqrv
 @Package1@@GetPackageInfoTable$qqrv
 Finalize
 Initialize
 @GetPackageInfoTable

Since this is also exported by static libs, the main issue is to create
proper exports in shared libs (including dlls).
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Fatal: Internal error 200111022

2010-09-14 Thread Florian Klaempfl
Am 14.09.2010 01:13, schrieb Leonardo M. Ramé:
 Hi, does anyone knows what the error Fatal: Internal error 200111022 means?.
 

Something happened which should not happen ;) Looks like an error with
overloading. Can you create a cut down example?
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] FPC/Lazarus Rebuild performance

2010-09-14 Thread Hans-Peter Diettrich

Florian Klämpfl schrieb:


Anyways, before this ends in an endless discussion: if anybody is
interested in improving FPC compilation speed (for my needs is
sufficient) and have a look at fillchar


IMO not FillChar is the bottleneck, instead it's the access to newly 
allocated memory in/around InitInstance, resulting in page faults.


DoDi

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Comparison Delphi7/FPC2.4.0 compiled MSEide exe's

2010-09-14 Thread Dimitri Smits

- Florian Klaempfl flor...@freepascal.org schreef:

 Am 13.09.2010 13:47, schrieb Martin Schreiber:
  On Monday, 13. September 2010 13.24:18 Florian Klaempfl wrote:
  Am 13.09.2010 11:15, schrieb Martin Schreiber:
   Delphi 7   FPC
  Exe size: 3131392 3689304
  Code: 2128524 2138240
  Data:  752085 1541256
 
  Do you use a lot of resource strings?
  
  I can not use resource strings because FPC resource strings are not
 unicode 
  capable AFAIK.
  In MSEgui there are many local classdefs in the form of 
  
  type
   ttheclass1 = class(ttheclass);
  
  in order to access protected class members 
 
 This should not create any additional data.

not even rtti-related and vmt-surrounding-data?

kind regards,
Dimitri Smits
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Willibald Krenn


[lots of useful information snipped]
- The ability to import/export functions, procedures AND variables from 
binaries (although export from shared library only should be 
sufficient). This works on Windows, but on Linux I had problems.


Packages also export/import RTTI, ClassVars, types, all the 
initialization/finalization code for each unit 
(@packageun...@initialization$qqrv ..), compiler magic functions, and 
some other stuff like

@packa...@initialization$qqrv
@Package1@@PackageUnload$qqrv
@Package1@@PackageLoad$qqrv
@Package1@@GetPackageInfoTable$qqrv
Finalize
Initialize
@GetPackageInfoTable

[...]
What would you do different/better then the Delphi developers when 
implementing such a package system in a crossplatform way?


Packages worked quite well under Delphi and Kylix. :)

Willi
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] [patch] pscanner: differentiate between EOL Tab characters from general Whitespace

2010-09-14 Thread Darius Blaszyk
On Sat, 2010-08-28 at 22:51 +0300, Žilvinas Ledas wrote:
 Tried sample project today. Some a comment and a question:
 1) I have a strange error when the same file is modified twice (and 
 afterwards restored twice). One is:
I'm looking at this issue atm. As soon as I have a definite solution I will 
commit.

 2) Where should I write comments/bug reports for fpprofiler?
Please put up a bug report in mantis and assign it to me. I have updated SVN 
with all 
patches Graeme has sent me, so we should use this from now on.

I have also create a separate wiki page:
http://wiki.freepascal.org/fpprofiler. Feel free to add screen shots and
more information.

Regards, Darius

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Willibald Krenn

Sven Barth schrieb:
[snip]
In theory(!) it should be rather simple to implement shared cross 
platform packages (those that are loaded on app startup by the OS and 
not dynamically during the run).


Thanks for the hints! They are very welcome.

Cheers,
 Willi
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Comparison Delphi7/FPC2.4.0 compiled MSEide exe's

2010-09-14 Thread Graeme Geldenhuys
Op 2010-09-13 14:34, Daniël Mantione het geskryf:
 
 Please don't turn this discussion into a UTF-8 versus UCS-2/UTF-16 
 debate.

I had no such intension. I guess I was simply stating the obvious - that
FPC resourcestrings might have issue with other Unicode formats (which
wouldn't surprise me), but that it does work with UTF-8 strings (luckily).
Then again, even with UTF-8, FPC still fails in many Unicode areas (as
expected since it doesn't support Unicode - contrary to what Martin says) -
like locale variables that require more that 1 byte of space.



Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Problems with makefiles, fpcmake, Package.fpc and fppkg

2010-09-14 Thread Joost van der Sluis
On Mon, 2010-09-13 at 09:03 +0200, Michael Van Canneyt wrote:
 
 On Sun, 12 Sep 2010, Joost van der Sluis wrote:
 
  Hi all,
 
  Seems like that after all these years there are still bugs in fpc's
  makefiles...
 
  When you install a package, not the Package.fpc which is generated for
  the whole package, but the Package.fpc generated for the last
  sub-package is installed into
  xxx/version/units/target/packagename.
 
  Normally not really a problem, but fppkg uses these files to resolve
  dependencies. But the dependencies of the sub-package could be different
  from the dependencies of the main package.
 
  Example: when you do 'make install' in fcl-web, a Package.fpc will be
  installed without the dependency on fcl-db. (In fact a Package.fpc made
  for jsonrpc is installed, which doesn't depend on fcl-db)
 
  The result is that if you have fcl-web installed using fpcmake, and you
  want to install some other package using fpmake that depends on fcl-web,
  that will fail.
 
  Shall I submit a bug-report for fpcmake with a request to use the proper
  Package.fpc file?
 
 No, in no case.

I think we should.

 The whole idea of fppkg  fpmake is to get totally rid of fpcmake. 
 Your proposal implies its continued use.

We need it to make a smooth transition. As long as people have packages
installed using the fpcmake-makefiles (which is as long as released
fpc-versions still use this system, which bill be a long time...), we
need this backward-compatibility. 

 I think that fpmake should output the proper dependencies based on the
 dependencies specified in it. This output can be written to Package.fpc.
 (although I don't understand why it is in a Package.fpc, dependencies
 should be in the central package repository)

If you use fpmake to install a package, a file named 'fpunits.conf' is
created. In that case everything works.

But fpcmake creates a file named Package.cfg. When fpmake can't find a
file named 'fpunits.conf', it searches and uses the Package.cfg file. If
this file contains the wrong information, fpmake can't process the
installed packages all right.

This is about installed packages, which maybe could not even exist in
the central repository. The 'local' repository is nothing more than the
sum of all fpunits.conf and Package.fpc files.

The problem I have now is that I want to add package that depends in
fcl-web. Most users have fcl-web installed using the fpcmake-system.
(That's after all what we use by default) When you try to install this
package depending on fcl-web, it won't detect the dependency on fcl-db,
since the Package.fpc from fcl-web is invalid. So you can't build this
new package.

So as long as this problem isn't fixed in fpcmake, we can't use fpmake
for packages which are installed using fpcmake. Iow: we can't make
package which have dependencies on any package which comes with Free
Pascal. (As long as we don't switch to fpmake entirely)

So in principle your statement is right: fixing this will lead to a
(long) period that both systems can be used at the same time. But I
doubt that forcing a transition at once, will lead to a faster
acceptance of fpmake.  ;)

Joost

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Comparison Delphi7/FPC2.4.0 compiled MSEide exe's

2010-09-14 Thread Jonas Maebe


On 14 Sep 2010, at 17:23, Martin Schreiber wrote:


The classes are used for example by

with ttheclass1(theclassinstance) do begin
end;



Using a class means sending a class message to it, or using the class  
type as a first class entity in the program (e.g. x is classtype). A  
typecast can be handled completely at compile time (unless you compile  
with -CR, in which case above will be translated into with  
(theclassinstance as ttheclass1) do begin and hence the class type  
will becomes a first class entity; but you cannot do that anyway when  
using class crackers since the as-operation would throw an error).



Jonas
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Comparison Delphi7/FPC2.4.0 compiled MSEide exe's

2010-09-14 Thread Martin Schreiber
On Tuesday, 14. September 2010 17.00:02 Florian Klaempfl wrote:
  In MSEgui there are many local classdefs in the form of
  
  type
   ttheclass1 = class(ttheclass);
  
  in order to access protected class members
 
  This should not create any additional data.
 
  not even rtti-related and vmt-surrounding-data?

 Should be smartlinked aways if the class is not used.

The classes are used for example by

 with ttheclass1(theclassinstance) do begin
 end;


On 9/14/10, Florian Klaempfl flor...@freepascal.org wrote:
 Am 13.09.2010 17:10, schrieb Dimitri Smits:

 - Florian Klaempfl flor...@freepascal.org schreef:

 Am 13.09.2010 13:47, schrieb Martin Schreiber:
 On Monday, 13. September 2010 13.24:18 Florian Klaempfl wrote:
 Am 13.09.2010 11:15, schrieb Martin Schreiber:
  Delphi 7   FPC
 Exe size: 3131392 3689304
 Code: 2128524 2138240
 Data:  752085 1541256

 Do you use a lot of resource strings?

 I can not use resource strings because FPC resource strings are not
 unicode
 capable AFAIK.
 In MSEgui there are many local classdefs in the form of
 
 type
  ttheclass1 = class(ttheclass);
 
 in order to access protected class members

 This should not create any additional data.

 not even rtti-related and vmt-surrounding-data?

 Should be smartlinked aways if the class is not used.
 ___
 fpc-devel maillist  -  fpc-devel@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-devel

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] [patch] pscanner: differentiate between EOL Tab characters from general Whitespace

2010-09-14 Thread Darius Blaszyk
On Mon, 2010-09-13 at 23:31 +0200, Darius Blaszyk wrote:
 On Sat, 2010-08-28 at 22:51 +0300, Žilvinas Ledas wrote:
  Tried sample project today. Some a comment and a question:
  1) I have a strange error when the same file is modified twice (and 
  afterwards restored twice). One is:
 I'm looking at this issue atm. As soon as I have a definite solution I will 
 commit.
 
fixed in rev2491

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Problems with makefiles, fpcmake, Package.fpc and fppkg

2010-09-14 Thread Michael Van Canneyt



On Mon, 13 Sep 2010, Joost van der Sluis wrote:



So as long as this problem isn't fixed in fpcmake, we can't use fpmake
for packages which are installed using fpcmake. Iow: we can't make
package which have dependencies on any package which comes with Free
Pascal. (As long as we don't switch to fpmake entirely)

So in principle your statement is right: fixing this will lead to a
(long) period that both systems can be used at the same time. But I
doubt that forcing a transition at once, will lead to a faster
acceptance of fpmake.  ;)


If handled right, I don't see why not. 
I doubt many users are aware of the Package.fpc and fpcmake.


But since you'll be doing the work, who am I to complain ? :-)

Michael.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Fatal: Internal error 200111022

2010-09-14 Thread Leonardo M . Ramé
Sorry Florian, the error happened trying to compile some auto-generated code 
with wrong property assignments, with overloaded setters. It's fixed now.

Leonardo M. Ramé
http://leonardorame.blogspot.com


--- On Tue, 9/14/10, Florian Klaempfl flor...@freepascal.org wrote:

 From: Florian Klaempfl flor...@freepascal.org
 Subject: Re: [fpc-devel] Fatal: Internal error 200111022
 To: FPC developers' list fpc-devel@lists.freepascal.org
 Date: Tuesday, September 14, 2010, 12:04 PM
 Am 14.09.2010 01:13, schrieb Leonardo
 M. Ramé:
  Hi, does anyone knows what the error Fatal: Internal
 error 200111022 means?.
  
 
 Something happened which should not happen ;) Looks like an
 error with
 overloading. Can you create a cut down example?
 ___
 fpc-devel maillist  -  fpc-devel@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-devel
 



___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Problems with makefiles, fpcmake, Package.fpc and fppkg

2010-09-14 Thread Joost van der Sluis
On Tue, 2010-09-14 at 18:53 +0200, Michael Van Canneyt wrote:
 
 On Mon, 13 Sep 2010, Joost van der Sluis wrote:
 
 
  So as long as this problem isn't fixed in fpcmake, we can't use fpmake
  for packages which are installed using fpcmake. Iow: we can't make
  package which have dependencies on any package which comes with Free
  Pascal. (As long as we don't switch to fpmake entirely)
 
  So in principle your statement is right: fixing this will lead to a
  (long) period that both systems can be used at the same time. But I
  doubt that forcing a transition at once, will lead to a faster
  acceptance of fpmake.  ;)
 
 If handled right, I don't see why not. 
 I doubt many users are aware of the Package.fpc and fpcmake.

Yeah, well, on second thought. Maybe you're right. See what happens if I
change the makefile from one package...

 But since you'll be doing the work, who am I to complain ? :-)

Well, in this case you would have to help me fixing fpcmake. But I'll
try to go for the big bang.

Joost.

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Fatal: Internal error 200111022

2010-09-14 Thread Florian Klämpfl
Am 14.09.2010 19:39, schrieb Leonardo M. Ramé:
 Sorry Florian, the error happened trying to compile some auto-generated code 
 with wrong property assignments, with overloaded setters. It's fixed now.

In FPC or your code?

 
 Leonardo M. Ramé
 http://leonardorame.blogspot.com
 
 
 --- On Tue, 9/14/10, Florian Klaempfl flor...@freepascal.org wrote:
 
 From: Florian Klaempfl flor...@freepascal.org
 Subject: Re: [fpc-devel] Fatal: Internal error 200111022
 To: FPC developers' list fpc-devel@lists.freepascal.org
 Date: Tuesday, September 14, 2010, 12:04 PM
 Am 14.09.2010 01:13, schrieb Leonardo
 M. Ramé:
 Hi, does anyone knows what the error Fatal: Internal
 error 200111022 means?.


 Something happened which should not happen ;) Looks like an
 error with
 overloading. Can you create a cut down example?
 ___
 fpc-devel maillist  -  fpc-devel@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-devel

 
 
   
 ___
 fpc-devel maillist  -  fpc-devel@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-devel
 

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Fatal: Internal error 200111022

2010-09-14 Thread Leonardo M . Ramé
My code, don't worry.


Leonardo M. Ramé
http://leonardorame.blogspot.com


--- On Tue, 9/14/10, Florian Klämpfl flor...@freepascal.org wrote:

 From: Florian Klämpfl flor...@freepascal.org
 Subject: Re: [fpc-devel] Fatal: Internal error 200111022
 To: FPC developers' list fpc-devel@lists.freepascal.org
 Date: Tuesday, September 14, 2010, 4:01 PM
 Am 14.09.2010 19:39, schrieb Leonardo
 M. Ramé:
  Sorry Florian, the error happened trying to compile
 some auto-generated code with wrong property assignments,
 with overloaded setters. It's fixed now.
 
 In FPC or your code?
 
  
  Leonardo M. Ramé
  http://leonardorame.blogspot.com
  
  
  --- On Tue, 9/14/10, Florian Klaempfl flor...@freepascal.org
 wrote:
  
  From: Florian Klaempfl flor...@freepascal.org
  Subject: Re: [fpc-devel] Fatal: Internal error
 200111022
  To: FPC developers' list fpc-devel@lists.freepascal.org
  Date: Tuesday, September 14, 2010, 12:04 PM
  Am 14.09.2010 01:13, schrieb Leonardo
  M. Ramé:
  Hi, does anyone knows what the error Fatal:
 Internal
  error 200111022 means?.
 
 
  Something happened which should not happen ;)
 Looks like an
  error with
  overloading. Can you create a cut down example?
  ___
  fpc-devel maillist  -  fpc-devel@lists.freepascal.org
  http://lists.freepascal.org/mailman/listinfo/fpc-devel
 
  
  
        
  ___
  fpc-devel maillist  -  fpc-devel@lists.freepascal.org
  http://lists.freepascal.org/mailman/listinfo/fpc-devel
  
 
 ___
 fpc-devel maillist  -  fpc-devel@lists.freepascal.org
 http://lists.freepascal.org/mailman/listinfo/fpc-devel
 



___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Fatal: Internal error 200111022

2010-09-14 Thread Florian Klämpfl
Am 14.09.2010 21:31, schrieb Leonardo M. Ramé:
 My code, don't worry.

Well, I worry because no code to compile should be able to trigger an
internal error.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Sven Barth

Am 14.09.2010 01:26, schrieb Willibald Krenn:


[lots of useful information snipped]

- The ability to import/export functions, procedures AND variables
from binaries (although export from shared library only should be
sufficient). This works on Windows, but on Linux I had problems.


Packages also export/import RTTI, ClassVars, types, all the
initialization/finalization code for each unit
(@packageun...@initialization$qqrv ..), compiler magic functions, and
some other stuff like
@packa...@initialization$qqrv
@Package1@@PackageUnload$qqrv
@Package1@@PackageLoad$qqrv
@Package1@@GetPackageInfoTable$qqrv
Finalize
Initialize
@GetPackageInfoTable


Bascially everything that a Package exports is either a 
function/procedure or a variable. But currently the package code of FPC 
only exports functions and procedures, but no variables, so you miss the 
important variables of the RTL which are needed to generate a working 
package version of the RTL.


Regards,
Sven
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Problems with makefiles, fpcmake, Package.fpc and fppkg

2010-09-14 Thread Michael Van Canneyt



On Tue, 14 Sep 2010, Joost van der Sluis wrote:


On Tue, 2010-09-14 at 18:53 +0200, Michael Van Canneyt wrote:


On Mon, 13 Sep 2010, Joost van der Sluis wrote:



So as long as this problem isn't fixed in fpcmake, we can't use fpmake
for packages which are installed using fpcmake. Iow: we can't make
package which have dependencies on any package which comes with Free
Pascal. (As long as we don't switch to fpmake entirely)

So in principle your statement is right: fixing this will lead to a
(long) period that both systems can be used at the same time. But I
doubt that forcing a transition at once, will lead to a faster
acceptance of fpmake.  ;)


If handled right, I don't see why not.
I doubt many users are aware of the Package.fpc and fpcmake.


Yeah, well, on second thought. Maybe you're right. See what happens if I
change the makefile from one package...


But since you'll be doing the work, who am I to complain ? :-)


Well, in this case you would have to help me fixing fpcmake. But I'll
try to go for the big bang.


I'll be glad to test things for you with fpmake/fppkg, just give me
specific things you want tested.

Michael.
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Packages, Generics

2010-09-14 Thread Paulo Costa

On 13/09/2010 14:16, Florian Klaempfl wrote:

Am 13.09.2010 14:51, schrieb Willibald Krenn:



Well, it's the Delphi way of creating a new type rather than an
alias.


Since they are still assignment compatible, I don't consider it as
a really new type.


Are you sure they are assignment compatible?


I don't have a delphi here, but I'am pretty sure, yes.


It works that way.

The following snippet compiles and gives the expected result in D7

type TMyInteger = type Integer;

procedure TForm1.FormCreate(Sender: TObject);
var my: TMyInteger;
notmy: integer;
begin
  my := 10;
  notmy := my;
  showmessage(inttostr(notmy));
  showmessage(inttostr(my));
end;

Paulo Costa
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel