previous change.
Mon Nov 10 20:08:29 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
* pt.c (coerce_template_parms): Tweak error message.
* decl.c (grokdeclarator): If -Wreturn-type, warn everytime a
return type defaults to `int', even if there are storage-class
specifiers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16425
138bc75d-0d04-0410-961f-
82ee72b054a4
* init.c (build_vec_delete_1): Delete build_block and
add_block_current_level calls.
+Mon Nov 10 20:08:38 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * decl.c (grokdeclarator): Tweak conditions for pedwarn in
+ previous change.
+
+Mon Nov 10 20:08:29 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
+
+ * pt.c (coerce_template_parms): Tweak error message.
+
+ * decl.c (grokdeclarator): If -Wreturn-type, warn everytime a
+ return type defaults to `int', even if there are storage-class
+ specifiers.
+
Mon Nov 10 03:04:20 1997 Jason Merrill <jason@yorick.cygnus.com>
Complete nested exception support.
}
else if (RIDBIT_SETP (RID_TYPEDEF, specbits))
pedwarn ("ANSI C++ forbids typedef which does not specify a type");
- else if (declspecs == NULL_TREE
- && (innermost_code != CALL_EXPR || pedantic))
- cp_pedwarn ("ANSI C++ forbids declaration `%D' with no type or storage class",
- dname);
+ else if (innermost_code != CALL_EXPR || pedantic
+ || (warn_return_type && return_type == return_normal))
+ {
+ if (innermost_code == CALL_EXPR)
+ cp_pedwarn ("return-type of `%D' defaults to `int'", dname);
+ else
+ cp_pedwarn ("ANSI C++ forbids declaration `%D' with no type",
+ dname);
+ }
type = integer_type_node;
}
}
}
else if (!TREE_CONSTANT (val))
{
- cp_error ("non-const `%E' cannot be used as template argument",
+ cp_error ("non-constant `%E' cannot be used as template argument",
arg);
val = error_mark_node;
}