Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
April 30, 2007 STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
We have started using Pantheios/STLSoft on our project. However, we have started to find that it is causing conflicts with Insure++, our code analysis tool. Is this an known problem? Can any one give any advise? We are using versions of Pantheios and the STLSoft libraries from a few months ago (don't know the exact versions at the moment but could check if this is important). xfgvxf Regards, Mike Batten. |
April 30, 2007 Re: STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Batten | Hi Mike I've never used Insure++, so can't comment directly. However, if you could give information on the conflicts (and let me know what version(s) you're using), that might spark some insight. FWIW, I'm not totally surprised by this. There are some non-boilerplate "features" in there that might confuse an automated tool, however "enlightened" it might be. Once again, details might help. ;-) Cheers Matt "Mike Batten" <mike@m-batten.wanadoo.co.uk> wrote in message news:f15hh3$1hvb$1@digitalmars.com... > We have started using Pantheios/STLSoft on our project. However, we have > started to find that it is causing conflicts with Insure++, our code > analysis tool. Is this an known problem? Can any one give any advise? > We are using versions of Pantheios and the STLSoft libraries from a > few months ago (don't know the exact versions at the moment but could > check if this is important). xfgvxf > > Regards, > > Mike Batten. |
May 01, 2007 Re: STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew Wilson | Hi Matt,
Thanks for the reply. I have reproduced the error we are getting with our main program in one of your examples, example_cpp_file. The main error from Insure++ appears to be:
[constraints.hpp:225] **PARSE_ERROR**
Parse error.
>> STLSOFT_SUPPRESS_UNUSED(i);
a template argument may not reference a local type
This was generated with pantheios-1.0.1-beta22 and stlsoft-1.9.1-beta42 although I have also confirmed the error with pantheios-1.0.1-beta26 and stlsoft-1.9.1-xstlv1
I have attached a zip file containing the source code, makefile, and make log from the build. The make log also contains references to a number of 'undefined' symbols. This was built on a Linux (Red-Hat) platform.
If we cannot get this sorted then we will be faced with either writing a noddy 'do nothing' substitute module for Pantheios, for when we want to use Insure++, or taking Pantheios out, which I would rather not happen.
Regards,
Mike.
Matthew Wilson wrote:
> Hi Mike
>
> I've never used Insure++, so can't comment directly.
>
> However, if you could give information on the conflicts (and let me know
> what version(s) you're using), that might spark some insight.
>
> FWIW, I'm not totally surprised by this. There are some non-boilerplate
> "features" in there that might confuse an automated tool, however
> "enlightened" it might be. Once again, details might help. ;-)
>
> Cheers
>
> Matt
>
> "Mike Batten" <mike@m-batten.wanadoo.co.uk> wrote in message
> news:f15hh3$1hvb$1@digitalmars.com...
>> We have started using Pantheios/STLSoft on our project. However, we have
>> started to find that it is causing conflicts with Insure++, our code
>> analysis tool. Is this an known problem? Can any one give any advise?
>> We are using versions of Pantheios and the STLSoft libraries from a
>> few months ago (don't know the exact versions at the moment but could
>> check if this is important). xfgvxf
>>
>> Regards,
>>
>> Mike Batten.
>
>
|
May 01, 2007 Re: STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Batten Attachments: | P.S.
I forgot to attach the attachment!
Mike.
Mike Batten wrote:
> Hi Matt,
>
> Thanks for the reply. I have reproduced the error we are getting with our main program in one of your examples, example_cpp_file. The main error from Insure++ appears to be:
>
> [constraints.hpp:225] **PARSE_ERROR**
>
> Parse error.
> >> STLSOFT_SUPPRESS_UNUSED(i);
> a template argument may not reference a local type
>
> This was generated with pantheios-1.0.1-beta22 and stlsoft-1.9.1-beta42 although I have also confirmed the error with pantheios-1.0.1-beta26 and stlsoft-1.9.1-xstlv1
>
> I have attached a zip file containing the source code, makefile, and make log from the build. The make log also contains references to a number of 'undefined' symbols. This was built on a Linux (Red-Hat) platform.
>
> If we cannot get this sorted then we will be faced with either writing a noddy 'do nothing' substitute module for Pantheios, for when we want to use Insure++, or taking Pantheios out, which I would rather not happen.
>
> Regards,
>
> Mike.
>
> Matthew Wilson wrote:
>> Hi Mike
>>
>> I've never used Insure++, so can't comment directly.
>>
>> However, if you could give information on the conflicts (and let me know
>> what version(s) you're using), that might spark some insight.
>>
>> FWIW, I'm not totally surprised by this. There are some non-boilerplate "features" in there that might confuse an automated tool, however "enlightened" it might be. Once again, details might help. ;-)
>>
>> Cheers
>>
>> Matt
>>
>> "Mike Batten" <mike@m-batten.wanadoo.co.uk> wrote in message news:f15hh3$1hvb$1@digitalmars.com...
>>> We have started using Pantheios/STLSoft on our project. However, we have
>>> started to find that it is causing conflicts with Insure++, our code
>>> analysis tool. Is this an known problem? Can any one give any advise?
>>> We are using versions of Pantheios and the STLSoft libraries from a
>>> few months ago (don't know the exact versions at the moment but could
>>> check if this is important). xfgvxf
>>>
>>> Regards,
>>>
>>> Mike Batten.
>>
>>
|
May 01, 2007 Re: STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mike Batten | > Thanks for the reply. I have reproduced the error we are getting with our main program in one of your examples, example_cpp_file. The main error from Insure++ appears to be: > > [constraints.hpp:225] **PARSE_ERROR** > > Parse error. > >> STLSOFT_SUPPRESS_UNUSED(i); > a template argument may not reference a local type Ok, this is because, for some compilers, the macro STLSOFT_SUPPRESS_UNUSED expands to the invocation of the function template stlsoft::suppress_unused_func(). See lines 2085-2130 of stlsoft/stlsoft.h. What you try is to replace all of that with: #ifdef __cplusplus # define STLSOFT_SUPPRESS_UNUSED(x) (static_cast<void>(x)) #else /* ? __cplusplus */ # define STLSOFT_SUPPRESS_UNUSED(x) ((void)(x)) #endif /* __cplusplus */ Let me know how it goes. > I have attached a zip file containing the source code, makefile, and make log from the build. The make log also contains references to a number of 'undefined' symbols. This was built on a Linux (Red-Hat) platform. > > If we cannot get this sorted then we will be faced with either writing a noddy 'do nothing' substitute module for Pantheios, for when we want to use Insure++, or taking Pantheios out, which I would rather not happen. We wouldn't want that! :-) Cheers Matt |
May 01, 2007 Re: STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew Wilson | [Sorry, didn't finish my point. See below.] > > [constraints.hpp:225] **PARSE_ERROR** > > > > Parse error. > > >> STLSOFT_SUPPRESS_UNUSED(i); > > a template argument may not reference a local type > > Ok, this is because, for some compilers, the macro STLSOFT_SUPPRESS_UNUSED expands to the invocation of the function template stlsoft::suppress_unused_func() and the language does not allow a template to be applied to a local (function-scope) type. I think Insure++ may be incorrectly detecting something to be a local type that is not. Pantheios (and STLSoft) is tested on a wide variety of compilers, and non have reported any similar error, so it inclines me to think Insure++ is reporting a false positive. Whatever the case, the hack I suggest would fix it up. Fingers crossed! ;-) >. See lines 2085-2130 of stlsoft/stlsoft.h. > |
May 02, 2007 Re: STLSoft and Insure++ | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew Wilson | Thanks Matt, that seems to have worked! It does work with you example code. Neither myself or my colleagues have had tine to try it with out main program so far, but we believe it will.
I will be contacting the Parasoft, the makers of Insure++, to see if we can get an patch put into Insure++ to cover this, but it would be good if the STLSoft library could be amended to include a compile time switch, or similar, as an additional safeguard. Any thoughts? At the moment we are keeping two version of the library active, one with and one without the hack, but this could prove inconvenient if we ever need to advance to a later version at some future date.
Thanks Again.
Mike Batten.
Matthew Wilson wrote:
>> Thanks for the reply. I have reproduced the error we are getting with
>> our main program in one of your examples, example_cpp_file. The main
>> error from Insure++ appears to be:
>>
>> [constraints.hpp:225] **PARSE_ERROR**
>>
>> Parse error.
>> >> STLSOFT_SUPPRESS_UNUSED(i);
>> a template argument may not reference a local type
>
> Ok, this is because, for some compilers, the macro STLSOFT_SUPPRESS_UNUSED
> expands to the invocation of the function template
> stlsoft::suppress_unused_func(). See lines 2085-2130 of stlsoft/stlsoft.h.
>
> What you try is to replace all of that with:
>
> #ifdef __cplusplus
> # define STLSOFT_SUPPRESS_UNUSED(x) (static_cast<void>(x))
> #else /* ? __cplusplus */
> # define STLSOFT_SUPPRESS_UNUSED(x) ((void)(x))
> #endif /* __cplusplus */
>
> Let me know how it goes.
>
>> I have attached a zip file containing the source code, makefile, and
>> make log from the build. The make log also contains references to a
>> number of 'undefined' symbols. This was built on a Linux (Red-Hat)
>> platform.
>>
>> If we cannot get this sorted then we will be faced with either writing a
>> noddy 'do nothing' substitute module for Pantheios, for when we want to
>> use Insure++, or taking Pantheios out, which I would rather not happen.
>
> We wouldn't want that! :-)
>
> Cheers
>
> Matt
>
>
>
|
Copyright © 1999-2021 by the D Language Foundation