[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-17 Thread Reid Kleckner via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL372178: Ignore exception specifier mismatch when merging redeclarations (authored by rnk, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-17 Thread Reid Kleckner via Phabricator via cfe-commits
rnk updated this revision to Diff 220564. rnk added a comment. - simplify merging check Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67590/new/ https://reviews.llvm.org/D67590 Files: clang/lib/Sema/SemaDecl.cpp

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-17 Thread Zachary Henkel via Phabricator via cfe-commits
zahen added a comment. I just checked a trivial mismatch example in clang 8.0 (https://godbolt.org/z/wiSAp6) and I missed how the compatibility mode operates. I withdraw my suggestion since the patch keeps consistency with the existing behavior. Thanks for the

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-17 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. In D67590#1672691 , @zahen wrote: > Is there any interest in supporting the cl.exe flag `/permissive-`? I > considered a hard error on mismatched exception specifier in clang-cl a > feature, not a bug. If msvc compat mode

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-17 Thread Zachary Henkel via Phabricator via cfe-commits
zahen added a comment. Is there any interest in supporting the cl.exe flag `/permissive-`? I considered a hard error on mismatched exception specifier in clang-cl a feature, not a bug. If msvc compat mode respected that flag this could continue to be an error with that flag set (and upgraded

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-16 Thread Alex Fusco via Phabricator via cfe-commits
alexfusco added inline comments. Comment at: clang/test/SemaCXX/ms-exception-spec.cpp:2 +// RUN: %clang_cc1 -std=c++11 %s -fsyntax-only -verify -fms-compatibility -fexceptions -fcxx-exceptions +// RUN: %clang_cc1 -std=c++17 %s -fsyntax-only -verify -fms-compatibility

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-16 Thread Reid Kleckner via Phabricator via cfe-commits
rnk updated this revision to Diff 220376. rnk added a comment. - move test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67590/new/ https://reviews.llvm.org/D67590 Files: clang/lib/Sema/SemaDecl.cpp clang/test/SemaCXX/ms-exception-spec.cpp

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-16 Thread Reid Kleckner via Phabricator via cfe-commits
rnk commandeered this revision. rnk edited reviewers, added: alexfusco; removed: rnk. rnk added a comment. Taking this to move the test around and try the other version... Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67590/new/ https://reviews.llvm.org/D67590

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-16 Thread Alex Fusco via Phabricator via cfe-commits
alexfusco updated this revision to Diff 220367. alexfusco added a comment. Updated to unconditionally ignore the exception spec here, since it has already been compared. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67590/new/ https://reviews.llvm.org/D67590

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-16 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added inline comments. Comment at: lib/Sema/SemaDecl.cpp:3565-3572 +if (OldQTypeForComparison == NewQType || +// In Microsoft compatibility mode, the intent is to only warn on +// mismatched exception specifiers. By this point, that warning has +

[PATCH] D67590: Properly ignore mismatched exception specifiers in MSVC Compat mode.

2019-09-14 Thread Alex Fusco via Phabricator via cfe-commits
alexfusco created this revision. alexfusco added a project: clang. Herald added a subscriber: cfe-commits. This fixes the error compiling _com_ptr_t described in https://bugs.llvm.org/show_bug.cgi?id=42842 In MSVCCompat mode, clang already attempts to downgrade these mismatches to a