Re: Bug in latest IAR MSP430 compiler optimization???

Vladimir Vassilevsky wrote:

Chris H wrote:

Chris H wrote:

If you find a bug in ANY compiler (not just IAR) that is fixed in a newer version they tell you to get the latest version.

Sure. The latest version of compiler with the fresh not yet known bugs. Porting a working project to the next revision of a compiter is PITA.

Then don't use a compiler.

I prefer keeping the projects with the complete old toolchains and not to jump to the latest and greatest unless it is really required. If a compiler bug was spotted, then it is not dangerous any more.

If you are on support it is usually free. You only have to pay if it is a very old version.
However if you want to use an old version that is your look out.

Yes, this is one of the problems. They can't make money from just making bug fixes to the current software, so they have to release new versions.

If you fix bugs in a compiler you get a new version.

If you fixed the bugs you only got a new build of the old version. By releasing the bug fixes you acknowledged that you can't get the things right at the first time, however the good thing is that you care. The new version should have a difference.

These are usually free in the first year after purchase as part of the compiler price.

There's a difference here between what is often termed "updates" and "upgrades". An "upgrade" means a new versions of the tool, typically with new features, and is something you can only expect to get while on a support contract of some kind. You don't "upgrade" the tools you use for a project without good reason, and when a project is finished, you keep track of the tool versions used in its development.

"updates" (or "service packs"), on the other hand, are minor changes - often bug fixes, but occasionally small additional changes (perhaps support for a new chip variant). They are usually safe to use without changing your project, and are often freely available to any licensed user.

Thus changing from gcc 4.2.2 to gcc 4.3.0 is an upgrade, and may require changes to the project. Changing to 4.2.3 is merely an update to fix a couple of bugs.

It is not unreasonable to expect a compiler supplier to provide updates for a certain time after purchase - you should not have to upgrade just to get a bug fix. (Note that I have no idea what IAR's policy is in this - I'm just expressing general comments.)