Commit 4ae3353
committed
[clang] fix concepts crash on substitution failure during normalization
When substitution failed on the first constrained template argument (but
only the first), we would assert / crash. Checking for failure was only
being performed from the second constraint on.
This changes it so the checking is performed in that case,
and the code is also now simplified a little bit to hopefully
avoid this confusion.
Signed-off-by: Matheus Izvekov <[email protected]>
Reviewed By: rsmith
Differential Revision: https://reviews.llvm.org/D1069071 parent a7eab64 commit 4ae3353
File tree
2 files changed
+20
-12
lines changed- clang
- lib/Sema
- test/CXX/temp/temp.constr/temp.constr.normal
2 files changed
+20
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
742 | 742 | | |
743 | 743 | | |
744 | 744 | | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
| 745 | + | |
| 746 | + | |
750 | 747 | | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
| 748 | + | |
755 | 749 | | |
756 | 750 | | |
757 | | - | |
758 | | - | |
| 751 | + | |
| 752 | + | |
759 | 753 | | |
760 | | - | |
761 | 754 | | |
762 | 755 | | |
763 | 756 | | |
| |||
Lines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
0 commit comments