41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
|
|
|
|
Upstream suggests to use Chromium's hermetic clang
|
|
instead.
|
|
|
|
Signed-off-by: Maksim Sisov <msisov@igalia.com>
|
|
---
|
|
From bde3186ccba169391fb428fcc296b2236ada0010 Mon Sep 17 00:00:00 2001
|
|
From: Maksim Sisov <msisov@igalia.com>
|
|
Date: Wed, 5 May 2021 15:20:43 +0300
|
|
Subject: [PATCH] nomerge attribute on declaration is only available since
|
|
clang 12
|
|
|
|
This change fixes builds with older clangs that do not allow
|
|
nomerge attributes on declaration. Otherwise, the following error
|
|
is produced -
|
|
|
|
build error: 'nomerge' attribute cannot be applied to a declaration
|
|
|
|
See https://reviews.llvm.org/D92800
|
|
|
|
Change-Id: I32e1f7dc9049737d54d8a16de5308aa5aae1ced1
|
|
---
|
|
base/compiler_specific.h | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/base/compiler_specific.h b/base/compiler_specific.h
|
|
index 9fba098d95..8d730deed6 100644
|
|
--- a/base/compiler_specific.h
|
|
+++ b/base/compiler_specific.h
|
|
@@ -346,7 +346,8 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
|
|
#endif // defined(__clang_analyzer__)
|
|
|
|
// Use nomerge attribute to disable optimization of merging multiple same calls.
|
|
-#if defined(__clang__) && HAS_ATTRIBUTE(nomerge)
|
|
+#if defined(__clang__) && (__clang_major__ >= 12) && \
|
|
+ HAS_ATTRIBUTE(nomerge) && !defined(OS_CHROMEOS)
|
|
#define NOMERGE [[clang::nomerge]]
|
|
#else
|
|
#define NOMERGE
|