Commit c15f0f35 authored by inglorion's avatar inglorion Committed by Commit Bot

mark fakes used in gcp_unittests lto_visibility_public

gcp_unittests makes a call across DLL boundaries to register fake
implementations for testing. This is not visible to link-time
optimization, so the classes involved need to be marked
lto_visibility_public to prevent the optimizer from generating
invalid code. See https://clang.llvm.org/docs/LTOVisibility.html

BUG=928396

Change-Id: Ie02e72503b3da8f9c35074bb7c2291d860baba42
Reviewed-on: https://chromium-review.googlesource.com/c/1455095Reviewed-by: default avatarReid Kleckner <rnk@chromium.org>
Reviewed-by: default avatarRoger Tawa <rogerta@chromium.org>
Auto-Submit: Bob Haarman <inglorion@chromium.org>
Commit-Queue: Bob Haarman <inglorion@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630446}
parent b67db775
...@@ -24,7 +24,7 @@ class ScopedProcessInformation; ...@@ -24,7 +24,7 @@ class ScopedProcessInformation;
namespace credential_provider { namespace credential_provider {
// Manages OS processes and process attributes. // Manages OS processes and process attributes.
class OSProcessManager { class [[clang::lto_visibility_public]] OSProcessManager {
public: public:
static OSProcessManager* Get(); static OSProcessManager* Get();
......
...@@ -13,7 +13,7 @@ typedef wchar_t* BSTR; ...@@ -13,7 +13,7 @@ typedef wchar_t* BSTR;
namespace credential_provider { namespace credential_provider {
// Manages OS users on the system. // Manages OS users on the system.
class OSUserManager { class [[clang::lto_visibility_public]] OSUserManager {
public: public:
// Minimum length for password buffer when calling GenerateRandomPassword(). // Minimum length for password buffer when calling GenerateRandomPassword().
static const int kMinPasswordLength = 24; static const int kMinPasswordLength = 24;
......
...@@ -14,7 +14,7 @@ namespace credential_provider { ...@@ -14,7 +14,7 @@ namespace credential_provider {
class FakeScopedLsaPolicyFactory; class FakeScopedLsaPolicyFactory;
class ScopedLsaPolicy { class [[clang::lto_visibility_public]] ScopedLsaPolicy {
public: public:
static std::unique_ptr<ScopedLsaPolicy> Create(ACCESS_MASK mask); static std::unique_ptr<ScopedLsaPolicy> Create(ACCESS_MASK mask);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment