[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2019-01-10 Thread Matt Davis via Phabricator via cfe-commits
mattd added a comment. *Ping* to see if anyone else has any feedback towards this patch. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55039/new/ https://reviews.llvm.org/D55039 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http:/

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-12-18 Thread Matt Davis via Phabricator via cfe-commits
mattd marked an inline comment as not done. mattd added a comment. In D55039#1334195 , @Rakete wrote: > Apart from the comments I think your patch LGTM, but I'll let someone else > hav the final say. Thanks for taking a peek! CHANGES SINCE LAST AC

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-12-18 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added a comment. Apart from the comments I think your patch LGTM, but I'll let someone else hav the final say. Comment at: lib/Sema/SemaDecl.cpp:10266 auto *FPT = NewFD->getType()->castAs(); - bool AnyNoexcept = HasNoexcept(FPT->getReturnType()); -

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-12-12 Thread Matt Davis via Phabricator via cfe-commits
mattd marked 2 inline comments as done. mattd added inline comments. Comment at: lib/Sema/SemaDecl.cpp:10266 auto *FPT = NewFD->getType()->castAs(); - bool AnyNoexcept = HasNoexcept(FPT->getReturnType()); - for (QualType T : FPT->param_types()) -AnyNoexce

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-12-04 Thread Matt Davis via Phabricator via cfe-commits
mattd marked an inline comment as done. mattd added inline comments. Comment at: lib/Sema/SemaDecl.cpp:10266 auto *FPT = NewFD->getType()->castAs(); - bool AnyNoexcept = HasNoexcept(FPT->getReturnType()); - for (QualType T : FPT->param_types()) -AnyNoexce

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-12-03 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added inline comments. Comment at: lib/Sema/SemaDecl.cpp:9933 +llvm::any_of(FPT->param_types(), + [](QualType Q) { return hasNoexcept(Q); })) + return true; You don't need this lambda. Comment at: lib

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-12-03 Thread Matt Davis via Phabricator via cfe-commits
mattd updated this revision to Diff 176515. mattd added a comment. - Move the HasNoexcept lambda to its own static function. - Added an additional check in HasNoexcept to recursively check return values. - Modified the parameter check in Sema::CheckFunctionDeclaration to use llvm::any_of, all we

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-11-29 Thread Matt Davis via Phabricator via cfe-commits
mattd marked an inline comment as done. mattd added a comment. Thanks for the reviews and added example. I'll update the logic to account for the return type, and add @Rakete 's example to the existing test. Comment at: lib/Sema/SemaDecl.cpp:10225 + llvm::any

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-11-29 Thread Erik Pilkington via Phabricator via cfe-commits
erik.pilkington added a comment. It seems like this check isn't really doing enough to catch this break in full generality. For instance, the mangling of the following changes from C++14 to 17, but isn't diagnosed here: template struct something {}; void f(something) {} The right thing to

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-11-28 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added a comment. You're missing the case of the function return type of a parameter. void f(void (*g())() noexcept); // no warning with trunk nor with your patch CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55039/new/ https://reviews.llvm.org/D55039 ___

[PATCH] D55039: [sema] Warn of mangling change if function parameters are noexcept.

2018-11-28 Thread Matt Davis via Phabricator via cfe-commits
mattd created this revision. mattd added reviewers: erik.pilkington, rsmith. The flag: `-Wc++17-compat-mangling` was not emitting a warning diagnostic in all cases, specifically if a function has parameters that happen to have function pointers that have noexecept parameters. For example: v