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