diff options
author | Erich Keane <erich.keane@intel.com> | 2019-01-15 17:51:09 +0000 |
---|---|---|
committer | Erich Keane <erich.keane@intel.com> | 2019-01-15 17:51:09 +0000 |
commit | e6829a5eb343fdc6cdf9e7e5a63ad0e810509d29 (patch) | |
tree | da07c9c206576d2c0be17535665ef943e1d1941a /clang/lib | |
parent | dee001207e0985d9ad17fee765fc32b6ad4fa1e3 (diff) |
Fix cpu-dispatch MV regression caused by r347812
r347812 permitted forward declarations for cpu-dispatch functions, which
are occassionally useful as exposition in header files. However, this inadvertently
permitted this function to become multiversioned after a usage. This
patch ensures that the "CausesMV" checks are still run in the
forward-declaration case.
Change-Id: Icb6f975a2d068f088b89e3bbe26cf1d24f5a972c
llvm-svn: 351212
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index e853180d76a0..23c99d45a78d 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -9816,7 +9816,8 @@ static bool CheckMultiVersionAdditionalDecl( return true; } - if (CheckMultiVersionAdditionalRules(S, OldFD, NewFD, false, NewMVType)) { + if (CheckMultiVersionAdditionalRules(S, OldFD, NewFD, + !OldFD->isMultiVersion(), NewMVType)) { NewFD->setInvalidDecl(); return true; } |