Compare commits
150 Commits
Author | SHA1 | Date |
---|---|---|
sergesanspaille | 0c8ce6b93d | |
sergesanspaille | 80c3a7cb7a | |
sergesanspaille | dc3ceec895 | |
Tom Stellard | 7a3aee27c2 | |
sergesanspaille | fd397b2953 | |
sergesanspaille | dc1e065203 | |
sergesanspaille | b73627486c | |
sergesanspaille | 8d37c48855 | |
Christophe de Dinechin | 5e48b7c9be | |
sergesanspaille | 9264afee32 | |
sergesanspaille | b45d596d2f | |
sergesanspaille | 28cdc9893f | |
sergesanspaille | 139b5a7e66 | |
sergesanspaille | b6fa739f4c | |
Tom Stellard | 03d578532d | |
sergesanspaille | 688e6aa50e | |
sergesanspaille | cf309ffb9a | |
Fedora Release Engineering | 51cb45dd23 | |
Tom Stellard | 5baf5a3c1f | |
Tom Stellard | 86a049a618 | |
Tom Stellard | 4c28031fc0 | |
sergesanspaille | 797f722f5f | |
Tom Stellard | 6ff40379f9 | |
Tom Stellard | 73d4dd7e74 | |
Tom Stellard | d04c1c444a | |
Tom Stellard | 69ca58540c | |
Tom Stellard | e3a4c7d64e | |
Tom Stellard | 1ca49851e1 | |
Tom Stellard | 277bd76c83 | |
Tom Stellard | 77df2a6206 | |
sergesanspaille | 7b4d800ffc | |
Miro Hrončok | 86a9d03ab1 | |
Fedora Release Engineering | b3b8190661 | |
sergesanspaille | 09654593bd | |
sergesanspaille | fe4c5544fa | |
sergesanspaille | 32e777c925 | |
sergesanspaille | 25a719b7c8 | |
sergesanspaille | cc03e58772 | |
sergesanspaille | 434e91810d | |
sergesanspaille | b4398f1f4f | |
sergesanspaille | d31698ef8e | |
Tom Stellard | d41e350538 | |
sergesanspaille | 81de65ab87 | |
sergesanspaille | 0cae14eafb | |
sergesanspaille | d89c69d309 | |
sergesanspaille | dc3e88bfa1 | |
sergesanspaille | f5f2063cd5 | |
sergesanspaille | 54010afc71 | |
sergesanspaille | 78aea57435 | |
sergesanspaille | 478f0a1e6b | |
sergesanspaille | b53704a451 | |
sergesanspaille | b4f2f9a2ea | |
sergesanspaille | 734d45aa8f | |
sergesanspaille | dc88066dc2 | |
sergesanspaille | 59a913a078 | |
Fedora Release Engineering | aa6b8300b9 | |
Tom Stellard | 1f58b21528 | |
Tom Stellard | 1e5a2ecac9 | |
sergesanspaille | 01e69400f6 | |
sergesanspaille | d870610e6e | |
sergesanspaille | dbc386190b | |
sergesanspaille | c67fd455f2 | |
Tom Stellard | 52edfa5810 | |
Tom Stellard | d49953335b | |
sergesanspaille | 62621b0c0b | |
Tom Stellard | a37bcb2943 | |
sergesanspaille | b730992174 | |
Tom Stellard | 816ea521a1 | |
Tom Stellard | 120d6498d7 | |
Tom Stellard | 94356f81b4 | |
Tom Stellard | 471d877a78 | |
Tom Stellard | 15d2b4b54e | |
Tom Stellard | 468c6f2a1a | |
Tom Stellard | 00e1fa93d1 | |
Tom Stellard | fe1772d561 | |
Tom Stellard | 5d6c3ad71b | |
Tom Stellard | 3f2f4300ee | |
Tom Stellard | 6955c7a59c | |
Tom Stellard | 3f7338a07c | |
Tom Stellard | 2fbc3e1b92 | |
Tom Stellard | 17d16059d3 | |
Tom Stellard | c823f68df9 | |
Tom Stellard | 5a51a28e57 | |
Tom Stellard | 462b3d2eb2 | |
Tom Stellard | f7f57849e2 | |
Tom Stellard | ad3b6d908d | |
Tom Stellard | 52c2187ff7 | |
Tom Stellard | 68eed61006 | |
Tom Stellard | 599360b865 | |
Tom Stellard | 7761cfa923 | |
Tom Stellard | 74e8e2347b | |
Fedora Release Engineering | 2b91340e99 | |
Igor Gnatenko | 43cdae7656 | |
Tom Stellard | 6f8d08d48c | |
Tom Stellard | db1e6f5a70 | |
Tom Stellard | f917db2d93 | |
Tom Stellard | 47c2db1e9b | |
Tom Stellard | a05a217cc3 | |
Tom Stellard | 44bc19d6da | |
Tom Stellard | 8d35cec936 | |
Tom Stellard | ee5cc3e9a0 | |
Tom Stellard | 79d093b2ef | |
Tom Stellard | 63bf60b284 | |
Tom Stellard | 5e7e9e3879 | |
Tom Stellard | b425aeadd6 | |
Tom Stellard | 90e9f0bc91 | |
Fedora Release Engineering | cdab058afb | |
Tom Stellard | d0ee648ee5 | |
Tom Stellard | 4b5a3e57f2 | |
Tom Stellard | d0138c64a0 | |
Tom Stellard | 5ac6d3e901 | |
Tom Stellard | 034b9aa28c | |
Tom Stellard | 4058470a16 | |
Tom Stellard | ae7609ae85 | |
Iryna Shcherbina | 0e2c86ca94 | |
Tom Stellard | 0b04edabdd | |
Tom Stellard | af6de8b930 | |
Merlin Mathesius | 8d741f391b | |
Tom Stellard | bbbd10910a | |
Tom Stellard | b81322cfd7 | |
Rex Dieter | c9eea4fec4 | |
Rex Dieter | ecb2e4f306 | |
Tom Stellard | d8d5392adc | |
Björn Esser | 3af19e77cb | |
Fedora Release Engineering | ce9e3afff8 | |
Fedora Release Engineering | 5166350706 | |
Tom Stellard | 1b47cc7026 | |
Tom Stellard | 5b04c66a72 | |
Tom Stellard | 521bee158f | |
Tom Stellard | b836ed81d2 | |
Tom Stellard | 89ced16fac | |
Tom Stellard | 497e404f08 | |
Tom Stellard | c473ab989f | |
Tom Stellard | 77fcedd3d8 | |
Tom Stellard | ce584ee113 | |
Tom Stellard | f38da92e21 | |
Tom Stellard | 5617ce07d5 | |
Tom Stellard | d5d64ecc50 | |
Tom Stellard | 018a18dbcb | |
Tom Stellard | 35b5199dd7 | |
Tom Stellard | 8418314297 | |
David Goerger | 1e780f739c | |
Tom Stellard | 455a190b00 | |
Dave Airlie | 7dd65de1f1 | |
Fedora Release Engineering | dda98096c5 | |
Nathaniel McCallum | 0b2ece30d8 | |
Peter Robinson | 31378497ca | |
Dave Airlie | ccee982634 | |
Dave Airlie | b93ace5bdb | |
Dave Airlie | 7816b615d2 |
|
@ -3,3 +3,99 @@
|
|||
/cfe-3.8.0rc2.src.tar.xz
|
||||
/cfe-3.8.0rc3.src.tar.xz
|
||||
/cfe-3.8.0.src.tar.xz
|
||||
/cfe-3.9.0.src.tar.xz
|
||||
/cfe-3.9.1.src.tar.xz
|
||||
/clang-tools-extra-3.9.1.src.tar.xz
|
||||
/cfe-4.0.0.src.tar.xz
|
||||
/clang-tools-extra-4.0.0.src.tar.xz
|
||||
/test-suite-4.0.0.src.tar.xz
|
||||
/cfe-4.0.1.src.tar.xz
|
||||
/test-suite-4.0.1.src.tar.xz
|
||||
/clang-tools-extra-4.0.1.src.tar.xz
|
||||
/cfe-5.0.0.src.tar.xz
|
||||
/test-suite-5.0.0.src.tar.xz
|
||||
/clang-tools-extra-5.0.0.src.tar.xz
|
||||
/clang-tools-extra-5.0.1.src.tar.xz
|
||||
/cfe-5.0.1.src.tar.xz
|
||||
/test-suite-5.0.1.src.tar.xz
|
||||
/cfe-6.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-6.0.0rc1.src.tar.xz
|
||||
/test-suite-6.0.0rc1.src.tar.xz
|
||||
/cfe-6.0.0rc2.src.tar.xz
|
||||
/test-suite-6.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-6.0.0rc2.src.tar.xz
|
||||
/cfe-6.0.0.src.tar.xz
|
||||
/test-suite-6.0.0.src.tar.xz
|
||||
/clang-tools-extra-6.0.0.src.tar.xz
|
||||
/cfe-6.0.1rc1.src.tar.xz
|
||||
/clang-tools-extra-6.0.1rc1.src.tar.xz
|
||||
/test-suite-6.0.1rc1.src.tar.xz
|
||||
/cfe-6.0.1rc2.src.tar.xz
|
||||
/clang-tools-extra-6.0.1rc2.src.tar.xz
|
||||
/test-suite-6.0.1rc2.src.tar.xz
|
||||
/cfe-6.0.1.src.tar.xz
|
||||
/clang-tools-extra-6.0.1.src.tar.xz
|
||||
/test-suite-6.0.1.src.tar.xz
|
||||
/cfe-7.0.0rc1.src.tar.xz
|
||||
/test-suite-7.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-7.0.0rc1.src.tar.xz
|
||||
/test-suite-7.0.0rc1.src.fedora.tar.gz
|
||||
/test-suite-7.0.0rc1.src.fedora.tar.xz
|
||||
/cfe-7.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-7.0.0rc2.src.tar.xz
|
||||
/test-suite-7.0.0rc2.src.fedora.tar.xz
|
||||
/cfe-7.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-7.0.0rc3.src.tar.xz
|
||||
/test-suite-7.0.0rc3.src.fedora.tar.xz
|
||||
/cfe-7.0.0.src.tar.xz
|
||||
/test-suite-7.0.0.src.fedora.tar.xz
|
||||
/clang-tools-extra-7.0.0.src.tar.xz
|
||||
/clang-tools-extra-7.0.1.src.tar.xz
|
||||
/cfe-7.0.1.src.tar.xz
|
||||
/clang-tools-extra-8.0.0rc1.src.tar.xz
|
||||
/cfe-8.0.0rc1.src.tar.xz
|
||||
/cfe-8.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-8.0.0rc2.src.tar.xz
|
||||
/cfe-8.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-8.0.0rc3.src.tar.xz
|
||||
|
||||
/cfe-8.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-8.0.0rc4.src.tar.xz
|
||||
/cfe-8.0.0.src.tar.xz
|
||||
/clang-tools-extra-8.0.0.src.tar.xz
|
||||
/cfe-9.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-9.0.0rc2.src.tar.xz
|
||||
/cfe-9.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-9.0.0rc3.src.tar.xz
|
||||
/cfe-9.0.0.src.tar.xz
|
||||
/clang-tools-extra-9.0.0.src.tar.xz
|
||||
/clang-9.0.1.src.tar.xz
|
||||
/clang-tools-extra-9.0.1.src.tar.xz
|
||||
/clang-10.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc1.src.tar.xz
|
||||
/clang-10.0.0rc1.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0rc1.src.tar.xz.sig
|
||||
/clang-10.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc2.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc2.src.tar.xz.sig
|
||||
/clang-10.0.0rc2.src.tar.xz.sig
|
||||
/clang-10.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc3.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc3.src.tar.xz.sig
|
||||
/clang-10.0.0rc3.src.tar.xz.sig
|
||||
/clang-10.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc4.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc4.src.tar.xz.sig
|
||||
/clang-10.0.0rc4.src.tar.xz.sig
|
||||
/clang-10.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc5.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc5.src.tar.xz.sig
|
||||
/clang-10.0.0rc5.src.tar.xz.sig
|
||||
/clang-10.0.0rc6.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc6.src.tar.xz
|
||||
/clang-tools-extra-10.0.0rc6.src.tar.xz.sig
|
||||
/clang-10.0.0rc6.src.tar.xz.sig
|
||||
/clang-10.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0.src.tar.xz.sig
|
||||
/clang-tools-extra-10.0.0.src.tar.xz
|
||||
/clang-10.0.0.src.tar.xz
|
||||
|
|
|
@ -1,395 +0,0 @@
|
|||
From fcf1bf168329a22bfb1ef32c6d90d2ab9ffea26b Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Polukhin <dmitry.polukhin@gmail.com>
|
||||
Date: Wed, 9 Mar 2016 15:30:53 +0000
|
||||
Subject: [PATCH 1/2] [GCC] PR23529 Sema part of attrbute abi_tag support
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Commit: Stephan Bergmann <sbergman@redhat.com>
|
||||
CommitDate: Fri Jul 1 09:12:17 2016 +0200
|
||||
|
||||
Original patch by Stefan Bühler http://reviews.llvm.org/D12834
|
||||
|
||||
Difference between original and this one:
|
||||
- fixed all comments in original code review
|
||||
- added more tests, all new diagnostics now covered by tests
|
||||
- moved abi_tag on re-declaration checks to Sema::mergeDeclAttributes
|
||||
where they actually may work as designed
|
||||
- clang-format + other stylistic changes
|
||||
|
||||
Mangle part will be sent for review as a separate patch.
|
||||
|
||||
Differential Revision: http://reviews.llvm.org/D17567
|
||||
|
||||
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263015 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||
|
||||
(cherry picked from commit 707118c24cbb8849f27204b27dddfe8213a3dbb5)
|
||||
Conflicts:
|
||||
include/clang/Basic/AttrDocs.td
|
||||
include/clang/Basic/DiagnosticSemaKinds.td
|
||||
include/clang/Sema/AttributeList.h
|
||||
lib/Sema/SemaDeclAttr.cpp
|
||||
plus a4a149223dcbe73632b037fd5694c8589d5ee8d5 "NFC fix documentation build by
|
||||
rL263015"
|
||||
plus 2a54cbaf170652dfda762cdbd0ddb004dd1c1d55 "NFC fix documentation build by
|
||||
rL263015: This time I hope it will fix the build for real."
|
||||
---
|
||||
docs/ItaniumMangleAbiTags.rst | 107 +++++++++++++++++++++++++++++
|
||||
docs/index.rst | 1 +
|
||||
include/clang/Basic/Attr.td | 8 +++
|
||||
include/clang/Basic/AttrDocs.td | 13 ++++
|
||||
include/clang/Basic/DiagnosticSemaKinds.td | 10 ++-
|
||||
include/clang/Sema/AttributeList.h | 3 +-
|
||||
lib/Sema/SemaDecl.cpp | 18 +++++
|
||||
lib/Sema/SemaDeclAttr.cpp | 39 +++++++++++
|
||||
test/SemaCXX/attr-abi-tag-syntax.cpp | 43 ++++++++++++
|
||||
9 files changed, 240 insertions(+), 2 deletions(-)
|
||||
create mode 100644 docs/ItaniumMangleAbiTags.rst
|
||||
create mode 100644 test/SemaCXX/attr-abi-tag-syntax.cpp
|
||||
|
||||
diff --git a/docs/ItaniumMangleAbiTags.rst b/docs/ItaniumMangleAbiTags.rst
|
||||
new file mode 100644
|
||||
index 0000000..2d65031
|
||||
--- /dev/null
|
||||
+++ b/docs/ItaniumMangleAbiTags.rst
|
||||
@@ -0,0 +1,107 @@
|
||||
+========
|
||||
+ABI tags
|
||||
+========
|
||||
+
|
||||
+Introduction
|
||||
+============
|
||||
+
|
||||
+This text tries to describe gcc semantic for mangling "abi_tag" attributes
|
||||
+described in https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html
|
||||
+
|
||||
+There is no guarantee the following rules are correct, complete or make sense
|
||||
+in any way as they were determined empirically by experiments with gcc5.
|
||||
+
|
||||
+Declaration
|
||||
+===========
|
||||
+
|
||||
+ABI tags are declared in an abi_tag attribute and can be applied to a
|
||||
+function, variable, class or inline namespace declaration. The attribute takes
|
||||
+one or more strings (called tags); the order does not matter.
|
||||
+
|
||||
+See https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html for
|
||||
+details.
|
||||
+
|
||||
+Tags on an inline namespace are called "implicit tags", all other tags are
|
||||
+"explicit tags".
|
||||
+
|
||||
+Mangling
|
||||
+========
|
||||
+
|
||||
+All tags that are "active" on an <unqualified-name> are emitted after the
|
||||
+<unqualified-name>, before <template-args> or <discriminator>, and are part of
|
||||
+the same <substitution> the <unqualified-name> is.
|
||||
+
|
||||
+They are mangled as:
|
||||
+
|
||||
+.. code-block:: none
|
||||
+
|
||||
+ <abi-tags> ::= <abi-tag>* # sort by name
|
||||
+ <abi-tag> ::= B <tag source-name>
|
||||
+
|
||||
+Example:
|
||||
+
|
||||
+.. code-block:: c++
|
||||
+
|
||||
+ __attribute__((abi_tag("test")))
|
||||
+ void Func();
|
||||
+ // gets mangled as: _Z4FuncB4testv (prettified as `Func[abi:test]()`)
|
||||
+
|
||||
+Active tags
|
||||
+===========
|
||||
+
|
||||
+A namespace does not have any active tags. For types (class / struct / union /
|
||||
+enum), the explicit tags are the active tags.
|
||||
+
|
||||
+For variables and functions, the active tags are the explicit tags plus any
|
||||
+"required tags" which are not in the "available tags" set:
|
||||
+
|
||||
+.. code-block:: none
|
||||
+
|
||||
+ derived-tags := (required-tags - available-tags)
|
||||
+ active-tags := explicit-tags + derived-tags
|
||||
+
|
||||
+Required tags for a function
|
||||
+============================
|
||||
+
|
||||
+If a function is used as a local scope for another name, and is part of
|
||||
+another function as local scope, it doesn't have any required tags.
|
||||
+
|
||||
+If a function is used as a local scope for a guard variable name, it doesn't
|
||||
+have any required tags.
|
||||
+
|
||||
+Otherwise the function requires any implicit or explicit tag used in the name
|
||||
+for the return type.
|
||||
+
|
||||
+Example:
|
||||
+
|
||||
+.. code-block:: c++
|
||||
+
|
||||
+ namespace A {
|
||||
+ inline namespace B __attribute__((abi_tag)) {
|
||||
+ struct C { int x; };
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ A::C foo(); // gets mangled as: _Z3fooB1Bv (prettified as `foo[abi:B]()`)
|
||||
+
|
||||
+Required tags for a variable
|
||||
+============================
|
||||
+
|
||||
+A variable requires any implicit or explicit tag used in its type.
|
||||
+
|
||||
+Available tags
|
||||
+==============
|
||||
+
|
||||
+All tags used in the prefix and in the template arguments for a name are
|
||||
+available. Also, for functions, all tags from the <bare-function-type>
|
||||
+(which might include the return type for template functions) are available.
|
||||
+
|
||||
+For <local-name>s all active tags used in the local part (<function-
|
||||
+encoding>) are available, but not implicit tags which were not active.
|
||||
+
|
||||
+Implicit and explicit tags used in the <unqualified-name> for a function (as
|
||||
+in the type of a cast operator) are NOT available.
|
||||
+
|
||||
+Example: a cast operator to std::string (which is
|
||||
+std::__cxx11::basic_string<...>) will use 'cxx11' as an active tag, as it is
|
||||
+required from the return type `std::string` but not available.
|
||||
diff --git a/docs/index.rst b/docs/index.rst
|
||||
index a0a70c0..e2dc857 100644
|
||||
--- a/docs/index.rst
|
||||
+++ b/docs/index.rst
|
||||
@@ -75,6 +75,7 @@ Design Documents
|
||||
DriverInternals
|
||||
PTHInternals
|
||||
PCHInternals
|
||||
+ ItaniumMangleAbiTags
|
||||
|
||||
|
||||
Indices and tables
|
||||
diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td
|
||||
index d5ba722..82d5f5f 100644
|
||||
--- a/include/clang/Basic/Attr.td
|
||||
+++ b/include/clang/Basic/Attr.td
|
||||
@@ -349,6 +349,14 @@ class IgnoredAttr : Attr {
|
||||
// Attributes begin here
|
||||
//
|
||||
|
||||
+def AbiTag : Attr {
|
||||
+ let Spellings = [GCC<"abi_tag">];
|
||||
+ let Args = [VariadicStringArgument<"Tags">];
|
||||
+ let Subjects = SubjectList<[Struct, Var, Function, Namespace], ErrorDiag,
|
||||
+ "ExpectedStructClassVariableFunctionOrInlineNamespace">;
|
||||
+ let Documentation = [AbiTagsDocs];
|
||||
+}
|
||||
+
|
||||
def AddressSpace : TypeAttr {
|
||||
let Spellings = [GNU<"address_space">];
|
||||
let Args = [IntArgument<"AddressSpace">];
|
||||
diff --git a/include/clang/Basic/AttrDocs.td b/include/clang/Basic/AttrDocs.td
|
||||
index 2567d55..ca82773 100644
|
||||
--- a/include/clang/Basic/AttrDocs.td
|
||||
+++ b/include/clang/Basic/AttrDocs.td
|
||||
@@ -1859,3 +1859,16 @@ Marking virtual functions as ``disable_tail_calls`` is legal.
|
||||
|
||||
}];
|
||||
}
|
||||
+
|
||||
+def AbiTagsDocs : Documentation {
|
||||
+ let Content = [{
|
||||
+The ``abi_tag`` attribute can be applied to a function, variable, class or
|
||||
+inline namespace declaration to modify the mangled name of the entity. It gives
|
||||
+the ability to distinguish between different versions of the same entity but
|
||||
+with different ABI versions supported. For example, a newer version of a class
|
||||
+could have a different set of data members and thus have a different size. Using
|
||||
+the ``abi_tag`` attribute, it is possible to have different mangled names for
|
||||
+a global variable of the class type. Therefor, the old code could keep using
|
||||
+the old manged name and the new code will use the new mangled name with tags.
|
||||
+ }];
|
||||
+}
|
||||
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
|
||||
index 6ba482c..b77e4bf 100644
|
||||
--- a/include/clang/Basic/DiagnosticSemaKinds.td
|
||||
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
|
||||
@@ -2434,7 +2434,8 @@ def warn_attribute_wrong_decl_type : Warning<
|
||||
"Objective-C instance methods|init methods of interface or class extension declarations|"
|
||||
"variables, functions and classes|Objective-C protocols|"
|
||||
"functions and global variables|structs, unions, and typedefs|structs and typedefs|"
|
||||
- "interface or protocol declarations|kernel functions|non-K&R-style functions}1">,
|
||||
+ "interface or protocol declarations|kernel functions|non-K&R-style functions|"
|
||||
+ "structs, classes, variables, functions, and inline namespaces}1">,
|
||||
InGroup<IgnoredAttributes>;
|
||||
def err_attribute_wrong_decl_type : Error<warn_attribute_wrong_decl_type.Text>;
|
||||
def warn_type_attribute_wrong_type : Warning<
|
||||
@@ -4144,6 +4145,13 @@ def err_definition_of_explicitly_defaulted_member : Error<
|
||||
def err_redefinition_extern_inline : Error<
|
||||
"redefinition of a 'extern inline' function %0 is not supported in "
|
||||
"%select{C99 mode|C++}1">;
|
||||
+def warn_attr_abi_tag_namespace : Warning<
|
||||
+ "'abi_tag' attribute on %select{non-inline|anonymous}0 namespace ignored">,
|
||||
+ InGroup<IgnoredAttributes>;
|
||||
+def err_abi_tag_on_redeclaration : Error<
|
||||
+ "cannot add 'abi_tag' attribute in a redeclaration">;
|
||||
+def err_new_abi_tag_on_redeclaration : Error<
|
||||
+ "'abi_tag' %0 missing in original declaration">;
|
||||
|
||||
def note_deleted_dtor_no_operator_delete : Note<
|
||||
"virtual destructor requires an unambiguous, accessible 'operator delete'">;
|
||||
diff --git a/include/clang/Sema/AttributeList.h b/include/clang/Sema/AttributeList.h
|
||||
index e32781d..755ef54 100644
|
||||
--- a/include/clang/Sema/AttributeList.h
|
||||
+++ b/include/clang/Sema/AttributeList.h
|
||||
@@ -855,7 +855,8 @@ enum AttributeDeclKind {
|
||||
ExpectedStructOrTypedef,
|
||||
ExpectedObjectiveCInterfaceOrProtocol,
|
||||
ExpectedKernelFunction,
|
||||
- ExpectedFunctionWithProtoType
|
||||
+ ExpectedFunctionWithProtoType,
|
||||
+ ExpectedStructClassVariableFunctionOrInlineNamespace
|
||||
};
|
||||
|
||||
} // end namespace clang
|
||||
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
|
||||
index f95d106..681aadc 100644
|
||||
--- a/lib/Sema/SemaDecl.cpp
|
||||
+++ b/lib/Sema/SemaDecl.cpp
|
||||
@@ -2396,6 +2396,24 @@ void Sema::mergeDeclAttributes(NamedDecl *New, Decl *Old,
|
||||
}
|
||||
}
|
||||
|
||||
+ // Re-declaration cannot add abi_tag's.
|
||||
+ if (const auto *NewAbiTagAttr = New->getAttr<AbiTagAttr>()) {
|
||||
+ if (const auto *OldAbiTagAttr = Old->getAttr<AbiTagAttr>()) {
|
||||
+ for (const auto &NewTag : NewAbiTagAttr->tags()) {
|
||||
+ if (std::find(OldAbiTagAttr->tags_begin(), OldAbiTagAttr->tags_end(),
|
||||
+ NewTag) == OldAbiTagAttr->tags_end()) {
|
||||
+ Diag(NewAbiTagAttr->getLocation(),
|
||||
+ diag::err_new_abi_tag_on_redeclaration)
|
||||
+ << NewTag;
|
||||
+ Diag(OldAbiTagAttr->getLocation(), diag::note_previous_declaration);
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ Diag(NewAbiTagAttr->getLocation(), diag::err_abi_tag_on_redeclaration);
|
||||
+ Diag(Old->getLocation(), diag::note_previous_declaration);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (!Old->hasAttrs())
|
||||
return;
|
||||
|
||||
diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp
|
||||
index f94c822..7214202 100644
|
||||
--- a/lib/Sema/SemaDeclAttr.cpp
|
||||
+++ b/lib/Sema/SemaDeclAttr.cpp
|
||||
@@ -4446,6 +4446,42 @@ static void handleDeclspecThreadAttr(Sema &S, Decl *D,
|
||||
Attr.getRange(), S.Context, Attr.getAttributeSpellingListIndex()));
|
||||
}
|
||||
|
||||
+static void handleAbiTagAttr(Sema &S, Decl *D, const AttributeList &Attr) {
|
||||
+ SmallVector<std::string, 4> Tags;
|
||||
+ for (unsigned I = 0, E = Attr.getNumArgs(); I != E; ++I) {
|
||||
+ StringRef Tag;
|
||||
+ if (!S.checkStringLiteralArgumentAttr(Attr, I, Tag))
|
||||
+ return;
|
||||
+ Tags.push_back(Tag);
|
||||
+ }
|
||||
+
|
||||
+ if (const auto *NS = dyn_cast<NamespaceDecl>(D)) {
|
||||
+ if (!NS->isInline()) {
|
||||
+ S.Diag(Attr.getLoc(), diag::warn_attr_abi_tag_namespace) << 0;
|
||||
+ return;
|
||||
+ }
|
||||
+ if (NS->isAnonymousNamespace()) {
|
||||
+ S.Diag(Attr.getLoc(), diag::warn_attr_abi_tag_namespace) << 1;
|
||||
+ return;
|
||||
+ }
|
||||
+ if (Attr.getNumArgs() == 0)
|
||||
+ Tags.push_back(NS->getName());
|
||||
+ } else if (!checkAttributeAtLeastNumArgs(S, Attr, 1))
|
||||
+ return;
|
||||
+
|
||||
+ // Store tags sorted and without duplicates.
|
||||
+ std::sort(Tags.begin(), Tags.end());
|
||||
+ Tags.erase(std::unique(Tags.begin(), Tags.end()), Tags.end());
|
||||
+
|
||||
+ D->addAttr(::new (S.Context)
|
||||
+ AbiTagAttr(Attr.getRange(), S.Context, Tags.data(), Tags.size(),
|
||||
+ Attr.getAttributeSpellingListIndex()));
|
||||
+
|
||||
+ // FIXME: remove this warning as soon as mangled part is ready.
|
||||
+ S.Diag(Attr.getRange().getBegin(), diag::warn_attribute_ignored)
|
||||
+ << Attr.getName();
|
||||
+}
|
||||
+
|
||||
static void handleARMInterruptAttr(Sema &S, Decl *D,
|
||||
const AttributeList &Attr) {
|
||||
// Check the attribute arguments.
|
||||
@@ -5360,6 +5396,9 @@ static void ProcessDeclAttribute(Sema &S, Scope *scope, Decl *D,
|
||||
case AttributeList::AT_Thread:
|
||||
handleDeclspecThreadAttr(S, D, Attr);
|
||||
break;
|
||||
+ case AttributeList::AT_AbiTag:
|
||||
+ handleAbiTagAttr(S, D, Attr);
|
||||
+ break;
|
||||
|
||||
// Thread safety attributes:
|
||||
case AttributeList::AT_AssertExclusiveLock:
|
||||
diff --git a/test/SemaCXX/attr-abi-tag-syntax.cpp b/test/SemaCXX/attr-abi-tag-syntax.cpp
|
||||
new file mode 100644
|
||||
index 0000000..4a4534a
|
||||
--- /dev/null
|
||||
+++ b/test/SemaCXX/attr-abi-tag-syntax.cpp
|
||||
@@ -0,0 +1,43 @@
|
||||
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
|
||||
+
|
||||
+namespace N1 {
|
||||
+
|
||||
+namespace __attribute__((__abi_tag__)) {}
|
||||
+// expected-warning@-1 {{'abi_tag' attribute on non-inline namespace ignored}}
|
||||
+
|
||||
+namespace N __attribute__((__abi_tag__)) {}
|
||||
+// expected-warning@-1 {{'abi_tag' attribute on non-inline namespace ignored}}
|
||||
+
|
||||
+} // namespace N1
|
||||
+
|
||||
+namespace N2 {
|
||||
+
|
||||
+inline namespace __attribute__((__abi_tag__)) {}
|
||||
+// expected-warning@-1 {{'abi_tag' attribute on anonymous namespace ignored}}
|
||||
+
|
||||
+inline namespace N __attribute__((__abi_tag__)) {}
|
||||
+// FIXME: remove this warning as soon as attribute fully supported.
|
||||
+// expected-warning@-2 {{'__abi_tag__' attribute ignored}}
|
||||
+
|
||||
+} // namespcace N2
|
||||
+
|
||||
+__attribute__((abi_tag("B", "A"))) extern int a1;
|
||||
+// FIXME: remove this warning as soon as attribute fully supported.
|
||||
+// expected-warning@-2 {{'abi_tag' attribute ignored}}
|
||||
+
|
||||
+__attribute__((abi_tag("A", "B"))) extern int a1;
|
||||
+// expected-note@-1 {{previous declaration is here}}
|
||||
+// FIXME: remove this warning as soon as attribute fully supported.
|
||||
+// expected-warning@-3 {{'abi_tag' attribute ignored}}
|
||||
+
|
||||
+__attribute__((abi_tag("A", "C"))) extern int a1;
|
||||
+// expected-error@-1 {{'abi_tag' C missing in original declaration}}
|
||||
+// FIXME: remove this warning as soon as attribute fully supported.
|
||||
+// expected-warning@-3 {{'abi_tag' attribute ignored}}
|
||||
+
|
||||
+extern int a2;
|
||||
+// expected-note@-1 {{previous declaration is here}}
|
||||
+__attribute__((abi_tag("A")))extern int a2;
|
||||
+// expected-error@-1 {{cannot add 'abi_tag' attribute in a redeclaration}}
|
||||
+// FIXME: remove this warning as soon as attribute fully supported.
|
||||
+// expected-warning@-3 {{'abi_tag' attribute ignored}}
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From 690373af5a5d50cf115ed6e4d2849bb786f9dc8e Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Tue, 10 Dec 2019 09:18:03 +0000
|
||||
Subject: [PATCH] Make -funwind-tables the default for all archs
|
||||
|
||||
---
|
||||
clang/lib/Driver/ToolChain.cpp | 2 +-
|
||||
clang/lib/Driver/ToolChains/Gnu.cpp | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
|
||||
index b1fddb0af55..43af40ed0e8 100644
|
||||
--- a/clang/lib/Driver/ToolChain.cpp
|
||||
+++ b/clang/lib/Driver/ToolChain.cpp
|
||||
@@ -244,7 +244,7 @@ std::string ToolChain::getInputFilename(const InputInfo &Input) const {
|
||||
}
|
||||
|
||||
bool ToolChain::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
- return false;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
Tool *ToolChain::getClang() const {
|
||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
index 33cdd3585c2..15e82be8f3a 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2535,7 +2535,7 @@ void Generic_GCC::printVerboseInfo(raw_ostream &OS) const {
|
||||
}
|
||||
|
||||
bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
- return getArch() == llvm::Triple::x86_64;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
bool Generic_GCC::isPICDefault() const {
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
From 09ae3ef5710a89505318ec721c65b6c838147276 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Thu, 7 Feb 2019 21:05:37 -0800
|
||||
Subject: [PATCH] ToolChain: Add -lgcc_s to the linker flags when using libc++
|
||||
|
||||
The libc++ build for Fedora does not include an implementation of
|
||||
libunwind, so we need to explicitly link against something that
|
||||
provides this implementation.
|
||||
---
|
||||
clang/lib/Driver/ToolChain.cpp | 1 +
|
||||
clang/test/Driver/netbsd.cpp | 4 ++--
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
|
||||
index 88a627e..cb99844 100644
|
||||
--- a/lib/Driver/ToolChain.cpp
|
||||
+++ b/lib/Driver/ToolChain.cpp
|
||||
@@ -767,6 +767,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
|
||||
switch (Type) {
|
||||
case ToolChain::CST_Libcxx:
|
||||
CmdArgs.push_back("-lc++");
|
||||
+ CmdArgs.push_back("-lgcc_s");
|
||||
break;
|
||||
|
||||
case ToolChain::CST_Libstdcxx:
|
||||
diff --git a/test/Driver/netbsd.cpp b/test/Driver/netbsd.cpp
|
||||
index 4af7d83..ff18c62 100644
|
||||
--- a/test/Driver/netbsd.cpp
|
||||
+++ b/test/Driver/netbsd.cpp
|
||||
@@ -131,7 +131,7 @@
|
||||
// ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi"
|
||||
// ARM-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
|
||||
// ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
|
||||
-// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
|
||||
+// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc"
|
||||
// ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
|
||||
|
||||
// AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd"
|
||||
@@ -250,7 +250,7 @@
|
||||
// S-ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e-unknown-netbsd7.0.0-eabi"
|
||||
// S-ARM-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
|
||||
// S-ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
|
||||
-// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
|
||||
+// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lgcc_s" "-lm" "-lc"
|
||||
// S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
|
||||
|
||||
// S-AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64-unknown-netbsd"
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 856b789b9de0895786ba23681c4337172676e01e Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 31 Jan 2020 11:04:57 -0800
|
||||
Subject: [PATCH] clang: Don't install static libraries
|
||||
|
||||
---
|
||||
clang/cmake/modules/AddClang.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
|
||||
index cbd618e..9cf076a 100644
|
||||
--- a/clang/cmake/modules/AddClang.cmake
|
||||
+++ b/clang/cmake/modules/AddClang.cmake
|
||||
@@ -97,7 +97,7 @@ macro(add_clang_library name)
|
||||
if(TARGET ${name})
|
||||
target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS})
|
||||
|
||||
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
|
||||
+ if (ARG_SHARED AND (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN))
|
||||
set(export_to_clangtargets)
|
||||
if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
"clang-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
From 11857d49948b845dcfd7c7f78595095e3add012d Mon Sep 17 00:00:00 2001
|
||||
From: Rong Xu <xur@google.com>
|
||||
Date: Tue, 25 Feb 2020 08:04:01 -0800
|
||||
Subject: [PATCH] [remark][diagnostics] [codegen] Fix PR44896
|
||||
|
||||
This patch fixes PR44896. For IR input files, option fdiscard-value-names
|
||||
should be ignored as we need named values in loadModule().
|
||||
Commit 60d3947922 sets this option after loadModule() where valued names
|
||||
already created. This creates an inconsistent state in setNameImpl()
|
||||
that leads to a seg fault.
|
||||
This patch forces fdiscard-value-names to be false for IR input files.
|
||||
|
||||
This patch also emits a warning of "ignoring -fdiscard-value-names" if
|
||||
option fdiscard-value-names is explictly enabled in the commandline for
|
||||
IR input files.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D74878
|
||||
---
|
||||
clang/include/clang/Basic/DiagnosticDriverKinds.td | 3 +++
|
||||
clang/lib/CodeGen/CodeGenAction.cpp | 3 +++
|
||||
clang/lib/Driver/ToolChains/Clang.cpp | 10 +++++++++-
|
||||
clang/test/CodeGen/PR44896.ll | 15 +++++++++++++++
|
||||
4 files changed, 30 insertions(+), 1 deletion(-)
|
||||
create mode 100644 clang/test/CodeGen/PR44896.ll
|
||||
|
||||
diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
index ecd871e..48ece91 100644
|
||||
--- a/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
+++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td
|
||||
@@ -271,6 +271,9 @@ def warn_drv_unsupported_debug_info_opt_for_target : Warning<
|
||||
InGroup<UnsupportedTargetOpt>;
|
||||
def warn_c_kext : Warning<
|
||||
"ignoring -fapple-kext which is valid for C++ and Objective-C++ only">;
|
||||
+def warn_ignoring_fdiscard_for_bitcode : Warning<
|
||||
+ "ignoring -fdiscard-value-names for LLVM Bitcode">,
|
||||
+ InGroup<UnusedCommandLineArgument>;
|
||||
def warn_drv_input_file_unused : Warning<
|
||||
"%0: '%1' input unused%select{ when '%3' is present|}2">,
|
||||
InGroup<UnusedCommandLineArgument>;
|
||||
diff --git a/clang/lib/CodeGen/CodeGenAction.cpp b/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
index 5ebc34c..81946b1 100644
|
||||
--- a/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
+++ b/clang/lib/CodeGen/CodeGenAction.cpp
|
||||
@@ -1146,6 +1146,9 @@ void CodeGenAction::ExecuteAction() {
|
||||
CI.getTargetOpts(), CI.getLangOpts(),
|
||||
CI.getFrontendOpts().ShowTimers,
|
||||
std::move(LinkModules), *VMContext, nullptr);
|
||||
+ // PR44896: Force DiscardValueNames as false. DiscardValueNames cannot be
|
||||
+ // true here because the valued names are needed for reading textual IR.
|
||||
+ Ctx.setDiscardValueNames(false);
|
||||
Ctx.setDiagnosticHandler(
|
||||
std::make_unique<ClangDiagnosticHandler>(CodeGenOpts, &Result));
|
||||
|
||||
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
index 19a23c9..d387a1d 100644
|
||||
--- a/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
|
||||
@@ -4332,8 +4332,16 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
|
||||
// Discard value names in assert builds unless otherwise specified.
|
||||
if (Args.hasFlag(options::OPT_fdiscard_value_names,
|
||||
- options::OPT_fno_discard_value_names, !IsAssertBuild))
|
||||
+ options::OPT_fno_discard_value_names, !IsAssertBuild)) {
|
||||
+ if (Args.hasArg(options::OPT_fdiscard_value_names) &&
|
||||
+ (std::any_of(Inputs.begin(), Inputs.end(),
|
||||
+ [](const clang::driver::InputInfo &II) {
|
||||
+ return types::isLLVMIR(II.getType());
|
||||
+ }))) {
|
||||
+ D.Diag(diag::warn_ignoring_fdiscard_for_bitcode);
|
||||
+ }
|
||||
CmdArgs.push_back("-discard-value-names");
|
||||
+ }
|
||||
|
||||
// Set the main file name, so that debug info works even with
|
||||
// -save-temps.
|
||||
diff --git a/clang/test/CodeGen/PR44896.ll b/clang/test/CodeGen/PR44896.ll
|
||||
new file mode 100644
|
||||
index 0000000..a4d3445
|
||||
--- /dev/null
|
||||
+++ b/clang/test/CodeGen/PR44896.ll
|
||||
@@ -0,0 +1,15 @@
|
||||
+; RUN: %clang -fdiscard-value-names -S %s -o /dev/null 2>&1 | FileCheck --check-prefix=WARNING %s
|
||||
+; RUN: %clang -S %s -o /dev/null 2>&1 | FileCheck --check-prefix=NOWARNING %s
|
||||
+; RUN: %clang_cc1 -S -emit-llvm %s -discard-value-names -o /dev/null
|
||||
+; PR 44896
|
||||
+
|
||||
+; WARNING: ignoring -fdiscard-value-names for LLVM Bitcode
|
||||
+; NOWARNING-NOT: ignoring -fdiscard-value-names for LLVM Bitcode
|
||||
+
|
||||
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
+target triple = "x86_64--linux-gnu"
|
||||
+
|
||||
+define linkonce i8* @b(i8* %a) {
|
||||
+ ret i8* %a
|
||||
+}
|
||||
+
|
||||
--
|
||||
1.8.3.1
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,42 @@
|
|||
From 1f26a0284925859b72ee520ce74452d77d822409 Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <sguelton@redhat.com>
|
||||
Date: Mon, 28 Jan 2019 19:12:27 +0000
|
||||
Subject: [PATCH 2/2] [PATCH] gtest reorg
|
||||
|
||||
---
|
||||
CMakeLists.txt | 12 +++++-------
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c2016a45ca..48ea3c3bb9 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -157,12 +157,6 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.")
|
||||
set(LLVM_UTILS_PROVIDED ON)
|
||||
set(CLANG_TEST_DEPS FileCheck count not)
|
||||
endif()
|
||||
- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
|
||||
- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
|
||||
- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
|
||||
- add_subdirectory(${UNITTEST_DIR} utils/unittest)
|
||||
- endif()
|
||||
else()
|
||||
# Seek installed Lit.
|
||||
find_program(LLVM_LIT
|
||||
@@ -507,7 +501,11 @@ endif()
|
||||
|
||||
|
||||
if( CLANG_INCLUDE_TESTS )
|
||||
- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
|
||||
+ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/unittest)
|
||||
+ if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
|
||||
+ AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
+ AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
|
||||
+ add_subdirectory(${UNITTEST_DIR} utils/unittest)
|
||||
add_subdirectory(unittests)
|
||||
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
||||
list(APPEND CLANG_TEST_PARAMS
|
||||
--
|
||||
2.19.2
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#include <bits/wordsize.h>
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#include "config-32.h"
|
||||
#elif __WORDSIZE == 64
|
||||
#include "config-64.h"
|
||||
#else
|
||||
#error "Unknown word size"
|
||||
#endif
|
748
clang.spec
748
clang.spec
|
@ -1,22 +1,145 @@
|
|||
Name: clang
|
||||
Version: 3.8.0
|
||||
Release: 2%{?dist}
|
||||
%global compat_build 0
|
||||
|
||||
%global maj_ver 10
|
||||
%global min_ver 0
|
||||
%global patch_ver 0
|
||||
#%%global rc_ver 6
|
||||
%global baserelease 1
|
||||
|
||||
%global clang_tools_binaries \
|
||||
%{_bindir}/clang-apply-replacements \
|
||||
%{_bindir}/clang-change-namespace \
|
||||
%{_bindir}/clang-check \
|
||||
%{_bindir}/clang-doc \
|
||||
%{_bindir}/clang-extdef-mapping \
|
||||
%{_bindir}/clang-format \
|
||||
%{_bindir}/clang-import-test \
|
||||
%{_bindir}/clang-include-fixer \
|
||||
%{_bindir}/clang-move \
|
||||
%{_bindir}/clang-offload-bundler \
|
||||
%{_bindir}/clang-offload-wrapper \
|
||||
%{_bindir}/clang-query \
|
||||
%{_bindir}/clang-refactor \
|
||||
%{_bindir}/clang-rename \
|
||||
%{_bindir}/clang-reorder-fields \
|
||||
%{_bindir}/clang-scan-deps \
|
||||
%{_bindir}/clang-tidy \
|
||||
%{_bindir}/clangd \
|
||||
%{_bindir}/diagtool \
|
||||
%{_bindir}/hmaptool \
|
||||
%{_bindir}/pp-trace
|
||||
|
||||
%global clang_binaries \
|
||||
%{_bindir}/clang \
|
||||
%{_bindir}/clang++ \
|
||||
%{_bindir}/clang-%{maj_ver} \
|
||||
%{_bindir}/clang++-%{maj_ver} \
|
||||
%{_bindir}/clang-cl \
|
||||
%{_bindir}/clang-cpp \
|
||||
|
||||
%if 0%{?compat_build}
|
||||
%global pkg_name clang%{maj_ver}.%{min_ver}
|
||||
# Install clang to same prefix as llvm, so that apps that use llvm-config
|
||||
# will also be able to find clang libs.
|
||||
%global install_prefix %{_libdir}/llvm%{maj_ver}.%{min_ver}
|
||||
%global install_bindir %{install_prefix}/bin
|
||||
%global install_includedir %{install_prefix}/include
|
||||
%global install_libdir %{install_prefix}/lib
|
||||
|
||||
%global pkg_bindir %{install_bindir}
|
||||
%global pkg_includedir %{_includedir}/llvm%{maj_ver}.%{min_ver}
|
||||
%global pkg_libdir %{install_libdir}
|
||||
%else
|
||||
%global pkg_name clang
|
||||
%global install_prefix /usr
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%bcond_without python3
|
||||
%else
|
||||
%bcond_with python3
|
||||
%endif
|
||||
|
||||
%global build_install_prefix %{buildroot}%{install_prefix}
|
||||
|
||||
%ifarch ppc64le
|
||||
# Too many threads on ppc64 systems causes OOM errors.
|
||||
%global _smp_mflags -j8
|
||||
%endif
|
||||
|
||||
%global clang_srcdir clang-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
%global clang_tools_srcdir clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||
|
||||
Name: %pkg_name
|
||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||
Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
|
||||
Summary: A C language family front-end for LLVM
|
||||
|
||||
License: NCSA
|
||||
URL: http://llvm.org
|
||||
Source0: http://llvm.org/releases/%{version}/cfe-%{version}.src.tar.xz
|
||||
%if 0%{?rc_ver:1}
|
||||
Source0: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_srcdir}.tar.xz
|
||||
Source3: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_srcdir}.tar.xz.sig
|
||||
%else
|
||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz
|
||||
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_srcdir}.tar.xz.sig
|
||||
%endif
|
||||
%if !0%{?compat_build}
|
||||
%if 0%{?rc_ver:1}
|
||||
Source1: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_tools_srcdir}.tar.xz
|
||||
Source2: https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{clang_tools_srcdir}.tar.xz.sig
|
||||
%else
|
||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz
|
||||
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{clang_tools_srcdir}.tar.xz.sig
|
||||
%endif
|
||||
%endif
|
||||
Source4: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
|
||||
|
||||
Source100: clang-config.h
|
||||
Patch4: 0002-gtest-reorg.patch
|
||||
Patch11: 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch
|
||||
Patch13: 0001-Make-funwind-tables-the-default-for-all-archs.patch
|
||||
|
||||
Patch0: 0001-GCC-PR23529-Sema-part-of-attrbute-abi_tag-support.patch
|
||||
Patch1: 0002-GCC-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch
|
||||
# Not Upstream
|
||||
Patch15: 0001-clang-Don-t-install-static-libraries.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: cmake
|
||||
BuildRequires: ninja-build
|
||||
%if 0%{?compat_build}
|
||||
BuildRequires: llvm%{maj_ver}.%{min_ver}-devel = %{version}
|
||||
BuildRequires: llvm%{maj_ver}.%{min_ver}-static = %{version}
|
||||
%else
|
||||
BuildRequires: llvm-devel = %{version}
|
||||
BuildRequires: llvm-test = %{version}
|
||||
# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
|
||||
# is not included in libLLVM.so.
|
||||
BuildRequires: llvm-static = %{version}
|
||||
BuildRequires: llvm-googletest = %{version}
|
||||
%endif
|
||||
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: llvm-static = %{version}
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: ncurses-devel
|
||||
# According to https://fedoraproject.org/wiki/Packaging:Emacs a package
|
||||
# should BuildRequires: emacs if it packages emacs integration files.
|
||||
BuildRequires: emacs
|
||||
|
||||
# These build dependencies are required for the test suite.
|
||||
%if %with python3
|
||||
# The testsuite uses /usr/bin/lit which is part of the python3-lit package.
|
||||
BuildRequires: python3-lit
|
||||
%endif
|
||||
|
||||
BuildRequires: python3-sphinx
|
||||
BuildRequires: libatomic
|
||||
|
||||
# We need python3-devel for pathfix.py.
|
||||
BuildRequires: python3-devel
|
||||
|
||||
# Needed for %%multilib_fix_c_header
|
||||
BuildRequires: multilib-rpm-config
|
||||
BuildRequires: chrpath
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
@ -26,6 +149,12 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|||
Requires: libstdc++-devel
|
||||
Requires: gcc-c++
|
||||
|
||||
Requires: emacs-filesystem
|
||||
|
||||
Provides: clang(major) = %{maj_ver}
|
||||
|
||||
Conflicts: compiler-rt < %{version}
|
||||
Conflicts: compiler-rt > %{version}
|
||||
|
||||
%description
|
||||
clang: noun
|
||||
|
@ -39,25 +168,33 @@ as libraries and designed to be loosely-coupled and extensible.
|
|||
|
||||
%package libs
|
||||
Summary: Runtime library for clang
|
||||
Recommends: compiler-rt%{?_isa} = %{version}
|
||||
# libomp-devel is required, so clang can find the omp.h header when compiling
|
||||
# with -fopenmp.
|
||||
Recommends: libomp-devel%{_isa} = %{version}
|
||||
Recommends: libomp%{_isa} = %{version}
|
||||
|
||||
%description libs
|
||||
Runtime library for clang.
|
||||
|
||||
%package devel
|
||||
Summary: Development header files for clang.
|
||||
Summary: Development header files for clang
|
||||
%if !0%{?compat_build}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
# The clang CMake files reference tools from clang-tools-extra.
|
||||
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description devel
|
||||
Development header files for clang.
|
||||
|
||||
%if !0%{?compat_build}
|
||||
%package analyzer
|
||||
Summary: A source code analysis framework
|
||||
License: NCSA and MIT
|
||||
BuildArch: noarch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# not picked up automatically since files are currently not installed in
|
||||
# standard Python hierarchies yet
|
||||
Requires: python
|
||||
|
||||
%description analyzer
|
||||
The Clang Static Analyzer consists of both a source code analysis
|
||||
|
@ -65,78 +202,611 @@ framework and a standalone tool that finds bugs in C and Objective-C
|
|||
programs. The standalone tool is invoked from the command-line, and is
|
||||
intended to run in tandem with a build of a project or code base.
|
||||
|
||||
%package tools-extra
|
||||
Summary: Extra tools for clang
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: emacs-filesystem
|
||||
|
||||
%description tools-extra
|
||||
A set of extra tools built using Clang's tooling API.
|
||||
|
||||
# Put git-clang-format in its own package, because it Requires git
|
||||
# and we don't want to force users to install all those dependenices if they
|
||||
# just want clang.
|
||||
%package -n git-clang-format
|
||||
Summary: Integration of clang-format for git
|
||||
Requires: %{name}-tools-extra = %{version}-%{release}
|
||||
Requires: git
|
||||
Requires: python3
|
||||
|
||||
%description -n git-clang-format
|
||||
clang-format integration for git.
|
||||
|
||||
|
||||
%package -n python3-clang
|
||||
Summary: Python3 bindings for clang
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: python3
|
||||
%description -n python3-clang
|
||||
%{summary}.
|
||||
|
||||
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n cfe-%{version}.src
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%if 0%{?compat_build}
|
||||
%autosetup -n %{clang_srcdir} -p1
|
||||
%else
|
||||
%setup -T -q -b 1 -n %{clang_tools_srcdir}
|
||||
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
clang-tidy/tool/*.py \
|
||||
clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
|
||||
|
||||
%setup -q -n %{clang_srcdir}
|
||||
|
||||
%patch4 -p1 -b .gtest
|
||||
%patch11 -p1 -b .libcxx-fix
|
||||
%patch13 -p2 -b .unwind-all
|
||||
%patch15 -p2 -b .no-install-static
|
||||
|
||||
mv ../%{clang_tools_srcdir} tools/extra
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
tools/clang-format/*.py \
|
||||
tools/clang-format/git-clang-format \
|
||||
utils/hmaptool/hmaptool \
|
||||
tools/scan-view/bin/scan-view
|
||||
%endif
|
||||
|
||||
%build
|
||||
|
||||
%if 0%{?__isa_bits} == 64
|
||||
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
|
||||
%else
|
||||
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
|
||||
%endif
|
||||
|
||||
mkdir -p _build
|
||||
cd _build
|
||||
%cmake .. \
|
||||
|
||||
%ifarch s390 s390x %{arm} %ix86 ppc64le
|
||||
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||
%endif
|
||||
|
||||
# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the
|
||||
# rpath of libraries and binaries. llvm will skip the manual setting
|
||||
# if CAMKE_INSTALL_RPATH is set to a value, but cmake interprets this value
|
||||
# as nothing, so it sets the rpath to "" when installing.
|
||||
%cmake .. -G Ninja \
|
||||
-DLLVM_PARALLEL_LINK_JOBS=1 \
|
||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \
|
||||
-DPYTHON_EXECUTABLE=%{__python3} \
|
||||
-DCMAKE_INSTALL_RPATH:BOOL=";" \
|
||||
%ifarch s390 s390x %{arm} %ix86 ppc64le
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
|
||||
%endif
|
||||
%if 0%{?compat_build}
|
||||
-DLLVM_CONFIG:FILEPATH=%{_bindir}/llvm-config-%{maj_ver}.%{min_ver}-%{__isa_bits} \
|
||||
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=OFF \
|
||||
%else
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
||||
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
||||
-DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
|
||||
%if 0%{?__isa_bits} == 64
|
||||
-DLLVM_LIBDIR_SUFFIX=64 \
|
||||
%else
|
||||
-DLLVM_LIBDIR_SUFFIX= \
|
||||
%endif
|
||||
%endif
|
||||
\
|
||||
%if !0%{compat_build}
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
|
||||
%else
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver}.%{min_ver} \
|
||||
%endif
|
||||
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
||||
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
||||
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
||||
-DCLANG_PLUGIN_SUPPORT:BOOL=ON \
|
||||
-DENABLE_LINKER_BUILD_ID:BOOL=ON \
|
||||
-DLLVM_ENABLE_EH=ON \
|
||||
-DLLVM_ENABLE_RTTI=ON \
|
||||
-DLLVM_BUILD_DOCS=ON \
|
||||
-DLLVM_ENABLE_SPHINX=ON \
|
||||
-DCLANG_LINK_CLANG_DYLIB=ON \
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
\
|
||||
-DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
||||
-DLIB_SUFFIX=
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCLANG_REPOSITORY_STRING="%{?fedora:Fedora}%{?rhel:Red Hat} %{version}-%{release}"
|
||||
|
||||
make %{?_smp_mflags}
|
||||
%ninja_build
|
||||
|
||||
%install
|
||||
cd _build
|
||||
make install DESTDIR=%{buildroot}
|
||||
%ninja_install -C _build
|
||||
|
||||
%if 0%{?compat_build}
|
||||
|
||||
# Remove binaries/other files
|
||||
rm -Rf %{buildroot}%{install_bindir}
|
||||
rm -Rf %{buildroot}%{install_prefix}/share
|
||||
rm -Rf %{buildroot}%{install_prefix}/libexec
|
||||
|
||||
# Move include files
|
||||
mkdir -p %{buildroot}%{pkg_includedir}
|
||||
mv %{buildroot}/%{install_includedir}/clang %{buildroot}/%{pkg_includedir}/
|
||||
mv %{buildroot}/%{install_includedir}/clang-c %{buildroot}/%{pkg_includedir}/
|
||||
|
||||
%else
|
||||
|
||||
# install clang python bindings
|
||||
mkdir -p %{buildroot}%{python3_sitelib}/clang/
|
||||
install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/
|
||||
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang
|
||||
|
||||
# multilib fix
|
||||
mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
|
||||
install -m 0644 %{SOURCE100} %{buildroot}%{_includedir}/clang/Config/config.h
|
||||
%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
|
||||
|
||||
# Move emacs integration files to the correct directory
|
||||
mkdir -p %{buildroot}%{_emacs_sitestartdir}
|
||||
for f in clang-format.el clang-rename.el clang-include-fixer.el; do
|
||||
mv %{buildroot}{%{_datadir}/clang,%{_emacs_sitestartdir}}/$f
|
||||
done
|
||||
|
||||
# remove git integration
|
||||
rm -vf %{buildroot}%{_bindir}/git-clang-format
|
||||
# remove editor integrations (bbedit, sublime, emacs, vim)
|
||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
|
||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
|
||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format.el
|
||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format.py*
|
||||
# remove diff reformatter
|
||||
rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
|
||||
|
||||
# TODO: Package html docs
|
||||
rm -Rvf %{buildroot}%{_pkgdocdir}
|
||||
rm -Rvf %{buildroot}%{install_prefix}/share/clang/clang-doc-default-stylesheet.css
|
||||
rm -Rvf %{buildroot}%{install_prefix}/share/clang/index.js
|
||||
|
||||
# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
|
||||
rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
||||
|
||||
# Create Manpage symlinks
|
||||
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++.1.gz
|
||||
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang-%{maj_ver}.1.gz
|
||||
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++-%{maj_ver}.1.gz
|
||||
|
||||
# Add clang++-{version} symlink
|
||||
ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
|
||||
|
||||
|
||||
# Fix permission
|
||||
chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
|
||||
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if !0%{?compat_build}
|
||||
# requires lit.py from LLVM utilities
|
||||
#cd _build
|
||||
#make check-all
|
||||
# FIXME: Fix failing ARM tests, s390x i686 and ppc64le tests
|
||||
# FIXME: Ignore test failures until rhbz#1715016 is fixed.
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ninja check-all -C _build || \
|
||||
%ifarch s390x i686 ppc64le %{arm}
|
||||
:
|
||||
%else
|
||||
:
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
|
||||
%if !0%{?compat_build}
|
||||
%files
|
||||
%{_libdir}/clang/
|
||||
%{_bindir}/clang*
|
||||
%{_bindir}/c-index-test
|
||||
%{clang_binaries}
|
||||
%{_mandir}/man1/clang.1.gz
|
||||
%{_mandir}/man1/clang++.1.gz
|
||||
%{_mandir}/man1/clang-%{maj_ver}.1.gz
|
||||
%{_mandir}/man1/clang++-%{maj_ver}.1.gz
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%if !0%{?compat_build}
|
||||
%{_libdir}/clang/
|
||||
%{_libdir}/*.so.*
|
||||
%{_libdir}/*.so
|
||||
%else
|
||||
%{pkg_libdir}/*.so.*
|
||||
%{pkg_libdir}/clang/%{version}
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%if !0%{?compat_build}
|
||||
%{_libdir}/*.so
|
||||
%{_includedir}/clang/
|
||||
%{_includedir}/clang-c/
|
||||
%{_libdir}/cmake/*
|
||||
%dir %{_datadir}/clang/
|
||||
%{_datadir}/clang/cmake/
|
||||
%else
|
||||
%{pkg_libdir}/*.so
|
||||
%{pkg_includedir}/clang/
|
||||
%{pkg_includedir}/clang-c/
|
||||
%{pkg_libdir}/cmake/
|
||||
%endif
|
||||
|
||||
%if !0%{?compat_build}
|
||||
%files analyzer
|
||||
%{_bindir}/scan-view
|
||||
%{_bindir}/scan-build
|
||||
%{_bindir}/scan-build
|
||||
%{_libexecdir}/ccc-analyzer
|
||||
%{_libexecdir}/c++-analyzer
|
||||
%{_datadir}/scan-view/
|
||||
%{_datadir}/scan-build/
|
||||
%{_mandir}/man1/scan-build.1.*
|
||||
|
||||
%files tools-extra
|
||||
%{clang_tools_binaries}
|
||||
%{_bindir}/c-index-test
|
||||
%{_bindir}/find-all-symbols
|
||||
%{_bindir}/modularize
|
||||
%{_mandir}/man1/diagtool.1.gz
|
||||
%{_emacs_sitestartdir}/clang-format.el
|
||||
%{_emacs_sitestartdir}/clang-rename.el
|
||||
%{_emacs_sitestartdir}/clang-include-fixer.el
|
||||
%{_datadir}/clang/clang-format.py*
|
||||
%{_datadir}/clang/clang-format-diff.py*
|
||||
%{_datadir}/clang/clang-include-fixer.py*
|
||||
%{_datadir}/clang/clang-tidy-diff.py*
|
||||
%{_datadir}/clang/run-clang-tidy.py*
|
||||
%{_datadir}/clang/run-find-all-symbols.py*
|
||||
%{_datadir}/clang/clang-rename.py*
|
||||
|
||||
%files -n git-clang-format
|
||||
%{_bindir}/git-clang-format
|
||||
|
||||
%files -n python3-clang
|
||||
%{python3_sitelib}/clang/
|
||||
|
||||
|
||||
%endif
|
||||
%changelog
|
||||
* Thu Mar 26 2020 sguelton@redhat.com - 10.0.0-1
|
||||
- 10.0.0 final
|
||||
|
||||
* Tue Mar 24 2020 sguelton@redhat.com - 10.0.0-0.11.rc6
|
||||
- 10.0.0 rc6
|
||||
|
||||
* Sun Mar 22 2020 sguelton@redhat.com - 10.0.0-0.10.rc5
|
||||
- Update git-clang-format dependency, see rhbz#1815913
|
||||
|
||||
* Fri Mar 20 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-0.9.rc5
|
||||
- Add dependency on libomp-devel
|
||||
|
||||
* Fri Mar 20 2020 sguelton@redhat.com - 10.0.0-0.8.rc5
|
||||
- 10.0.0 rc5
|
||||
|
||||
* Sat Mar 14 2020 sguelton@redhat.com - 10.0.0-0.7.rc4
|
||||
- 10.0.0 rc4
|
||||
|
||||
* Thu Mar 12 2020 sguelton@redhat.com - 10.0.0-0.6.rc3
|
||||
- Move a few files from clang to clang-tools-extra.
|
||||
|
||||
* Thu Mar 05 2020 sguelton@redhat.com - 10.0.0-0.5.rc3
|
||||
- 10.0.0 rc3
|
||||
|
||||
* Tue Feb 25 2020 sguelton@redhat.com - 10.0.0-0.4.rc2
|
||||
- Apply -fdiscard-value-names patch.
|
||||
|
||||
* Mon Feb 17 2020 sguelton@redhat.com - 10.0.0-0.3.rc2
|
||||
- Fix NVR
|
||||
|
||||
* Fri Feb 14 2020 sguelton@redhat.com - 10.0.0-0.1.rc2
|
||||
- 10.0.0 rc2
|
||||
|
||||
* Tue Feb 11 2020 sguelton@redhat.com - 10.0.0-0.2.rc1
|
||||
- Explicitly conflicts with any different compiler-rt version, see rhbz#1800705
|
||||
|
||||
* Fri Jan 31 2020 Tom Stellard <tstellar@redhat.com> - 10.0.0-0.1.rc1
|
||||
- Stop shipping individual component libraries
|
||||
- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component-Libraries-In-clang-lib-Package
|
||||
|
||||
* Fri Jan 31 2020 sguelton@redhat.com - 10.0.0-0.1.rc1
|
||||
- 10.0.0 rc1
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Jan 10 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-2
|
||||
- Fix crash with kernel bpf self-tests
|
||||
|
||||
* Thu Dec 19 2019 Tom Stellard <tstellar@redhat.com> - 9.0.1-1
|
||||
- 9.0.1 Release
|
||||
|
||||
* Wed Dec 11 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-3
|
||||
- Add explicit requires for clang-libs to fix rpmdiff errors
|
||||
|
||||
* Tue Dec 10 2019 sguelton@redhat.com - 9.0.0-2
|
||||
- Activate -funwind-tables on all arches, see rhbz#1655546.
|
||||
|
||||
* Thu Sep 19 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-1
|
||||
- 9.0.0 Release
|
||||
|
||||
* Wed Sep 11 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.2.rc3
|
||||
- Reduce debug info verbosity on ppc64le to avoid OOM errors in koji
|
||||
|
||||
* Thu Aug 22 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.1.rc3
|
||||
- 9.0.0 Release candidate 3
|
||||
|
||||
* Tue Aug 20 2019 sguelton@redhat.com - 8.0.0-4
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 8.0.0-3.2
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-3.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu May 16 2019 sguelton@redhat.com - 8.0.0-3
|
||||
- Fix for rhbz#1674031
|
||||
|
||||
* Fri Apr 12 2019 sguelton@redhat.com - 8.0.0-2
|
||||
- Remove useless patch thanks to GCC upgrade
|
||||
|
||||
* Wed Mar 20 2019 sguelton@redhat.com - 8.0.0-1
|
||||
- 8.0.0 final
|
||||
|
||||
* Tue Mar 12 2019 sguelton@redhat.com - 8.0.0-0.6.rc4
|
||||
- 8.0.0 Release candidate 4
|
||||
|
||||
* Mon Mar 4 2019 sguelton@redhat.com - 8.0.0-0.5.rc3
|
||||
- Cleanup specfile after llvm dependency update
|
||||
|
||||
* Mon Mar 4 2019 sguelton@redhat.com - 8.0.0-0.4.rc3
|
||||
- 8.0.0 Release candidate 3
|
||||
|
||||
* Mon Feb 25 2019 tstellar@redhat.com - 8.0.0-0.3.rc2
|
||||
- Fix compiling with -stdlib=libc++
|
||||
|
||||
* Thu Feb 21 2019 sguelton@redhat.com - 8.0.0-0.2.rc2
|
||||
- 8.0.0 Release candidate 2
|
||||
|
||||
* Sat Feb 09 2019 sguelton@redhat.com - 8.0.0-0.1.rc1
|
||||
- 8.0.0 Release candidate 1
|
||||
|
||||
* Tue Feb 05 2019 sguelton@redhat.com - 7.0.1-6
|
||||
- Update patch for Python3 port of scan-view
|
||||
|
||||
* Tue Feb 05 2019 sguelton@redhat.com - 7.0.1-5
|
||||
- Working CI test suite
|
||||
|
||||
* Mon Feb 04 2019 sguelton@redhat.com - 7.0.1-4
|
||||
- Workaround gcc-9 bug when compiling bitfields
|
||||
|
||||
* Fri Feb 01 2019 sguelton@redhat.com - 7.0.1-3
|
||||
- Fix uninitialized error detected by gcc-9
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.1-2.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Wed Dec 19 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-2
|
||||
- Fix for rhbz#1657544
|
||||
|
||||
* Tue Dec 18 2018 sguelton@redhat.com - 7.0.1-1
|
||||
- 7.0.1
|
||||
|
||||
* Tue Dec 18 2018 sguelton@redhat.com - 7.0.0-10
|
||||
- Install proper manpage symlinks for clang/clang++ versions
|
||||
|
||||
* Fri Dec 14 2018 sguelton@redhat.com - 7.0.0-9
|
||||
- No longer Ignore -fstack-clash-protection option
|
||||
|
||||
* Tue Dec 04 2018 sguelton@redhat.com - 7.0.0-8
|
||||
- Ensure rpmlint passes on specfile
|
||||
|
||||
* Fri Nov 30 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-7
|
||||
- Drop python2 dependency from clang-tools-extra
|
||||
|
||||
* Wed Nov 21 2018 sguelton@redhat.com - 7.0.0-6
|
||||
- Prune unneeded reference to llvm-test-suite sub-package
|
||||
|
||||
* Mon Nov 19 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-5
|
||||
- Run 'make check-all' instead of 'make check-clang'
|
||||
|
||||
* Mon Nov 19 2018 sergesanspaille <sguelton@redhat.com> - 7.0.0-4
|
||||
- Avoid Python2 + Python3 dependency for clang-analyzer
|
||||
|
||||
* Mon Nov 05 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-3
|
||||
- User helper macro to fixup config.h for multilib
|
||||
|
||||
* Tue Oct 02 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-2
|
||||
- Use correct shebang substitution for python scripts
|
||||
|
||||
* Mon Sep 24 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-1
|
||||
- 7.0.0 Release
|
||||
|
||||
* Wed Sep 19 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.16.rc3
|
||||
- Move builtin headers into clang-libs sub-package
|
||||
|
||||
* Wed Sep 19 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.15.rc3
|
||||
- Remove ambiguous python shebangs
|
||||
|
||||
* Thu Sep 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.14.rc3
|
||||
- Move unversioned shared objects to devel package
|
||||
|
||||
* Thu Sep 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.13.rc3
|
||||
- Rebuild with new llvm-devel that disables rpath on install
|
||||
|
||||
* Thu Sep 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.12.rc3
|
||||
- Fix clang++-7 symlink
|
||||
|
||||
* Wed Sep 12 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.11.rc3
|
||||
- 7.0.0-rc3 Release
|
||||
|
||||
* Mon Sep 10 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.10.rc2
|
||||
- Drop siod from llvm-test-suite
|
||||
|
||||
* Fri Sep 07 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.9.rc2
|
||||
- Drop python2 dependency from clang package
|
||||
|
||||
* Thu Sep 06 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.8.rc2
|
||||
- Drop all uses of python2 from lit tests
|
||||
|
||||
* Sat Sep 01 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.7.rc2
|
||||
- Add Fedora specific version string
|
||||
|
||||
* Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.6.rc2
|
||||
- 7.0.0-rc2 Release
|
||||
|
||||
* Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.5.rc1
|
||||
- Enable unit tests
|
||||
|
||||
* Fri Aug 17 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.4.rc1
|
||||
- Move llvm-test-suite into a sub-package
|
||||
|
||||
* Fri Aug 17 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.3.rc1
|
||||
- Recommend the same version of compiler-rt
|
||||
|
||||
* Wed Aug 15 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.2.rc1
|
||||
- Rebuild for f30
|
||||
|
||||
* Mon Aug 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.0-0.1.rc1
|
||||
- 7.0.0-rc1 Release
|
||||
|
||||
* Mon Jul 23 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-3
|
||||
- Sync spec file with the clang6.0 package
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 26 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-1
|
||||
- 6.0.1 Release
|
||||
|
||||
* Wed Jun 13 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-0.2.rc2
|
||||
- 6.0.1-rc2
|
||||
|
||||
* Fri May 11 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-0.1.rc1
|
||||
- 6.0.1-rc1 Release
|
||||
|
||||
* Fri Mar 23 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-5
|
||||
- Add a clang++-{version} symlink rhbz#1534098
|
||||
|
||||
* Thu Mar 22 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-4
|
||||
- Use correct script for running lit tests
|
||||
|
||||
* Wed Mar 21 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-3
|
||||
- Fix toolchain detection so we don't default to using cross-compilers:
|
||||
rhbz#1482491
|
||||
|
||||
* Mon Mar 12 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-2
|
||||
- Add Provides: clang(major) rhbz#1547444
|
||||
|
||||
* Fri Mar 09 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-1
|
||||
- 6.0.0 Release
|
||||
|
||||
* Mon Feb 12 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.6.rc2
|
||||
- 6.0.0-rc2 Release
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-0.5.rc1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Feb 01 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.4.rc1
|
||||
- Package python helper scripts for tools
|
||||
|
||||
* Fri Jan 26 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.3.rc1
|
||||
- Ignore -fstack-clash-protection option instead of giving an error
|
||||
|
||||
* Fri Jan 26 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.2.rc1
|
||||
- Package emacs integration files
|
||||
|
||||
* Wed Jan 24 2018 Tom Stellard <tstellar@redhat.com> - 6.0.0-0.1.rc1
|
||||
- 6.0.0-rc1 Release
|
||||
|
||||
* Wed Jan 24 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-3
|
||||
- Rebuild against llvm5.0 compatibility package
|
||||
- rhbz#1538231
|
||||
|
||||
* Wed Jan 03 2018 Iryna Shcherbina <ishcherb@redhat.com> - 5.0.1-2
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Wed Dec 20 2017 Tom Stellard <tstellar@redhat.com> - 5.0.1-1
|
||||
- 5.0.1 Release
|
||||
|
||||
* Wed Dec 13 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-3
|
||||
- Make compiler-rt a weak dependency and add a weak dependency on libomp
|
||||
|
||||
* Mon Nov 06 2017 Merlin Mathesius <mmathesi@redhat.com> - 5.0.0-2
|
||||
- Cleanup spec file conditionals
|
||||
|
||||
* Mon Oct 16 2017 Tom Stellard <tstellar@redhat.com> - 5.0.0-1
|
||||
- 5.0.0 Release
|
||||
|
||||
* Wed Oct 04 2017 Rex Dieter <rdieter@fedoraproject.org> - 4.0.1-6
|
||||
- python2-clang subpkg (#1490997)
|
||||
- tools-extras: tighten (internal) -libs dep
|
||||
- %%install: avoid cd
|
||||
|
||||
* Wed Aug 30 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-5
|
||||
- Add Requires: python for git-clang-format
|
||||
|
||||
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 4.0.1-4
|
||||
- Rebuilt for AutoReq cmake-filesystem
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Jun 23 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-1
|
||||
- 4.0.1 Release.
|
||||
|
||||
* Fri Jun 16 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-8
|
||||
- Enable make check-clang
|
||||
|
||||
* Mon Jun 12 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-7
|
||||
- Package git-clang-format
|
||||
|
||||
* Thu Jun 08 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-6
|
||||
- Generate man pages
|
||||
|
||||
* Thu Jun 08 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-5
|
||||
- Ignore test-suite failures until all arches are fixed.
|
||||
|
||||
* Mon Apr 03 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-4
|
||||
- Run llvm test-suite
|
||||
|
||||
* Mon Mar 27 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-3
|
||||
- Enable eh/rtti, which are required by lldb.
|
||||
|
||||
* Fri Mar 24 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-2
|
||||
- Fix clang-tools-extra build
|
||||
- Fix install
|
||||
|
||||
* Thu Mar 23 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-1
|
||||
- clang 4.0.0 final release
|
||||
|
||||
* Mon Mar 20 2017 David Goerger <david.goerger@yale.edu> - 3.9.1-3
|
||||
- add clang-tools-extra rhbz#1328091
|
||||
|
||||
* Thu Mar 16 2017 Tom Stellard <tstellar@redhat.com> - 3.9.1-2
|
||||
- Enable build-id by default rhbz#1432403
|
||||
|
||||
* Thu Mar 02 2017 Dave Airlie <airlied@redhat.com> - 3.9.1-1
|
||||
- clang 3.9.1 final release
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Nov 14 2016 Nathaniel McCallum <npmccallum@redhat.com> - 3.9.0-3
|
||||
- Add Requires: compiler-rt to clang-libs.
|
||||
- Without this, compiling with certain CFLAGS breaks.
|
||||
|
||||
* Tue Nov 1 2016 Peter Robinson <pbrobinson@fedoraproject.org> 3.9.0-2
|
||||
- Rebuild for new arches
|
||||
|
||||
* Fri Oct 14 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-1
|
||||
- clang 3.9.0 final release
|
||||
|
||||
* Fri Jul 01 2016 Stephan Bergmann <sbergman@redhat.com> - 3.8.0-2
|
||||
- Resolves: rhbz#1282645 add GCC abi_tag support
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: org.centos.prod.ci.pipeline.allpackages-build.package.test.functional.complete}
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
67H2IH//2sf8dw==
|
||||
=ADVe
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
5
sources
5
sources
|
@ -1 +1,4 @@
|
|||
cc99e7019bb74e6459e80863606250c5 cfe-3.8.0.src.tar.xz
|
||||
SHA512 (clang-10.0.0.src.tar.xz.sig) = cb46d9c616de9ba6e11602269f93a003fc24951b75844d2d62ad7c435bd9ace0357bf396141b9a3e97034f617ad8f301a1a5556a3feb94b17647f8b76c0b6236
|
||||
SHA512 (clang-tools-extra-10.0.0.src.tar.xz.sig) = f0527b315ce9f2c86a19dabd462d0d466ac0843262f06d5f2b69333f77457ec9cb99f8ce9fdaa00048dfaec3de5613fb884c4259acd4a75463ba3c6714e35423
|
||||
SHA512 (clang-tools-extra-10.0.0.src.tar.xz) = 33b6019e64e9ac94bd7c000b77a4a927602a2705baa9b370e392a56b53fe09c8dad1ff7d583892729e9eb291440433ad7d71df768a96d927e4dbc1988fc01d99
|
||||
SHA512 (clang-10.0.0.src.tar.xz) = b1cccc13c46abcda3d689f51d486fa613ecec40c581c72d8b15951715100a2b8fb24370161601e6716cdba5a784337439e99ec2f0766f988e9cce92de6d775da
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# We want to make sure libomp is not already present on the system to ensure
|
||||
# that clang pulls in the correct libomp dependencies when it is installed.
|
||||
- name: Uninstall libomp
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- libomp
|
||||
- libomp-devel
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/clang.git"
|
||||
dest: "clang"
|
||||
required_packages:
|
||||
- clang
|
||||
tests:
|
||||
- clang/libomp
|
|
@ -0,0 +1,35 @@
|
|||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
required_packages:
|
||||
- clang
|
||||
- llvm-test-suite
|
||||
- ninja-build
|
||||
- gcc-x86_64-linux-gnu
|
||||
# FIXME: It would be nice if we could only install dependencies for a
|
||||
# single test rather than installing dependencies for all tests. This
|
||||
# will help us catch bugs with implicit package dependencies e.g.
|
||||
# package A depends on package B but does not have an explicit Requires.
|
||||
# These are required for the llvm-toolchain test:
|
||||
- clang
|
||||
- lld
|
||||
- compiler-rt
|
||||
- libcxx-devel
|
||||
- glibc-devel
|
||||
- gcc
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/llvm-test-suite.git"
|
||||
dest: "llvm-test-suite"
|
||||
- repo: "https://src.fedoraproject.org/tests/clang.git"
|
||||
dest: "clang"
|
||||
tests:
|
||||
- rhbz#482491:
|
||||
dir: ./
|
||||
run: echo "int main(){}" | clang -x c -
|
||||
- llvm-test-suite/test-suite
|
||||
- llvm-test-suite/abi-test-suite
|
||||
- clang/rhbz_1657544
|
||||
- clang/rhbz_1647130
|
||||
- clang/llvm-toolchain
|
|
@ -0,0 +1,28 @@
|
|||
# This is separate from tests.yml because we want to run the tests without
|
||||
# clang installed.
|
||||
# FIXME: Is there some way we can put this yaml definition in the tests/pocl
|
||||
# repo? Right now we need to copy and paste this everywhere the test is run.
|
||||
- hosts: localhost
|
||||
pre_tasks:
|
||||
# Programs linked against pocl should be able to run without clang installed,
|
||||
# so when we run the test we want to make sure clang is not installed to
|
||||
# verify we haven't introduced an implicit dependency on clang.
|
||||
- name: Uninstall clang
|
||||
package:
|
||||
name: clang
|
||||
state: absent
|
||||
tags: classic
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
repositories:
|
||||
- repo: "https://src.fedoraproject.org/tests/pocl.git"
|
||||
dest: "pocl"
|
||||
required_packages:
|
||||
- ocl-icd-devel
|
||||
- pocl
|
||||
- gcc
|
||||
tests:
|
||||
# rhbz#1582884
|
||||
- pocl/simple-opencl-no-clang:
|
Loading…
Reference in New Issue