/*
TEST_OUTPUT:
---
fail_compilation/ice1358.d(29): Error: invalid UTF character \U80000000
---
*/

// https://issues.dlang.org/show_bug.cgi?id=1358
// ICE(root.c) on Unicode codepoints greater than 0x7FFFFFFF
/* 1358. Assertion failure: '0' on line 1548 in file '..\root\root.c'
This one is trivial.
PATCH(lexer.c, Lexer::escapeSequence()).
--- lexer.c (revision 24)
+++ lexer.c (working copy)
@@ -1281,8 +1281,10 @@
                            break;
                        }
                     }
-                    if (ndigits != 2 && !utf_isValidDchar(v))
+                        if (ndigits != 2 && !utf_isValidDchar(v)) {
                         error("invalid UTF character \\U%08x", v);
+                        v = 0; // prevent ICE
+                        }
                     c = v;
                 }
                 else

*/
auto bla = "\U80000000";
