+2001-02-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ Remove floating point and complex type template constant parms.
+ * pt.c (convert_nontype_argument): Remove REAL_TYPE and
+ COMPLEX_TYPE extensions.
+ (invalid_nontype_parm_type_p): Likewise.
+
2001-02-27 Jeffrey Oldham <oldham@codesourcery.com>
* except.c (call_eh_info): Revert "match_function"'s type.
}
else if (INTEGRAL_TYPE_P (expr_type)
|| TYPE_PTRMEM_P (expr_type)
- || TYPE_PTRMEMFUNC_P (expr_type)
- /* The next two are g++ extensions. */
- || TREE_CODE (expr_type) == REAL_TYPE
- || TREE_CODE (expr_type) == COMPLEX_TYPE)
+ || TYPE_PTRMEMFUNC_P (expr_type))
{
if (! TREE_CONSTANT (expr))
{
return expr;
- case REAL_TYPE:
- case COMPLEX_TYPE:
- /* These are g++ extensions. */
- if (TREE_CODE (expr_type) != TREE_CODE (type))
- return error_mark_node;
-
- expr = digest_init (type, expr, (tree*) 0);
-
- if (TREE_CODE (expr) != REAL_CST)
- goto non_constant;
-
- return expr;
-
case POINTER_TYPE:
{
tree type_pointed_to = TREE_TYPE (type);
return 0;
else if (TYPE_PTRMEMFUNC_P (type))
return 0;
- else if (!pedantic && TREE_CODE (type) == REAL_TYPE)
- return 0; /* GNU extension */
- else if (!pedantic && TREE_CODE (type) == COMPLEX_TYPE)
- return 0; /* GNU extension */
else if (TREE_CODE (type) == TEMPLATE_TYPE_PARM)
return 0;
else if (TREE_CODE (type) == TYPENAME_TYPE)
+2001-02-28 Nathan Sidwell <nathan@codesourcery.com>
+
+ * g++.old-deja/g++.ext/realpt1.C: Remove.
+
2001-02-27 Nathan Sidwell <nathan@codesourcery.com>
* g++.old-deja/g++.abi/vtable3.h: Check vcall offsets too.
+++ /dev/null
-// Build don't link:
-// Special g++ Options:
-// Origin: Mark Mitchell <mark@codesourcery.com>
-
-template <double d>
-struct S;
-
-template <double d, double e>
-void f (S<d>*, S<e>*, S<d + e>*);
-
-void g ()
-{
- S<2.0>* s1;
- S<3.7>* s2;
- S<5.7>* s3;
-
- f (s1, s2, s3);
-}
-