#include "rewrite-includes-bom.h"#endif /* expanded by -frewrite-includes */

On 27/11/2013 18:24, Lubos Lunak wrote:
  As discussed in " [PATCH] PR14795 : -frewrite-includes sometimes results in
incorrect line number", the following leads to a crash:

I don't see a crash mentioned in PR14795. Wrong bug?


$ echo -ne '#if 0\n#endif' >a.cpp
$ clang++ -frewrite-includes -E a.cpp

  The attached patch adds a trivial fix avoiding the problem. I'm not quite
sure why the problem happens, but presumably it has something to do with the
lexing not being driven by the preprocessor instance (so maybe that one gets
deleted when reaching EOF?).

Raw lexers don't have a PP, so the check was obviously missing and this is a good crash fix.

Be aware however that with this change, you'll get invalid expansions like:

#include "rewrite-includes-bom.h"#endif /* expanded by -frewrite-includes */

Unless this is expected behaviour, you'll need to add special handling for end-of-directive in the include rewriter.

Alp.




_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

--
http://www.nuanti.com
the browser experts

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to