[cfe-dev] Typeid and forward declaration - Clarification needed

Karen Shaeffer shaeffer at neuralscape.com
Wed Oct 30 16:51:13 PDT 2013


On Wed, Oct 30, 2013 at 10:24:50PM +0000, Karen Shaeffer wrote:
> On Tue, Oct 29, 2013 at 10:00:41PM +0000, Karen Shaeffer wrote:
> > > 
> > > The wording was added by DR206 in response to the ambiguity in the original
> > > (C++98) spec. Since this was a DR, it retroactively applies to C++98 too,
> > > so this code has (in some sense) always been ill-formed, with no diagnostic
> > > required:
> > > 
> > > http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#206
> > > 
> > > I'm not sure what you're talking about when you mention ambiguity.
> > 
> > Hi Richard,
> > I simply meant the standard is clear and concise as you point out. And this
> > issue has nothing to do with the discretion of the implementation. It is an
> > ill-formed program. Thank you very much for clarifying the details. Very helpful.
> > 
> 
> I work with Ubuntu 13.10 these days and am quite pleased to learn clang-3.3 is supported
> by Ubuntu Saucy universe repositories.
> 
> root at ip-212-12-37-96:/etc/apt# dpkg --get-selections | grep llvm
> libllvm3.3:amd64				install
> llvm-3.3					install
> llvm-3.3-dev					install
> llvm-3.3-doc					install
> llvm-3.3-runtime				install
> root at ip-212-12-37-96:/etc/apt# dpkg --get-selections | grep clang
> clang-3.3					install
> libclang-common-3.3-dev				install
> libclang1-3.3					install
> 
> My understanding is clang-3.3 provides full support for c++11 standard. That is one of my
> requirements. Next step is to do comparison testing on performance of compiled binaries.
> That is a critically important metric I am looking at.

$ ldd /usr/bin/clang
	linux-vdso.so.1 =>  (0x00007fffc99fe000)
	libLLVM-3.3.so.1 => /usr/lib/x86_64-linux-gnu/libLLVM-3.3.so.1 (0x00007f41cfe0d000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f41cfbf0000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f41cf8eb000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f41cf6d5000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f41cf30d000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f41cf104000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f41cef00000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f41cebfc000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f41d148b000)

I guess you need to roll your own to use libc++. Even so, it is a great jumping off point
to have all this available on Ubuntu Saucy without needing to be a pioneer. Maybe I'll use
this compiler to start a bootstrap of the 3.4 release in January.

enjoy,
Karen
-- 
Karen Shaeffer                 Be aware: If you see an obstacle in your path,
Neuralscape Services           that obstacle is your path.        Zen proverb



More information about the cfe-dev mailing list