------- Comment #3 from pinskia at gcc dot gnu dot org 2006-12-31 23:31 ------- "C c(B());" is actually declaring a function which returns a C type and takes a B type. This is one of the parts of the C++ standard that would be ambious except they define it as a function.
The runtime issue is a different issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30340