cppexp.c (parse_defined): Improve diagnostics for invalid syntax.
authorNeil Booth <neil@daikokuya.demon.co.uk>
Tue, 6 Feb 2001 20:07:07 +0000 (20:07 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Tue, 6 Feb 2001 20:07:07 +0000 (20:07 +0000)
        * cppexp.c (parse_defined): Improve diagnostics for invalid
        syntax.

From-SVN: r39500

gcc/ChangeLog
gcc/cppexp.c

index b53f80adb0fb72ca49240270c2cf56d0f610eb36..6273b2ae5a4d2acc44369f7b7e52c831230fb050 100644 (file)
@@ -1,3 +1,8 @@
+2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+        * cppexp.c (parse_defined): Improve diagnostics for invalid
+        syntax.
+
 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
 
         * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
index 3031997b0aa1665e566f3eedb0f668432d6575b9..bea20a22ce5d46f2e31aa7bd6e7c59ad1f374e4a 100644 (file)
@@ -344,7 +344,20 @@ parse_defined (pfile)
        }
     }
   else
-    cpp_error (pfile, "\"defined\" without an identifier");
+    {
+      cpp_error (pfile, "operator \"defined\" requires an identifier");
+      if (token.flags & NAMED_OP)
+       {
+         cpp_token op;
+
+         op.flags = 0;
+         op.type = token.type;
+         cpp_error (pfile,
+                    "(\"%s\" is an alternative token for \"%s\" in C++)",
+                    cpp_token_as_text (pfile, &token),
+                    cpp_token_as_text (pfile, &op));
+       }
+    }
 
   if (!node)
     op.op = CPP_ERROR;