Fix a SourceKitCrash in the VTableSpecializer pass

Replace the assert-check if a vtable is available with a regular error message.
This cannot occur in regular builds - only if built with embedded swift and without wmo.
The command line compiler prevents this combination, but it  can happen in SourceKit.

rdar://130167087
This commit is contained in:
Erik Eckstein
2024-07-02 17:53:08 +02:00
parent 7cfbe97f40
commit 9360c76cd8
3 changed files with 34 additions and 3 deletions

View File

@@ -374,6 +374,8 @@ ERROR(global_must_be_compile_time_const,none,
"global variable must be a compile-time constant", ())
ERROR(non_final_generic_class_function,none,
"classes cannot have non-final generic fuctions in embedded Swift", ())
ERROR(cannot_specialize_class,none,
"cannot specialize %0 because class definition is not available (make sure to build with -wmo)", (Type))
ERROR(embedded_swift_existential_type,none,
"cannot use a value of protocol type %0 in embedded Swift", (Type))
ERROR(embedded_swift_existential,none,