PR c++/48749
* class.c (resolves_to_fixed_type_p): Don't look closely
in templates.
From-SVN: r173412
+2011-05-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/48749
+ * class.c (resolves_to_fixed_type_p): Don't look closely
+ in templates.
+
2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/28501
{
tree t = TREE_TYPE (instance);
int cdtorp = 0;
- tree fixed = fixed_type_or_null (instance, nonnull, &cdtorp);
+ tree fixed;
+
+ if (processing_template_decl)
+ {
+ /* In a template we only care about the type of the result. */
+ if (nonnull)
+ *nonnull = true;
+ return true;
+ }
+
+ fixed = fixed_type_or_null (instance, nonnull, &cdtorp);
if (fixed == NULL_TREE)
return 0;
if (POINTER_TYPE_P (t))
+2011-05-04 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/conversion/base1.C: New.
+
2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48787
--- /dev/null
+// PR c++/48749
+
+struct Tuple3
+{
+ float x;
+};
+
+struct Pos: virtual Tuple3 { };
+
+struct TexCoords
+{
+ Pos pos;
+};
+
+template <class T>
+void eval (const TexCoords &coords)
+{
+ const Pos &pos = coords.pos;
+ pos.x;
+}