| Index: src/IceGlobalInits.h
|
| diff --git a/src/IceGlobalInits.h b/src/IceGlobalInits.h
|
| index 8b060419652aab2eaba3c1e32468a69f3c7bf129..4c51606c6419f9aa13428c405a3481baa9c9eb53 100644
|
| --- a/src/IceGlobalInits.h
|
| +++ b/src/IceGlobalInits.h
|
| @@ -286,9 +286,15 @@ public:
|
| }
|
|
|
| bool getSuppressMangling() const final {
|
| + if (ForceSuppressMangling)
|
| + return true;
|
| return isExternal() && !hasInitializer();
|
| }
|
|
|
| + void setSuppressMangling() {
|
| + ForceSuppressMangling = true;
|
| + }
|
| +
|
| private:
|
| // list of initializers for the declared variable.
|
| InitializerListType Initializers;
|
| @@ -296,11 +302,13 @@ private:
|
| uint32_t Alignment;
|
| // True if a declared (global) constant.
|
| bool IsConstant;
|
| + // If set to true, force getSuppressMangling() to return true.
|
| + bool ForceSuppressMangling;
|
|
|
| VariableDeclaration()
|
| : GlobalDeclaration(VariableDeclarationKind,
|
| llvm::GlobalValue::InternalLinkage),
|
| - Alignment(0), IsConstant(false) {}
|
| + Alignment(0), IsConstant(false), ForceSuppressMangling(false) {}
|
| };
|
|
|
| template <class StreamType>
|
|
|