typeck2.c (check_for_new_type): Only depend on pedantic for C-style casts.
authorJason Merrill <jason@yorick.cygnus.com>
Mon, 26 Oct 1998 02:07:12 +0000 (02:07 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 26 Oct 1998 02:07:12 +0000 (21:07 -0500)
* typeck2.c (check_for_new_type): Only depend on pedantic for
C-style casts.

From-SVN: r23342

gcc/cp/ChangeLog
gcc/cp/typeck2.c

index 0501bca..00e5f79 100644 (file)
@@ -10,7 +10,8 @@
        * init.c (build_member_call): Don't try to convert to the base type
        if it's ambiguous.
 
-       * typeck2.c (check_for_new_type): Don't depend on pedantic.
+       * typeck2.c (check_for_new_type): Only depend on pedantic for
+       C-style casts.
 
 1998-10-25  Mark Mitchell  <mark@markmitchell.com>
 
index 8fa70c9..fc05514 100644 (file)
@@ -1654,11 +1654,15 @@ report_case_error (code, type, new_value, old_value)
 }
 #endif
 
+/* Complain about defining new types in inappropriate places.  We give an
+   exception for C-style casts, to accommodate GNU C stylings.  */
+
 void
 check_for_new_type (string, inptree)
      char *string;
      flagged_type_tree inptree;
 {
-  if (inptree.new_type_flag)
+  if (inptree.new_type_flag
+      && (pedantic || strcmp (string, "cast") != 0))
     pedwarn ("ANSI C++ forbids defining types within %s",string);
 }