Takashi Ono wrote:
Hi all,
Recent months I am trying mingw gcc 4.2.1 (experimental) and getting many
warnings.
Most of them are obvious but some warnings about the use of the anonymous namespace
possibly should be taken seriously.
We are using the anonymous namespace to hide the implementation but it may break the
One Definition Rule in some cases.
(see the discussion in gcc bugzila
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365)
If the class definition using types in the anonymous namespace is only used in one
translation unit, especially in case the definition is in the main source, we are
safe. If it is used in more than one translation unit, it may violates ODR. It is
possible if the definition lies in an included source code. There are three cases in
m239.
Maybe it is better to move the contents of dbaccess/source/core/misc/propertybag.hxx
and ucb/source/inc/regexpmap.tpt to the main source respectively. They seem to be
used in only single main source.
In the case of sd/source/ui/inc/DrawController.hxx, the only solution not to violate
ODR seems to be making implementation visible. However, it may cause no problem if
the pointers or the references are not passed across the translation units.
Yes, these cases should be fixed (even if ODR violation would be
harmless). Do you take care of it?
-Stephan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]