[PATCH] Avoid a "diagnostic already in flight" assertion in diagnoseOdrViolations()

Ben Langmuir blangmuir at apple.com
Mon Aug 4 15:03:45 PDT 2014


Hi Richard,

We have several lazy builtin Decls (for ObjC decls, va_list, etc.) that might get filled in when we desugar a type for the ODR diagnostics, and these may deserialize more content from a module when they lookup an IdentifierInfo, leading to trying to emit a diagnostic while a diagnostic is already in flight.  My patch fixes the specific issue I ran into with the ODR diagnostics, but it seems like there may be a more general problem that filling in these lazy builtins may not be safe during diagnostic printing.  Any thoughts?

Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: odr-diag-error.patch
Type: application/octet-stream
Size: 1675 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140804/8a940d0b/attachment.obj>


More information about the cfe-commits mailing list