[mythtv] [mythtv-commits] Ticket #2561: VideoListImp uses meta_dir_node from anonymous namespace: violates ODR
Anduin Withers
awithers at anduin.com
Tue Oct 10 21:12:26 UTC 2006
> After the latest gcc in FC6 not building mythplugins anymore on x86_64 I
> filed a bug against redhat.com.
>
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=210129
>
> Since VideoListImp is referenced in VideoList (and videolist.h) it is
> used
> in more than one translation unit anonymous namespaces are private per
> unit.
Essentially the code is:
// test.h
class bar {
class barimp *m_imp;
};
// test.cpp
namespace {
class foo {};
}
class barimp {
foo test;
};
Any time they don't like something it is an ODR violation. In the above code
barimp is only ever defined in a single translation unit, ODR would never
enter its sad life.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28360
Doesn't seem applicable to me.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365
Is closer in that VideoListImp is an opaque type everywhere but in
videolist.cpp.
So I assume if you do something simple like comment out the unnamed
namespaces in videolist.cpp it all works?
--
Anduin Withers
More information about the mythtv-dev
mailing list