Hickman, Steve (AdvTech) wrote:
I just downloaded the current version of Pork from Mozilla.org and
attempted to build it in Cygwin using gcc 3.4.4 (and gcc 4.3.2). In both
cases I get the following error:

++ -c -o stringset.o stringset.cc -g -Wall -Wno-deprecated -D__UNIX__
-DNDEBUG -D__CYGWIN__

In file included from stringset.h:7,

                from stringset.cc:4:

strsobjdict.h:25: error: `string' has not been declared

It appears to be a problem with sm::string vs. std::string. I thought
all of this had been fixed. Can anyone comment on this?
Ugh. smbase's 'class string' is a continuous source of pain. This error is surprising, though. AFAICT smbase doesn't use the 'namespace' keyword at all, so all of its names should be in the global namespace and thus available for use in places like strsobjdict.h:25.

I do notice a nasty define in str.h (comment starting at line 23) that seems to have been created to fix this sort of problem, so you might want to give it a try.

Otherwise, I'd start looking at the preprocessed file to see if the error makes any sense, and/or create a simple test case using a user-defined 'string' class to see if the compiler takes that.

Taras: do you think maybe it's time to bite the bullet and use Renamer to rename string to smstring?

Dave
_______________________________________________
dev-static-analysis mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-static-analysis

Reply via email to