| By the way, there's a small bug in the current code.
If you want to use idl containing pragmas then you have to
apply the fix below. It's easy. And if you dont want pragma handling
dont bother.
John D.
-------------------------------------------------------
Hi John,
You are quite right. The problem is in (I love to blame them whenever
I can :) ) Sun's IDL parser code (idldoc uses a free IDL parser from
Sun.) Since you have MSVC++, you should have no problems recompiling
idldoc on your own, so a quick fix (I'll do a more robust patch when I
get a chance) would be to change line 634 of file fe lex_yy.cc from
char pragma[80];
to
char pragma[300];
Thanks for the bug report and for being persistent!
I think John Donaldson wrote:
>
> Ernest,
>
>
> >Idldoc uses your native system's C preprocessor, so if the
> >preprocessor doesn't like the pragmas, neither will Idldoc. Does the
> >generated IDL really split the #pragmas across two lines, or is that
> >just an artifact of the mailing process? If it really is split, no C
> >preprocessor in the world will accept that. If it is not split in
> the
> >original, you can always try a different preprocessor, or try
> passing
> >some (preprocessor dependent) command-line argument that would tell
> >the preprocessor to ignore unknown pragmas.
>
> the preprocessor is the one which comes with VC++ v4.2. (The same one
> you've been using I think). The split lines are, as you guessed, just
> an artifact
> of the mailing process. Did you try my small example IDL?
>
> I tried the cl command with a file just containing a pragma and all I
> get is
> a warning "Unknown pragma". Whereas the symptoms from idldoc are a
> crash. Are you sure the problem is not in idldoc?
>
> (I've got W95, VC++ v4.2, ObjectBroker v2.7-11)
>
> John.
>
>
> mailbox was /var/mail/ejfried
> 5976, 5976
>
---------------------------------------------------------
Ernest Friedman-Hill Phone: (510) 294-2154
Scientific Computing FAX: (510) 294-2234
Sandia National Labs ejfried@ca.sandia.gov
Org. 8117, MS 9214 http://herzberg.ca.sandia.gov
PO Box 969
Livermore, CA 94550
|