aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/llvm/include/llvm/Support/Compiler.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2018-10-09 16:15:10 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2019-03-22 16:11:46 +0000
commitc740143ad6938bf1c81a40de73649e8664f6037f (patch)
treeb25795145386b61f8115e7026b7e62eb437bf123 /src/3rdparty/llvm/include/llvm/Support/Compiler.h
parentb92b125455cc01dd48f496d85bdb7a1c96a258fd (diff)
V4: Add headers from LLVM that define an intrusive list template
These intrusive list is used in the follow-up patch, where it is used to hold a list of basic blocks in a function, and a list of instructions in the basic block. The advantage of this implementation is that it there is an easy and direct access to iterators when you have an element, it defines STL-like iterators, is double-linked, and you can easily insert before and after elements. We don't have something like this in Qt, and it's better to take an existing and well-tested implementation that making a home-grown one. Change-Id: Ie8c726eafe6d7558ae6a3550e8ecc2f15f362b17 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/3rdparty/llvm/include/llvm/Support/Compiler.h')
-rw-r--r--src/3rdparty/llvm/include/llvm/Support/Compiler.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/3rdparty/llvm/include/llvm/Support/Compiler.h b/src/3rdparty/llvm/include/llvm/Support/Compiler.h
new file mode 100644
index 0000000000..43a96e49ce
--- /dev/null
+++ b/src/3rdparty/llvm/include/llvm/Support/Compiler.h
@@ -0,0 +1,19 @@
+//===-- llvm/Support/Compiler.h - Compiler abstraction support --*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Due to layering constraints (Support depends on Demangler) this is a thin
+// wrapper around the implementation that lives in llvm-c, though most clients
+// can/should think of this as being provided by Support for simplicity (not
+// many clients are aware of their dependency on Demangler/it's a weird place to
+// own this - but didn't seem to justify splitting Support into "lower support"
+// and "upper support").
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Demangle/Compiler.h"