Remove qualtype qualifier in coroutine error to prevent assert in debug
authorBrian Gesiak <modocache@gmail.com>
Wed, 11 Jul 2018 00:45:48 +0000 (00:45 +0000)
committerBrian Gesiak <modocache@gmail.com>
Wed, 11 Jul 2018 00:45:48 +0000 (00:45 +0000)
commit32ee712435e8a157e4c757223bc11418c1346ff8
tree8a96cfde5b2a2b5fd480fb72af54438dc72d035a
parent869038e36258798d54f4c47b5ee9bf2c33b7f86a
Remove qualtype qualifier in coroutine error to prevent assert in debug

Summary:
A forward-declared coroutine_traits should trip an error; we need
a complete type.

Unfortunately, in debug mode only, we trip an assert when attempting
to provide the fully qualified type for the error message.
If you try to compile a program with a forward-declared
coroutine_traits in debug mode, clang will crash.

I've included a test for the behavior and removed the q modifier
on the error message. This prevents the crash in debug mode and
does not change the behavior for the error message on a
forward-declaration of a coroutine_traits type.

Test Plan:
I've included a test for the forward-declaration.

Patch by Tanoy Sinha!

Reviewers: modocache, GorNishanov

Reviewed By: modocache

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D49099

llvm-svn: 336748
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/test/SemaCXX/coroutine-traits-undefined-template.cpp [new file with mode: 0644]