diff options
Diffstat (limited to 'lib/Sema/SemaType.cpp')
-rw-r--r-- | lib/Sema/SemaType.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index 8195aba967..036ccc8739 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -1294,7 +1294,7 @@ bool Sema::CheckExceptionSpecSubset(unsigned DiagID, unsigned NoteID, bool SubIsClass = CanonicalSubT->isRecordType(); CanonicalSubT.setCVRQualifiers(0); - BasePaths Paths(/*FindAmbiguities=*/true, /*RecordPaths=*/false, + BasePaths Paths(/*FindAmbiguities=*/true, /*RecordPaths=*/true, /*DetectVirtual=*/false); bool Contained = false; @@ -1332,7 +1332,8 @@ bool Sema::CheckExceptionSpecSubset(unsigned DiagID, unsigned NoteID, if (Paths.isAmbiguous(CanonicalSuperT)) continue; - // FIXME: Check base access. Don't forget to enable path recording. + if (FindInaccessibleBase(CanonicalSubT, CanonicalSuperT, Paths, true)) + continue; Contained = true; break; |