Re: [fpc-pascal] Division by Zero - not raised exception
On Wednesday 19 April 2006 16:32, L505 wrote: I didn't say pure pascal programmers with no other skills. Of course you didn't say *that*. But it still sounds like you are very focused on language skills. Language skills are much less important than people usually think. most pascal programmers know databases, Assembly, and C. They also usually know at least one scripting language such as PHP. It is *not* about knowing a language (or two, or more). Knowing about stones won't give you the ability to build a house. Unfortunately most people in the software business seem to think it does. It doesn't. It's that simple. Software development is not about *where* to put this or that statement, it is much more about the *why*: In the end it's math, logic and abstraction (among some others). A particular language is just one way to express those. Of course, having some knowledge helps to get a project started, but this is too short-term thinking. I even learned by observation that having knowledge (especially about C-like languages) actually seems to hurt. And hell, I practically learned Java in a couple of days. Anything else from that point on consists in looking up the documentation on which class I may need. Well, I don't consider being able to successfully scan a telephon book for a particalur name a special skill. I just expect people to be bright enough to do *that*. Are my expectations set way too high here? I plan to hire/pay Pascal programmers at some point for future commercial projects. Who will I hire? Probably the folks that have worked with me on open source projects before. Yes, that might be a good start. But you miss the main point: that these people showed motivation and you may even be able to judge their general software-engineering abilities (how they designed their projects, modularized it, how they managed it, etc.pp). Any specific language skills are just /not/ important, believe. Of course, the willingness to do it in a different language might be. Regards, Vinzent. -- Yet a warning is nothing more than the compiler, which knows far more about the language than most of us, saying hey, you're scaring me, man. -- Jack Ganssle, Embedded Muse 129 ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
2006/4/20, Vinzent Hoefler [EMAIL PROTECTED]: On Wednesday 19 April 2006 16:32, L505 wrote: I didn't say pure pascal programmers with no other skills. Of course you didn't say *that*. But it still sounds like you are very focused on language skills. Language skills are much less important than people usually think. I totally agree that software design and abstraction of the logic concepts are vital and most important to make the difference between a good programmer/analyst and a poor one. This is a must and even if you know or not a language you will be good or not at doing amazing software and software architecture. It is like being an architect. But for the language part, I find it very important too. Maybe a little bit more that you do. I'm not fluent in English, but in French yes. I think in French, I abstract in French, I do jokes in French, I talk to people in French, I do poems and play on words in French; and I understand others doing the same thing. But in English this is not the case. I know enought to express myself with limitations. Yet, I could have amazing ideas, idioms, jokes, but be completely unable to express it or communication it in English, or in the spirit of the language. Translating a joke is almost impossible. This example being said, An architect also knowing massonery will be much better than a simple architect or a simple masson. He will understand both and be very much effective in his task. C was my first language, but I must say that Pascal is my native language in computer programming. I'm able to abstract and do pretty good software design; but when I try to put that in other languages, I'm limmited or it is impossible to apply the design with the actual langauge. So when I know i'll code in Pascal, my design will be very much improved. I already know of what I'm talking about when I design the software. I can almost see the source in my head. I know the language capabilities and limmitations. Etc. Well, it was only my point of view on the interresting point you have raised. (Still, I totally agree with you, except that language is also important. It will make the difference between two candidates with the same software design / abstraction skills and personality in the team. Best regards. -- Alexandre Leclerc ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
If you can't find jobs out there that use Pascal then you have to be really brave and start your own business and start hiring people with Pascal skills. Yeah right. Sorry to bring that up again, but if I would do that I would never hire people that claim to have such specialized skills. What is I didn't say pure pascal programmers with no other skills. most pascal programmers know databases, Assembly, and C. They also usually know at least one scripting language such as PHP. needed are people who can actually engineer software and that particular skill has nothing to do with language skills (of course, if all else fails, I'd rather hire a Pascal guy than a There *are* other languages than C?-guy, because the Pascal guy might grasp the concepts much easier). I plan to hire/pay Pascal programmers at some point for future commercial projects. Who will I hire? Probably the folks that have worked with me on open source projects before. If not hiring per hour - I mean contract jobs too. Or people who I've found helpful on a mailing list. People even get jobs by visiting wiki's.. a few people have gotten jobs off c2 wiki and others. It's all about networking isn't it? Lots of linux guru's get hired off by microsoft simply by starting up yet another linux distribution. (sorry to the fellow at gentoo, who now does not work for microsoft). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Comparing FPC and Delphi: was Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: FPC can be comparable with command line compiler of Delphi 7. Yes? So Delphi has multi platform support and has maintainable compiler sources? Multi platform support was not an issue here. O, you were not comparing to fpc (from www.freepascal.org)? Because that compiler *is* multi-platform and therefore had to trade something (memory and/or speed). You may argue that the trade of has been done badly, but you cannot ignore it. Vincent. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: FPC can be comparable with command line compiler of Delphi 7. Yes? So Delphi has multi platform support and has maintainable compiler sources? Multi platform support was not an issue here. No? Most of fpc's complexity is caused by this. Just compare the speed and memory requirements of 1.0.x and 2.0.x. The multi processor platform support causes a lot of the complexity in 2.0.x. It seems that all previously produced compiled code left in memory, even if It seems but it isn't the case :) Helpful information would be exact cause. So you use older memory than edo-simms? Even more, SD-RAM is no issue and iirc SD is used for almost 10 years. Some months ago, I bought edo simms for an ~10 year old machine which couldn't be replaced and it was no problem to get the memory modules. EDO is more museum exponat and price is 10 times larger than the same memory size SD-RAM. The used memory is one module 128MB SD-RAM (PC100). I've manage to found only one 256MB module available on market with price of 50Euro, but only incompatible PC133. No, PC133 is backwards compatible. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
EDO is more museum exponat and price is 10 times larger than the same memory size SD-RAM. The used memory is one module 128MB SD-RAM (PC100). I've manage to found only one 256MB module available on market with price of 50Euro, but only incompatible PC133. No, PC133 is backwards compatible. It's not. There are a lot of PC100 machines that don't accept PC133. I know one mainbord for sure (and a common one) Asus P5A-B. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Marco van de Voort wrote: EDO is more museum exponat and price is 10 times larger than the same memory size SD-RAM. The used memory is one module 128MB SD-RAM (PC100). I've manage to found only one 256MB module available on market with price of 50Euro, but only incompatible PC133. No, PC133 is backwards compatible. It's not. There are a lot of PC100 machines that don't accept PC133. I know one mainbord for sure (and a common one) Asus P5A-B. Then the memory module has a wrong eeprom, usually it works if the memory module has a correct programmed eeprom. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
On 18 apr 2006, at 03:38, Sasa Zeman wrote: It seem that you missunderstood. As a developer, I'm not interested in looking FPC code nor tracking future plans (details are alse never published, only future plans), but using it to create working applications. In that case, you cannot make any sort of demands or set our priorities. You can voice your opinion of course (which you did), but it is just as insulting to expect us to make your concerns our highest priority and to explain in detail the inner workings of the compiler without you willing to make any efforts, in particular since you do not intend to actually help everyone that uses the compiler (with patches) with that knowledge. From that point of view it is non-logocal and even insolting : Please stop asking for pathetic requirements. Especially for things where you don't know where you are talking about and therefor without in-depth analyses where things could be improved. Or If you want to work with development code i think it is better to find out it yourself what is going wrong. - especially that bugs in 2.0.2 require using development code... Afaik the main reason you use 2.1.1 is for the internal linker, not because of bugs in 2.0.2. The internal linker is not a bugfix, it's a new feature. Since I testing FPC and Lazarus, I'm intersting in using it. However, FPC and Lazarus currently cannot be competition to Delphi/Kylix. But the most important advantages are daily updates and upgrades and we hope it will become worthy competitor one day. You forgot to add for my environment and purpose at the end of that last sentence. And stay OpenSource, in which I doubt if Delphi discontinue. Even if we would want to (and we don't, no matter how hard it may be for you to believe that), we could not make FPC suddenly closed source. It contains contributions from tens of people. We would have to track down and contact every single one of them, and convince all of them to transfer their copyright to us or to sign some contract before we could change the license of the compiler, rtl and pretty much all of the source distributed with FPC. It's similar with Lazarus. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Marco van de Voort wrote: EDO is more museum exponat and price is 10 times larger than the same memory size SD-RAM. The used memory is one module 128MB SD-RAM (PC100). I've manage to found only one 256MB module available on market with price of 50Euro, but only incompatible PC133. No, PC133 is backwards compatible. It's not. There are a lot of PC100 machines that don't accept PC133. I know one mainbord for sure (and a common one) Asus P5A-B. Then the memory module has a wrong eeprom, usually it works if the memory module has a correct programmed eeprom. I tested quite a lot of dimms. It was the mobo, not the DIMM It didn't even accept _only_ one PC133 dimm. The memory ran fine in other 100MHz bus computers. (both were K6-2's, one early (K6-300), the other later (K6-500)) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Marco van de Voort wrote: Marco van de Voort wrote: EDO is more museum exponat and price is 10 times larger than the same memory size SD-RAM. The used memory is one module 128MB SD-RAM (PC100). I've manage to found only one 256MB module available on market with price of 50Euro, but only incompatible PC133. No, PC133 is backwards compatible. It's not. There are a lot of PC100 machines that don't accept PC133. I know one mainbord for sure (and a common one) Asus P5A-B. Then the memory module has a wrong eeprom, usually it works if the memory module has a correct programmed eeprom. I tested quite a lot of dimms. It was the mobo, not the DIMM It didn't even accept _only_ one PC133 dimm. The memory ran fine in other 100MHz bus computers. (both were K6-2's, one early (K6-300), the other later (K6-500)) Ok, that's a border case then ;) Usually it works :) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
In that case, you cannot make any sort of demands or set our priorities. You can voice your opinion of course (which you did), but Please do not mis-interprete. I'm aware that any meber of FPC can be a bit more sensitive, but that is not a reson for inpropriate behavior instead of cultural argue, providing fact why specific suggestion can or cannot be incorporate. Unfortunately, it only indicate something else... With free and opensource product you made a trade with voluniers and users to make a reliable and popular product, based on your own (i.e, FPC team) vision and user's requests. I can suggest features which suits to my own needs (declared as a priority to me regarding type of applications I create) and see it is suitable to be incorporate as a general benefit. Then I would have elements to decide to using it or not. Nothing wrong nor insulting I can see. This is obvious and I consider was not needed to be explained (obviously wrong assumption). Once agin, I suggest to be precise on main page what you expect from members of this mailing list. Afaik the main reason you use 2.1.1 is for the internal linker, not because of bugs in 2.0.2. The internal linker is not a bugfix, it's a new feature. The main reason is #4922, as is mentioned already. Internal linker is tested to be used instead of problematic LD on current environmet. Even if we would want to (and we don't, no matter how hard it may be for you to believe that), we could not make FPC suddenly closed source. It contains contributions from tens of people. We would have It is highly unlikely that any project will stay OpenSource and free of charge forever. As example is popular RedHat where worked 100s, maybe 1000s of people (volonitiers and contributers). It become commercial since v 8.0. What is achived is commercial OS with minimum developer costs. In short, It is business decision non-sence that when commercial oportunity become real, simply ignoring it regarding foundation basis license. to track down and contact every single one of them, and convince all of them to transfer their copyright to us or to sign some contract before we could change the license of the compiler, rtl and pretty much all of the source distributed with FPC. If FreePascal founders are registrated as a company, contract would have legitimity in the law, otherwise will not. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
On 18 apr 2006, at 12:49, Sasa Zeman wrote: With free and opensource product you made a trade with voluniers and users to make a reliable and popular product, based on your own (i.e, FPC team) vision and user's requests. I can suggest features which suits to my own needs (declared as a priority to me regarding type of applications I create) and see it is suitable to be incorporate as a general benefit. Then I would have elements to decide to using it or not. Nothing wrong nor insulting I can see. This is obvious and I consider was not needed to be explained (obviously wrong assumption). The problem was when you kept insisting that the compiler wastes memory and should be optimized (with a target of 128MB physical memory for Lazarus + the compiler), while you (by your own admission) have no idea at all about how the compiler is built and also have no interest in spending time on learning about that. This is insulting because it suggests that the people actually working on the compiler don't know what they are talking about, since you contradict them without even feeling the need of proving your point (and in fact ask from the other people to explain/prove to you that the compiler is not wasting memory). Once agin, I suggest to be precise on main page what you expect from members of this mailing list. We don't expect anything in particular. This list is to ask questions about problems you may have with using the compiler. Or If you want to work with development code i think it is better to find out it yourself what is going wrong. - especially that bugs in 2.0.2 require using development code... Afaik the main reason you use 2.1.1 is for the internal linker, not because of bugs in 2.0.2. The internal linker is not a bugfix, it's a new feature. The main reason is #4922, as is mentioned already. That does not force you to work with experimental features such as the undocumented internal linker. Even if we would want to (and we don't, no matter how hard it may be for you to believe that), we could not make FPC suddenly closed source. It contains contributions from tens of people. We would have It is highly unlikely that any project will stay OpenSource and free of charge forever. As example is popular RedHat where worked 100s, maybe 1000s of people (volonitiers and contributers). It become commercial since v 8.0. Everything which was open source/Free Softwar is still open source/ Free Software. They cannot change anything about that. They created some add-on programs, but the main thing you pay for is commercial grade support, not the software. In that respect, any addition to the compiler has to remain GPL. So the only thing which could become closed would be something like a new IDE or so. And the only thing we could ask money for is services (e.g. prioritization of bug handling or the implementation of new features and support). In fact, anyone could already offer such services now, for free or for money, without owing us a dime. And we wouldn't mind at all, since it would only help FPC getting better. What is achived is commercial OS with minimum developer costs. In short, It is business decision non-sence that when commercial oportunity become real, simply ignoring it regarding foundation basis license. Unless you have no interest at all in providing commercial grade support, because it's just a hobby and you want to be free regarding how much time you spend on it, on what you spend it. to track down and contact every single one of them, and convince all of them to transfer their copyright to us or to sign some contract before we could change the license of the compiler, rtl and pretty much all of the source distributed with FPC. If FreePascal founders are registrated as a company, contract would have legitimity in the law, otherwise will not. This is completely separate from the fact that we would have to convince all those people to actually sign such a contract. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
The problem was when you kept insisting that the compiler wastes memory and should be optimized (with a target of 128MB physical Please read all carfully, you mis-interpreting whole thing again. If you want more developers in the team, simply yes or not is not enough. Explain how else to know more fact about current implementation without reading source and waste time on this. On that way I may want to look in the code and try to find way to optimize the process. You and Vreman constantly close the circle (dead loop). In any event, you cannot say that compiler and linker algorithm is optimized enough for each platform. You also keep to ignore insulting and insinuations wrote here. If this is a way to prevent any suggestion and problem reporting, this mailing list should be declared for developer only. That does not force you to work with experimental features such as the undocumented internal linker. That is not the point here. Please read Peter Vreman's and my own posts carfully again. Unless you have no interest at all in providing commercial grade support, because it's just a hobby and you want to be free regarding how much time you spend on it, on what you spend it. Unless you calculate number od Delphi developer world wide. I doubt that anyone will skip the lucruative oportunity. And I doubt any contributor will work just for credit, except perhaps students or retirement people. This is completely separate from the fact that we would have to convince all those people to actually sign such a contract. That is the law - any unvalid document is worthless. Contributor have all right to requre fee after licence changing and without valid contract, this is just another Perpetuum mobile... In any event, we will see in the near future what will happend. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
HI, I think that we all agree now and we should close this thread. Alain On Tue, 2006-04-18 at 16:04 +0200, Sasa Zeman wrote: The problem was when you kept insisting that the compiler wastes memory and should be optimized (with a target of 128MB physical Please read all carfully, you mis-interpreting whole thing again. If you want more developers in the team, simply yes or not is not enough. Explain how else to know more fact about current implementation without reading source and waste time on this. On that way I may want to look in the code and try to find way to optimize the process. You and Vreman constantly close the circle (dead loop). In any event, you cannot say that compiler and linker algorithm is optimized enough for each platform. You also keep to ignore insulting and insinuations wrote here. If this is a way to prevent any suggestion and problem reporting, this mailing list should be declared for developer only. That does not force you to work with experimental features such as the undocumented internal linker. That is not the point here. Please read Peter Vreman's and my own posts carfully again. Unless you have no interest at all in providing commercial grade support, because it's just a hobby and you want to be free regarding how much time you spend on it, on what you spend it. Unless you calculate number od Delphi developer world wide. I doubt that anyone will skip the lucruative oportunity. And I doubt any contributor will work just for credit, except perhaps students or retirement people. This is completely separate from the fact that we would have to convince all those people to actually sign such a contract. That is the law - any unvalid document is worthless. Contributor have all right to requre fee after licence changing and without valid contract, this is just another Perpetuum mobile... In any event, we will see in the near future what will happend. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
On Tuesday 18 April 2006 17:24, L505 wrote: sense to me.). Or maybe you mean a foundation, like a non-profit organization? Obviously FPC is not out for profit, but out to help the developer. So I can see a non-profit organization working - but this would mean that FPC team would spend more time on things like Accounting, Lawyers, etc. Look how free software foundation is spending time hiring lawyers and etc. for their foundation. Not to mention that a foundation only works with funding, which means money. Especially when we're talking about hiring lawyers. Trust me. :-) And I don't think that there is awful lot of that where we are from. it a better compiler. I'm sure lots of people rely on GCC and PHP at their jobs every day - and this helps make it better because it must be high quality at work, higher quality than just hobby. Well, well. A lot of people rely on Java on the job and it didn't get better yet, did it? ;- I use FPC for some of my work (websites, misc tools), but not experienced enough to be a development team member yet. And I do not have the time because of work. (Sorry, and yes, I'm still looking at the DOS stuff from time to time. But currently there's absolutely no chance here...) I'm guessing there are a few others that use FPC in their real jobs. Yes. But that's just circumstantial luck. The decision between Grab 120'000 lines of C++ and grab 70'000 lines of Turbo Pascal and make it work on a decent system was mine to take. If you can't find jobs out there that use Pascal then you have to be really brave and start your own business and start hiring people with Pascal skills. Yeah right. Sorry to bring that up again, but if I would do that I would never hire people that claim to have such specialized skills. What is needed are people who can actually engineer software and that particular skill has nothing to do with language skills (of course, if all else fails, I'd rather hire a Pascal guy than a There *are* other languages than C?-guy, because the Pascal guy might grasp the concepts much easier). How to balance a clash of free vs open vs closed vs commercial? I'd vote for open source. And you can sell it, basic argumentation goes like this: Even if we are out of business for some reason, you still have the source code.. Regards, Vinzent. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Definition in documentation (RTL.pdf): 29.20 EDivByZero 29.20.1 Description EDivByZero is used when the operating system or CPU signals a division by zero error. ... and since these are handled by the compiler for constants, when running the user program, the CPU will never see it. So it should either not compile, or have the current behaviour, but a EDivByZero will never happen, since this is not calculated runtime. Far I can see, the core of the problem is in definiton of Infinity constant as 1.0/0.0 and NaN with ln(-1.0) or 0.0/0.0 Perhaps this is necessary to avoid problem with probably difference between different CPU/FPUs. It is done for Delphi compat as florian already said ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
hint. Since 1/0=Inf is IEEE compliant, it's no real error. If people really want an error, they can create their own error msg file making the hint an error. Unfortunatelly, this is a major problem with specific environment and type of application... :-( In this case, I consider it is much productively to concentrate on optimization of internal linker as well as compiler for computers with small phisical memory (=128MB on Windows). Compiler, as well as internal linker currently consume over 80MB each for simples Lazarus application. I think even _if_ there is a focus on getting the memusage down (and there is, it is one of the internal linkers objectives), it should be more to let Lazarus perform optimally with say 512-1024MB memory, and not to try to squeeze it into sub 128 MB. That would be counterproductive. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Regarding division problem. Florian was precise in explanation (suggested to be part of documentation). I think even _if_ there is a focus on getting the memusage down (and there is, it is one of the internal linkers objectives), it should be more to let Lazarus perform optimally with say 512-1024MB memory, and not to try to squeeze it into sub 128 MB. That would be counterproductive. Inside total phisical memory of 128MB, Delphi compililation is very fast. That mean that process of compilation is optimized to work with available phisical memory (at least under 128MB). The same is case with command line compiler (dcc32). I doubt it is contra-productive, on the contrary. Any attempt to work with swapfile lead to enormous performance decreasing, which is currently case. During building Lazarus, peak of used memory by comiler is over 85MB. As well, 192MB of minimum reserved virtual memory by Windows is often too small. All indicate that optimization of the compiling and internal linking process should be one of the top priority. In my opinion, FPC and Lazarus can try to ratioinally use available resources, not to force developers or company to buy new hardware. Note that many companies still work with relatively old hardware and they are not willing for further investments (often mean replacement old hardware with new). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: Regarding division problem. Florian was precise in explanation (suggested to be part of documentation). I think even _if_ there is a focus on getting the memusage down (and there is, it is one of the internal linkers objectives), it should be more to let Lazarus perform optimally with say 512-1024MB memory, and not to try to squeeze it into sub 128 MB. That would be counterproductive. Inside total phisical memory of 128MB, Delphi compililation is very fast. That mean that process of compilation is optimized to work with available phisical memory (at least under 128MB). The same is case with command line compiler (dcc32). I doubt it is contra-productive, on the contrary. It is probably: it seems that delphi compiler source is completely unmaintainable and unportable else they would have developed it much faster. Any attempt to work with swapfile lead to enormous performance decreasing, which is currently case. During building Lazarus, peak of used memory by compiler is over 85MB. As well, 192MB of minimum reserved virtual memory by Windows is often too small. All indicate that optimization of the compiling and internal linking process should be one of the top priority. Today, 1 GB of RAM cost 70 Eur, the 256 MB necessary for usable fpc are at 20 Eur, so memory usage has no real priority anymore for the current fpc developers. Since we have limited time, maintainability has highest priority followed by portability and speed. In my opinion, FPC and Lazarus can try to ratioinally use available resources, not to force developers or company to buy new hardware. Note that many companies still work with relatively old hardware and they are not willing for further investments (often mean replacement old hardware with new). Then they have to spent time into optimizing fpc regarding memory usage ;) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
On 17 Apr 2006, at 16:52, Sasa Zeman wrote: Inside total phisical memory of 128MB, Delphi compililation is very fast. That mean that process of compilation is optimized to work with available phisical memory (at least under 128MB). It may simply be that for some reason, Delphi requires less memory and doesn't reach 128 MB when compiling your project. The same is case with command line compiler (dcc32). I doubt it is contra-productive, on the contrary. Any attempt to work with swapfile lead to enormous performance decreasing, which is currently case. What Marco probably meant is that rewriting the compiler and Lazarus to work together with less than 128MB of RAM would be a lot of work, which would negatively impact work on other areas and maybe also reduce the ability to further extend and maintain the compiler and Lazarus. In my opinion, FPC and Lazarus can try to ratioinally use available resources, not to force developers or company to buy new hardware. Note that many companies still work with relatively old hardware and they are not willing for further investments (often mean replacement old hardware with new). FPC and Lazarus are each developed by a handful of people in their spare time, supports 6 different cpu architectures (i386, x86-64, ppc32, ppc64, arm, sparc32) and a ton of different OS'es (all of which also require some compiler support). Maintainability and extensibility are therefore much more important than memory usage and speed, although we aren't bad at all on those counts, especially if you compare FPC with C or C++ compilers. There are no places in the compiler where we are allocating memory just for the heck of it, and we also regularly check the compiler for memory leaks. And when we see places where things can be done in a more efficient way, we do change them. But a target of max 120 MB memory usage for IDE + compiler + linker is quite something different. Jonas ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Lazarus perform optimally with say 512-1024MB memory, and not to try to squeeze it into sub 128 MB. That would be counterproductive. Inside total phisical memory of 128MB, Delphi compililation is very fast. Not in a modern version. It won't even start probably. The point however is, those delphi versions stem from times where memory was scarse, and a lot of effort went into optimizing memory usage. If we would try to match that, uncompromisingly, with Free Pascal, we would have to put nearly everything else on hold. That is not sane. That mean that process of compilation is optimized to work awith available phisical memory (at least under 128MB). The same is case with command line compiler (dcc32). I doubt it is contra-productive, on the contrary. Any attempt to work with swapfile lead to enormous performance decreasing, which is currently case. The point is that 128MB simply is an arbitrary border. And IMHO not realistic in this day and age. During building Lazarus, peak of used memory by comiler is over 85MB. As well, 192MB of minimum reserved virtual memory by Windows is often too small. All indicate that optimization of the compiling and internal linking process should be one of the top priority. Yes, but for maximal throughput on a normal system and memory amount. Not some arbitrary antique one that Delphi4 or 5 had to deal with. In my opinion, FPC and Lazarus can try to ratioinally use available resources There you hit the core of the problem: You can't reliably detect the available _physical_ memory under most OSes. So you have to just take a CPU/mem point and optimize for that, and the user must make that available or live with the consequences. not to force developers or company to buy new hardware. That is one way to say it. The other way is just buy new memory to avoid FPC developers have to spend disproportionate amounts of time to keep the software running with very old systems. Keep also in mind when the branch where this development is done reaches the ordinary release-using users, we are at least one, maybe two years further. How many of those old machines will still be running then? Note that many companies still work with relatively old hardware and they are not willing for further investments (often mean replacement old hardware with new). Companies that can't afford 256MB extra in a developer machine, are effectively already bankrupt. Even outside the USA and Western Europe. Note that for Visual Studio and Delphi (current versions), 2GB is considered normal. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Am Montag, den 17.04.2006, 16:52 +0200 schrieb Sasa Zeman: Regarding division problem. Florian was precise in explanation (suggested to be part of documentation). I think even _if_ there is a focus on getting the memusage down (and there is, it is one of the internal linkers objectives), it should be more to let Lazarus perform optimally with say 512-1024MB memory, and not to try to squeeze it into sub 128 MB. That would be counterproductive. Inside total phisical memory of 128MB, Delphi compililation is very fast. That mean that process of compilation is optimized to work with available phisical memory (at least under 128MB). The same is case with command line compiler (dcc32). I doubt it is contra-productive, on the contrary. Any attempt to work with swapfile lead to enormous performance decreasing, which is currently case. That's one reason why development machines should have adequate hardware. Another is the need of running many multiple processes (IDE, target program, debugger, browser or the like for reading docs, ...). In my opinion, FPC and Lazarus can try to ratioinally use available resources, not to force developers or company to buy new hardware. Note that many companies still work with relatively old hardware and they are not willing for further investments (often mean replacement old hardware with new). If you're talking of commercially working companies, you're wrong. If a company is not willing to buy some more memory at least but is wasting the time of the programmers, this company is doing something wrong. The monthly fee of one programmer should be enough to buy a couple of well equipped machines once, bored programmers are paid again and again. And if a company has such big need for having fpc work their way, this company is free to do some sponsoring. ;) SCNR, Marc ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
I think even _if_ there is a focus on getting the memusage down (and there is, it is one of the internal linkers objectives), it should be more to let Lazarus perform optimally with say 512-1024MB memory, and not to try to squeeze it into sub 128 MB. That would be counterproductive. Inside total phisical memory of 128MB, Delphi compililation is very fast. That mean that process of compilation is optimized to work with available phisical memory (at least under 128MB). The same is case with command line compiler (dcc32). I doubt it is contra-productive, on the contrary. Any attempt to work with swapfile lead to enormous performance decreasing, which is currently case. During building Lazarus, peak of used memory by comiler is over 85MB. As well, 192MB of minimum reserved virtual memory by Windows is often too small. All indicate that optimization of the compiling and internal linking process should be one of the top priority. In my opinion, FPC and Lazarus can try to ratioinally use available resources, not to force developers or company to buy new hardware. Note that IMHO you should already be happy with the internal linker because you are now able to create a smartlinked lazarus without requiring 1+ GB of memory. Please stop asking for pathetic requirements. Especially for things where you don't know where you are talking about and therefor without in-depth analyses where things could be improved. Peter ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
IMHO you should already be happy with the internal linker because you are now able to create a smartlinked lazarus without requiring 1+ GB of memory. FPC and Lazarus are just testing alternatives. Comparing FPC performance of internal linker with Delphi's or with external LD, I found no reason use it on current environment. Please stop asking for pathetic requirements. Especially for things where you don't know where you are talking about and therefor without in-depth analyses where things could be improved. Please define patetic requirements... I find this very inpropriate and quite insolting. Keep in mind that I'm not in FPC developer team nor I'm interested. Nor I have a time for code analysis, as already mentioned. Exceptioin that all people need to read 1000s lines of code is not realistic to wrote suggestions by your FPC team project vision. My goal is to use software which is suitable to produce working application on specifically used environment and from that naturaly comes suggestions may or my not be suitable for the project. Nobody force you or anyone else to accept it. I did expected here an academical answer, raised from any banal insoltings. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Not in a modern version. It won't even start probably. FPC can be comparable with command line compiler of Delphi 7. D2005-6 compile C/C++ (CBuilder) code among other features raise complexity, which are not FPC tasks. If we would try to match that, uncompromisingly, with Free Pascal, we would have to put nearly everything else on hold. That is not sane. It seems that all previously produced compiled code left in memory, even if it is not needed anymore. If that is true, small reorganization may be helpful. That is one way to say it. The other way is just buy new memory to avoid FPC developers have to spend disproportionate amounts of time to keep the software running with very old systems. Older comuters use memory type is not available anymore, which force replacing all hardware. Extra cost $750-1500 per developer. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: Not in a modern version. It won't even start probably. FPC can be comparable with command line compiler of Delphi 7. Yes? So Delphi has multi platform support and has maintainable compiler sources? D2005-6 compile C/C++ (CBuilder) code among other features raise complexity, which are not FPC tasks. If we would try to match that, uncompromisingly, with Free Pascal, we would have to put nearly everything else on hold. That is not sane. It seems that all previously produced compiled code left in memory, even if It seems but it isn't the case :) it is not needed anymore. If that is true, small reorganization may be helpful. That is one way to say it. The other way is just buy new memory to avoid FPC developers have to spend disproportionate amounts of time to keep the software running with very old systems. Older comuters use memory type is not available anymore, So you use older memory than edo-simms? Even more, SD-RAM is no issue and iirc SD is used for almost 10 years. Some months ago, I bought edo simms for an ~10 year old machine which couldn't be replaced and it was no problem to get the memory modules. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: Keep in mind that I'm not in FPC developer team nor I'm interested. Please keep in mind that FPC/Lazarus is OSS and that it lives from it's user's contributions. If you don't like the idea of OSS, better stay with Delphi and hope that it survives :) ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Please keep in mind that FPC/Lazarus is OSS and that it lives from it's user's contributions. It seem that you missunderstood. As a developer, I'm not interested in looking FPC code nor tracking future plans (details are alse never published, only future plans), but using it to create working applications. From that point of view it is non-logocal and even insolting : Please stop asking for pathetic requirements. Especially for things where you don't know where you are talking about and therefor without in-depth analyses where things could be improved. Or If you want to work with development code i think it is better to find out it yourself what is going wrong. - especially that bugs in 2.0.2 require using development code... This mailing list is for FPC developers only? Please clarify and update information on main mailing-list page. If you don't like the idea of OSS, better stay with Delphi and hope that it survives :) Since I testing FPC and Lazarus, I'm intersting in using it. However, FPC and Lazarus currently cannot be competition to Delphi/Kylix. But the most important advantages are daily updates and upgrades and we hope it will become worthy competitor one day. And stay OpenSource, in which I doubt if Delphi discontinue. Good luck. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
FPC can be comparable with command line compiler of Delphi 7. Yes? So Delphi has multi platform support and has maintainable compiler sources? Multi platform support was not an issue here. It seems that all previously produced compiled code left in memory, even if It seems but it isn't the case :) Helpful information would be exact cause. So you use older memory than edo-simms? Even more, SD-RAM is no issue and iirc SD is used for almost 10 years. Some months ago, I bought edo simms for an ~10 year old machine which couldn't be replaced and it was no problem to get the memory modules. EDO is more museum exponat and price is 10 times larger than the same memory size SD-RAM. The used memory is one module 128MB SD-RAM (PC100). I've manage to found only one 256MB module available on market with price of 50Euro, but only incompatible PC133. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: FPC 2.0.2 do not rasie exception on integer/floats division by Zero, which is suitable for calucaltion I currently developing. Instead, division return infinity: writeln(1/0) - +inf writeln(1.0/0) - +inf Already fixed. Unfortunatelly, bug still persists when division is performed with constants. Please take a look bug report #5018 for details. We don't consider this as a bug, it's for delphi compatibility reasons. These expressions are evaluated at compile time, so it's something differnt. If you want to get an error, compile with -Cr. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
We don't consider this as a bug, it's for delphi compatibility reasons. These expressions are evaluated at compile time, so it's something differnt. If you want to get an error, compile with -Cr. The -Cr will point on error in the code, however, enabling range checking will also affect on global speed performance. Definition in documentation (RTL.pdf): 29.20 EDivByZero 29.20.1 Description EDivByZero is used when the operating system or CPU signals a division by zero error. As defined, reported issue is a bug. As well globaly, in consistency terms. Far I can see, the core of the problem is in definiton of Infinity constant as 1.0/0.0 and NaN with ln(-1.0) or 0.0/0.0 Perhaps this is necessary to avoid problem with probably difference between different CPU/FPUs. However, IEEE specification should be followed by all of them and bits manipulation to perform infinity should be enough, instead to calculate it (as is performed currently). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: We don't consider this as a bug, it's for delphi compatibility reasons. These expressions are evaluated at compile time, so it's something differnt. If you want to get an error, compile with -Cr. The -Cr will point on error in the code, however, enabling range checking will also affect on global speed performance. The program won't compile with -Cr. Definition in documentation (RTL.pdf): 29.20 EDivByZero 29.20.1 Description EDivByZero is used when the operating system or CPU signals a division by zero error. As defined, reported issue is a bug. As well globaly, in consistency terms. ... operating system or CPU ... but not the compiler ;) The point is: this div by zero is encountered at compilation time. The other option is to stop compilation always. Executing the operation at run time is useless imo and a waste of CPU cycles. Far I can see, the core of the problem is in definiton of Infinity constant as 1.0/0.0 and NaN with ln(-1.0) or 0.0/0.0 No. These constants are defined in const blocks. A const block couldn't throw an exception. Perhaps this is necessary to avoid problem with probably difference between different CPU/FPUs. However, IEEE specification should be followed by all of them and bits manipulation to perform infinity should be enough, instead to calculate it (as is performed currently). ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
The program won't compile with -Cr. Program with -Cr will compile and link if all is correct. Eventually range check error compiler can predict, will stop compilation as usually. Otherwise, program itself will check range on each attemp to work with arrays or calculations, which is clearly waste of time. ... operating system or CPU ... but not the compiler ;) ... As well globaly, in consistency terms. I can not see reasonability of different threaded division by zero by CPU/FPU or compiler. Delphi have several inconveniently basically solved problems, among of which is this one. Handling by inheritance Delphi solution in FPC mode is unfortunate. The point is: this div by zero is encountered at compilation time. The other option is to stop compilation always. Executing the operation at run time is useless imo and a waste of CPU cycles. No. These constants are defined in const blocks. A const block couldn't throw an exception. Even better. In compilation time, if compiler detect division by zero with constants it should stop compilation - by default, without any switch. I can not see reason to be threaded differently. In that case there is no problems: 'Writeln (1.0/0.0)' or 'a:=a*b+1/0' and similar constructions should be threaded by default. It is mathematical nosence continuing calculating ratinals - during complex calculations, simple error will lead to infinity result instead to simply stop during compilation and show the error. I see no problem in implementation. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: The program won't compile with -Cr. Program with -Cr will compile and link if all is correct. Eventually range check error compiler can predict, will stop compilation as usually. Otherwise, program itself will check range on each attemp to work with arrays or calculations, which is clearly waste of time. ... operating system or CPU ... but not the compiler ;) ... As well globaly, in consistency terms. I can not see reasonability of different threaded division by zero by CPU/FPU or compiler. The compiler doesn't know at compile time how the exception mask would look at run time at this point, so it's not threaded differently, div by zero might be masked at this point and throwing an error would be wrong because at run time the code would evalute to Inf. Delphi have several inconveniently basically solved problems, among of which is this one. Handling by inheritance Delphi solution in FPC mode is unfortunate. The point is: this div by zero is encountered at compilation time. The other option is to stop compilation always. Executing the operation at run time is useless imo and a waste of CPU cycles. No. These constants are defined in const blocks. A const block couldn't throw an exception. Even better. In compilation time, if compiler detect division by zero with constants it should stop compilation - by default, without any switch. I can not see reason to be threaded differently. There is code out there defining Inf by 1/0. There was a bug report about this, see also below. In that case there is no problems: 'Writeln (1.0/0.0)' or 'a:=a*b+1/0' and similar constructions should be threaded by default. It is mathematical nosence continuing calculating ratinals - No, it's IEEE behavior: calculating with Inf etc. is completely valid. during complex calculations, simple error will lead to infinity result instead to simply stop during compilation and show the error. I see no problem in implementation. People will complain, if FPC isn't delphi compatible. I implemented it this way because people complained that FPC behaves differently than Delphi in this case. And I see nothing wrong with it: the compiler can't know the fpu exception mask at execution time when compiling the program so throwing an error might be as wrong as returning Inf. So the only real solution would be to carry out the 1/0 at run time, however, this leads also to inconsistent code regarding const inf = 1/0; while writeln(1/0); could throw an exception, writeln(Inf); wouldn't. So imo any possible solution is wrong in some way. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
People will complain, if FPC isn't delphi compatible. FP actually is not 100% Delphi compatible by default mode and it is not intention to be (regarding available informations on internet) it is actually intented to be compatible with Turbo/Borland Pascal, I suppose. Delphi simulation mode (-Sd, or directive {$mode delphi} ) is not 100% compatible as well. Delphi in this case. And I see nothing wrong with it: the compiler can't know the fpu exception mask at execution time when compiling the program so throwing an error might be as wrong as returning Inf. So the only real solution would be to carry out the 1/0 at run time, however, this leads also to inconsistent code regarding const inf = 1/0; while writeln(1/0); could throw an exception, writeln(Inf); wouldn't. So imo any possible solution is wrong in some way. As I understood you (obviously not correct), you wrote that const block is not checked during compiling on division by Zero (as mentioned, infinity const can be set simply by bits setting)... In any event, to be clear with suggestion: current solution is quiet problematic during testing quite complex calculations functionality, where dividing with zero constant is simple mistake. I have several quite complex statistical applications where simple mischanged constants division by 00 instead of 100 (for example) create quite serious poblem, implying time to find the bug. Long compilation time for checking only (with -Cr ) and then without it just double already enormous compiling time (Lazarus project). That issued problem was consist with Delphi, however ut since fast compilation error was located and fixed very fast... Perhaps new {$AllowedDivisionByZero+-}compiler directive would be an convenient compromise. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Sasa Zeman wrote: People will complain, if FPC isn't delphi compatible. FP actually is not 100% Delphi compatible by default mode and it is not That's true. intention to be (regarding available informations on internet) it is actually intented to be compatible with Turbo/Borland Pascal, I suppose. No. It depends on the mode. Delphi simulation mode (-Sd, or directive {$mode delphi} ) is not 100% compatible as well. It tries to be ;) Delphi in this case. And I see nothing wrong with it: the compiler can't know the fpu exception mask at execution time when compiling the program so throwing an error might be as wrong as returning Inf. So the only real solution would be to carry out the 1/0 at run time, however, this leads also to inconsistent code regarding const inf = 1/0; while writeln(1/0); could throw an exception, writeln(Inf); wouldn't. So imo any possible solution is wrong in some way. As I understood you (obviously not correct), you wrote that const block is not checked during compiling on division by Zero (as mentioned, infinity const can be set simply by bits setting)... Well, doing this by hand is several work: you need to distinguish between different endianesses, different data sizes and take care of non standard formats like the arm fpa uses. From the compiler sources: {$if defined(CPUARM) and defined(FPUFPA)} MathQNaN : tdoublerec = (bytes : (0,0,252,255,0,0,0,0)); MathInf : tdoublerec = (bytes : (0,0,240,127,0,0,0,0)); MathNegInf : tdoublerec = (bytes : (0,0,240,255,0,0,0,0)); MathPi : tdoublerec = (bytes : (251,33,9,64,24,45,68,84)); {$else} {$ifdef FPC_LITTLE_ENDIAN} MathQNaN : tdoublerec = (bytes : (0,0,0,0,0,0,252,255)); MathInf : tdoublerec = (bytes : (0,0,0,0,0,0,240,127)); MathNegInf : tdoublerec = (bytes : (0,0,0,0,0,0,240,255)); MathPi : tdoublerec = (bytes : (24,45,68,84,251,33,9,64)); MathPiExtended : textendedrec = (bytes : (53,194,104,33,162,218,15,201,0,64)); {$else FPC_LITTLE_ENDIAN} MathQNaN : tdoublerec = (bytes : (255,252,0,0,0,0,0,0)); MathInf : tdoublerec = (bytes : (127,240,0,0,0,0,0,0)); MathNegInf : tdoublerec = (bytes : (255,240,0,0,0,0,0,0)); MathPi : tdoublerec = (bytes : (64,9,33,251,84,68,45,24)); MathPiExtended : textendedrec = (bytes : (64,0,201,15,218,162,33,104,194,53)); {$endif FPC_LITTLE_ENDIAN} {$endif} In any event, to be clear with suggestion: current solution is quiet problematic during testing quite complex calculations functionality, where dividing with zero constant is simple mistake. I have several quite complex statistical applications where simple mischanged constants division by 00 instead of 100 (for example) create quite serious poblem, implying time to find the bug. Long compilation time for checking only (with -Cr ) and then without it just double already enormous compiling time (Lazarus project). That issued problem was consist with Delphi, however ut since fast compilation error was located and fixed very fast... Perhaps new {$AllowedDivisionByZero+-}compiler directive would be an convenient compromise. Well, I consider the problem as minor so I don't know if it's worth to introduce a new switch. I guess the best solution is to throw always a hint. Since 1/0=Inf is IEEE compliant, it's no real error. If people really want an error, they can create their own error msg file making the hint an error. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
Well, I consider the problem as minor so I don't know if it's worth to introduce a new switch. I guess the best solution is to throw always a hint. Since 1/0=Inf is IEEE compliant, it's no real error. If people really want an error, they can create their own error msg file making the hint an error. Unfortunatelly, this is a major problem with specific environment and type of application... :-( In this case, I consider it is much productively to concentrate on optimization of internal linker as well as compiler for computers with small phisical memory (=128MB on Windows). Compiler, as well as internal linker currently consume over 80MB each for simples Lazarus application. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Division by Zero - not raised exception
FPC 2.0.2 do not rasie exception on integer/floats division by Zero, which is suitable for calucaltion I currently developing. Instead, division return infinity: writeln(1/0) - +inf writeln(1.0/0) - +inf With excluding zero exception from SetExceptionMask(), it dows not turn on the exception (unless there is another way). In any event, division by zero should raise exception by default. Perhaps it is solved in some latest release? Already fixed. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal