Full-Chain Xref (What are you dreaming)

Posted by Richard.thompson on 24-Feb-2016 13:15

Fellow Engineers of the Roundtable.  Greetings.

Stop me when I start to sound crazy.  Is it me or does the default RTB xref only list the include files actually referenced in the compiled program .p and .cls?  It looks that way.  I have play.p that included fun.i and fun.i includes toy.i and toy.i includes a whole wad of tinyParts.i.  When I perform a "Where Used" on fun.i I get play.p.  When I perform a Where Used on toy.i or tinyParts.i I don't get any reference.  What?  I know right.

So I have a rtbXref.cls that will take any .p or .cls and blow out the full-chain.  Before I wire this into the RTB client I want to be sure that I understand the current xref provided by the RTB client.

Okay, you may ask, Hey Mr. Progress, why do you want to know that anyway?  Good question Sir Richard.  Because when I assign a new version of tinyParts.i I need to know what .p and .cls code I need to compile.  Currently I only know I need to compile play.p when I assign a new version of fun.i.  This is causing a riff among the knights.

Thanks for your kind consideration.

All Replies

Posted by Jeff Ledbetter on 24-Feb-2016 13:40

Hi Richard.

Perhaps I am misunderstanding your question/challenge, but an include of an include, etc. should show in the xref/where-used.

For example, I have MyInclude.i (included in 4 programs). This include includes AnotherInclude.i which includes AnotherInclude2.i.

A where-used for all 3 yields the same results: referenced in 4 PCODE Objects. So, a selective compile on any of those would re-compile those same PCODE Objects.

Our data is all based on the xref output from the OE compiler, so assuming it is in there, it should get captured and stored on compile with xref.

You are seeing different?

Posted by Richard.thompson on 24-Feb-2016 14:34

In my sample, main.p has a.i and b.I.  Both of those show up on the xref.  When I check a.i and b.i both show main.p in where used; so far so good.  When I look at the source of a.i I find an include of a1.i and a2.i .  But when I check a where used for a1.i and a2.i I don't see any reference to where it is used.  I don't see a reference to a.i or main.p.

Posted by Jeff Ledbetter on 24-Feb-2016 15:13

Do those results change if you recompile main.p with xref?

Posted by Richard.thompson on 24-Feb-2016 16:45

I would not expect it to.  I had to compile with xref to check in the .p.  Let me work up an actual example from our install and send it to you.  Maybe I'm just doing it wrong.  I expected it to know to the nth level all the includes related to any .p or .cls so RTB would know what to compile.  I just did not see that.  

Posted by Richard.thompson on 24-Feb-2016 16:56

Um.  Boy do I feel sheepish.  The RTB client works just as expected; It drills down to all the layers to include files.  How about "Stop me if I start to sound crazy...."

Posted by Jeff Ledbetter on 25-Feb-2016 07:48

Glad to hear that it is working as expected. Bahhhh. :)

This thread is closed