"#line directive requires a positive integer argument">;
def err_pp_line_invalid_filename : Error<
"invalid filename for #line directive">;
+def warn_pp_line_decimal : Warning<
+ "#line directive requires decimal line number">;
def err_pp_linemarker_requires_integer : Error<
"line marker directive requires a positive integer argument">;
def err_pp_linemarker_invalid_filename : Error<
return true;
}
+ // Warn about hex and octal line numbers. Do this after the check for 0,
+ // because it is octal.
+ if (Literal.getRadix() != 10)
+ PP.Diag(DigitTok, diag::warn_pp_line_decimal);
+
return false;
}
#line 2 "foo.c" EMPTY( )
#line 2 "foo.c" NONEMPTY( ) // expected-warning{{extra tokens at end of #line directive}}
+// PR3940
+#line 0xf // expected-warning {{#line directive requires decimal line number}}