On 06/30/2014 03:27 PM, Jan Hubicka wrote:
This catches two cases in C++ FE and several other cases elsewhere. Does something like this make sense? I think bulitin_types are generally public, but I am not quite sure about templates.
Template parms have no linkage, but they certainly don't prevent a template from being public. So I guess setting TREE_PUBLIC makes sense.
I also wonder if I should copy PUBLIC flag from component type in complex numbers - can we produce complex number from anonymous type?
Only from built-in types I think, but it wouldn't hurt to copy TREE_PUBLIC from component_type.
Finally type_in_anonymous_namespace_p needs to be extended into two cases where the type is considered nonanonymous by lack of DECL_NAME.
I would think the right fix is to avoid calling it for non-class types? Jason