2003-08-29 Mark Mitchell <mark@codesourcery.com>
PR c++/12093
* pt.c (build_non_dependent_expr): Do not build a
NON_DEPENDENT_EXPR for a STRING_CST.
2003-08-29 Mark Mitchell <mark@codesourcery.com>
PR c++/12093
* g++.dg/template/non-dependent4.C: New test.
From-SVN: r70941
2003-08-29 Mark Mitchell <mark@codesourcery.com>
+ PR c++/12093
+ * pt.c (build_non_dependent_expr): Do not build a
+ NON_DEPENDENT_EXPR for a STRING_CST.
+
PR c++/11928
* search.c (add_conversions): Avoid adding two conversion
operators for the same type.
types. */
if (TREE_CODE (expr) == OVERLOAD)
return expr;
+ /* Preserve string constants; conversions from string constants to
+ "char *" are allowed, even though normally a "const char *"
+ cannot be used to initialize a "char *". */
+ if (TREE_CODE (expr) == STRING_CST)
+ return expr;
if (TREE_CODE (expr) == COND_EXPR)
return build (COND_EXPR,
2003-08-29 Mark Mitchell <mark@codesourcery.com>
+ PR c++/12093
+ * g++.dg/template/non-dependent4.C: New test.
+
PR c++/11928
* g++.dg/inherit/conv1.C: New test.
--- /dev/null
+// { dg-options "" }
+
+template<int X> class c;
+
+template<int X, int Y> int test(c<X ? : Y>&);
+
+void test(c<2>*c2) {
+ test<0, 2>(*c2);
+}
+