I use IBM's Rational Realtime to perform structural coverage analysis on a project built using Codewarrior. Rational adds instrumentation tags to the source code, unless you tell it not to by encapsulating the code in "#pragma attol stop_analyse" and "#pragma attol start_analyse." I do this for assembly code and other things that Rational cannot interpret. Originally the project was done in 8.5, and I had no problems. Now I want to instrument the same project built for 8.7 Power Architecture, and it doesn't work! The only thing that has changed in the project is that the path to the command line compiler/linker is different. With the 8.5 compiler, it works fine, but with 8.7 PA it seems to ignore the "#pragma attol stop_analyse"! What could have changed between versions that now I am unable to use this #pragma directive?
I take it, the tags are added to your application by a pre-processor like tool, called before the PA compiler (cmd line) correct?
In this case I would: 1- save the rational pre-processor (instrumenter) output file (as it should be the one taking the pargma into account). 2- compile that output file with the PA cmd line compiler and see the error,worning inofrmation messages generated.
the pragma your are mentioning is targetting the rational instrumenteur and not the PA compiler... Are you sure your instrumenteur is switch ON?? it may be that the instrumenter is not called for some reasons and the PA copmpiler not knowing about the pragma just ignores it...
I would, except the intermediate file gets deleted before I can get access to it. There is another intermediate file, a .I which gets generated. I've noticed that the .I files I generated with 8.5 contained the #pragma statements I need, but the .Is I'm now generating with 8.7 PA don't. It seems like 8.7 PA is automatically stripping out the #pragma statements... why would that be?
the intermediate file is generated by the instrumenteur (rational), the instrumenter is adding code accordingly to the pragma you metioned. Then the intermediate file is passed to the cmd line compiler to generate the final code... Am I correct here? do you know the process the rational instrumenter is using to work and how it calls the compiler?
what's the difference between .l and .ls files??
I guess the best way to get this solved would be to create a SR at