llvm 12.0.0rc2
This commit is contained in:
parent
1d5bee47d5
commit
cef168d215
4
.gitignore
vendored
4
.gitignore
vendored
@ -143,3 +143,7 @@
|
||||
/clang-tools-extra-11.1.0rc2.src.tar.xz
|
||||
/clang-tools-extra-11.1.0rc2.src.tar.xz.sig
|
||||
/clang-11.1.0rc2.src.tar.xz.sig
|
||||
/clang-12.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc1.src.tar.xz
|
||||
/clang-tools-extra-12.0.0rc1.src.tar.xz.sig
|
||||
/clang-12.0.0rc1.src.tar.xz.sig
|
||||
|
@ -77,7 +77,7 @@ diff --git a/lib/Driver/ToolChains/Gnu.h b/lib/Driver/ToolChains/Gnu.h
|
||||
index 52690ab4..2a4452d9 100644
|
||||
--- a/lib/Driver/ToolChains/Gnu.h
|
||||
+++ b/lib/Driver/ToolChains/Gnu.h
|
||||
@@ -190,6 +190,7 @@ public:
|
||||
@@ -190,6 +190,7 @@
|
||||
/// Driver, and has logic for fuzzing that where appropriate.
|
||||
class GCCInstallationDetector {
|
||||
bool IsValid;
|
||||
@ -85,8 +85,8 @@ index 52690ab4..2a4452d9 100644
|
||||
llvm::Triple GCCTriple;
|
||||
const Driver &D;
|
||||
|
||||
@@ -213,7 +214,8 @@ public:
|
||||
MultilibSet Multilibs;
|
||||
@@ -216,7 +217,8 @@
|
||||
const std::string GentooConfigDir = "/etc/env.d/gcc";
|
||||
|
||||
public:
|
||||
- explicit GCCInstallationDetector(const Driver &D) : IsValid(false), D(D) {}
|
||||
@ -95,6 +95,7 @@ index 52690ab4..2a4452d9 100644
|
||||
void init(const llvm::Triple &TargetTriple, const llvm::opt::ArgList &Args,
|
||||
ArrayRef<std::string> ExtraTripleAliases = None);
|
||||
|
||||
|
||||
diff --git a/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o b/test/Driver/Inputs/fedora_28_tree/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o
|
||||
new file mode 100644
|
||||
index 00000000..e69de29b
|
||||
|
@ -1,18 +1,7 @@
|
||||
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 {
|
||||
diff -Naur clang-12.0.0rc1.src.orig/lib/Driver/ToolChain.cpp clang-12.0.0rc1.src/lib/Driver/ToolChain.cpp
|
||||
--- clang-12.0.0rc1.src.orig/lib/Driver/ToolChain.cpp 2021-02-15 21:40:55.000000000 +0100
|
||||
+++ clang-12.0.0rc1.src/lib/Driver/ToolChain.cpp 2021-02-16 07:35:01.000000000 +0100
|
||||
@@ -257,7 +257,7 @@
|
||||
}
|
||||
|
||||
bool ToolChain::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
@ -21,19 +10,15 @@ index b1fddb0af55..43af40ed0e8 100644
|
||||
}
|
||||
|
||||
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 {
|
||||
diff -Naur clang-12.0.0rc1.src.orig/lib/Driver/ToolChains/Gnu.cpp clang-12.0.0rc1.src/lib/Driver/ToolChains/Gnu.cpp
|
||||
--- clang-12.0.0rc1.src.orig/lib/Driver/ToolChains/Gnu.cpp 2021-02-15 21:40:55.000000000 +0100
|
||||
+++ clang-12.0.0rc1.src/lib/Driver/ToolChains/Gnu.cpp 2021-02-16 07:35:30.000000000 +0100
|
||||
@@ -2713,7 +2713,7 @@
|
||||
case llvm::Triple::x86_64:
|
||||
return true;
|
||||
default:
|
||||
- return false;
|
||||
+ return true;
|
||||
}
|
||||
}
|
||||
|
||||
bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
- return getArch() == llvm::Triple::x86_64;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
bool Generic_GCC::isPICDefault() const {
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
@ -1,224 +0,0 @@
|
||||
From 9d68d4554d903353a7d4599d2428bd479651eb40 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Tue, 9 Feb 2021 13:35:43 -0800
|
||||
Subject: [PATCH] Partially Revert "scan-view: Remove Reporter.py and
|
||||
associated AppleScript files"
|
||||
|
||||
This reverts some of commit dbb01536f6f49fa428f170e34466072ef439b3e9.
|
||||
|
||||
The Reporter module was still being used by the ScanView.py module and deleting
|
||||
it caused scan-view to fail. This commit adds back Reporter.py but removes the
|
||||
code the references the AppleScript files which were removed in
|
||||
dbb01536f6f49fa428f170e34466072ef439b3e9.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D96367
|
||||
---
|
||||
clang/tools/scan-view/CMakeLists.txt | 1 +
|
||||
clang/tools/scan-view/share/Reporter.py | 183 ++++++++++++++++++++++++
|
||||
2 files changed, 184 insertions(+)
|
||||
create mode 100644 clang/tools/scan-view/share/Reporter.py
|
||||
|
||||
diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt
|
||||
index dd3d33439299..eccc6b83195b 100644
|
||||
--- a/clang/tools/scan-view/CMakeLists.txt
|
||||
+++ b/clang/tools/scan-view/CMakeLists.txt
|
||||
@@ -5,6 +5,7 @@ set(BinFiles
|
||||
|
||||
set(ShareFiles
|
||||
ScanView.py
|
||||
+ Reporter.py
|
||||
startfile.py
|
||||
bugcatcher.ico)
|
||||
|
||||
diff --git a/clang/tools/scan-view/share/Reporter.py b/clang/tools/scan-view/share/Reporter.py
|
||||
new file mode 100644
|
||||
index 000000000000..31a14fb0cf74
|
||||
--- /dev/null
|
||||
+++ b/clang/tools/scan-view/share/Reporter.py
|
||||
@@ -0,0 +1,183 @@
|
||||
+#!/usr/bin/env python
|
||||
+# -*- coding: utf-8 -*-
|
||||
+
|
||||
+"""Methods for reporting bugs."""
|
||||
+
|
||||
+import subprocess, sys, os
|
||||
+
|
||||
+__all__ = ['ReportFailure', 'BugReport', 'getReporters']
|
||||
+
|
||||
+#
|
||||
+
|
||||
+class ReportFailure(Exception):
|
||||
+ """Generic exception for failures in bug reporting."""
|
||||
+ def __init__(self, value):
|
||||
+ self.value = value
|
||||
+
|
||||
+# Collect information about a bug.
|
||||
+
|
||||
+class BugReport(object):
|
||||
+ def __init__(self, title, description, files):
|
||||
+ self.title = title
|
||||
+ self.description = description
|
||||
+ self.files = files
|
||||
+
|
||||
+# Reporter interfaces.
|
||||
+
|
||||
+import os
|
||||
+
|
||||
+import email, mimetypes, smtplib
|
||||
+from email import encoders
|
||||
+from email.message import Message
|
||||
+from email.mime.base import MIMEBase
|
||||
+from email.mime.multipart import MIMEMultipart
|
||||
+from email.mime.text import MIMEText
|
||||
+
|
||||
+#===------------------------------------------------------------------------===#
|
||||
+# ReporterParameter
|
||||
+#===------------------------------------------------------------------------===#
|
||||
+
|
||||
+class ReporterParameter(object):
|
||||
+ def __init__(self, n):
|
||||
+ self.name = n
|
||||
+ def getName(self):
|
||||
+ return self.name
|
||||
+ def getValue(self,r,bugtype,getConfigOption):
|
||||
+ return getConfigOption(r.getName(),self.getName())
|
||||
+ def saveConfigValue(self):
|
||||
+ return True
|
||||
+
|
||||
+class TextParameter (ReporterParameter):
|
||||
+ def getHTML(self,r,bugtype,getConfigOption):
|
||||
+ return """\
|
||||
+<tr>
|
||||
+<td class="form_clabel">%s:</td>
|
||||
+<td class="form_value"><input type="text" name="%s_%s" value="%s"></td>
|
||||
+</tr>"""%(self.getName(),r.getName(),self.getName(),self.getValue(r,bugtype,getConfigOption))
|
||||
+
|
||||
+class SelectionParameter (ReporterParameter):
|
||||
+ def __init__(self, n, values):
|
||||
+ ReporterParameter.__init__(self,n)
|
||||
+ self.values = values
|
||||
+
|
||||
+ def getHTML(self,r,bugtype,getConfigOption):
|
||||
+ default = self.getValue(r,bugtype,getConfigOption)
|
||||
+ return """\
|
||||
+<tr>
|
||||
+<td class="form_clabel">%s:</td><td class="form_value"><select name="%s_%s">
|
||||
+%s
|
||||
+</select></td>"""%(self.getName(),r.getName(),self.getName(),'\n'.join(["""\
|
||||
+<option value="%s"%s>%s</option>"""%(o[0],
|
||||
+ o[0] == default and ' selected="selected"' or '',
|
||||
+ o[1]) for o in self.values]))
|
||||
+
|
||||
+#===------------------------------------------------------------------------===#
|
||||
+# Reporters
|
||||
+#===------------------------------------------------------------------------===#
|
||||
+
|
||||
+class EmailReporter(object):
|
||||
+ def getName(self):
|
||||
+ return 'Email'
|
||||
+
|
||||
+ def getParameters(self):
|
||||
+ return [TextParameter(x) for x in ['To', 'From', 'SMTP Server', 'SMTP Port']]
|
||||
+
|
||||
+ # Lifted from python email module examples.
|
||||
+ def attachFile(self, outer, path):
|
||||
+ # Guess the content type based on the file's extension. Encoding
|
||||
+ # will be ignored, although we should check for simple things like
|
||||
+ # gzip'd or compressed files.
|
||||
+ ctype, encoding = mimetypes.guess_type(path)
|
||||
+ if ctype is None or encoding is not None:
|
||||
+ # No guess could be made, or the file is encoded (compressed), so
|
||||
+ # use a generic bag-of-bits type.
|
||||
+ ctype = 'application/octet-stream'
|
||||
+ maintype, subtype = ctype.split('/', 1)
|
||||
+ if maintype == 'text':
|
||||
+ fp = open(path)
|
||||
+ # Note: we should handle calculating the charset
|
||||
+ msg = MIMEText(fp.read(), _subtype=subtype)
|
||||
+ fp.close()
|
||||
+ else:
|
||||
+ fp = open(path, 'rb')
|
||||
+ msg = MIMEBase(maintype, subtype)
|
||||
+ msg.set_payload(fp.read())
|
||||
+ fp.close()
|
||||
+ # Encode the payload using Base64
|
||||
+ encoders.encode_base64(msg)
|
||||
+ # Set the filename parameter
|
||||
+ msg.add_header('Content-Disposition', 'attachment', filename=os.path.basename(path))
|
||||
+ outer.attach(msg)
|
||||
+
|
||||
+ def fileReport(self, report, parameters):
|
||||
+ mainMsg = """\
|
||||
+BUG REPORT
|
||||
+---
|
||||
+Title: %s
|
||||
+Description: %s
|
||||
+"""%(report.title, report.description)
|
||||
+
|
||||
+ if not parameters.get('To'):
|
||||
+ raise ReportFailure('No "To" address specified.')
|
||||
+ if not parameters.get('From'):
|
||||
+ raise ReportFailure('No "From" address specified.')
|
||||
+
|
||||
+ msg = MIMEMultipart()
|
||||
+ msg['Subject'] = 'BUG REPORT: %s'%(report.title)
|
||||
+ # FIXME: Get config parameters
|
||||
+ msg['To'] = parameters.get('To')
|
||||
+ msg['From'] = parameters.get('From')
|
||||
+ msg.preamble = mainMsg
|
||||
+
|
||||
+ msg.attach(MIMEText(mainMsg, _subtype='text/plain'))
|
||||
+ for file in report.files:
|
||||
+ self.attachFile(msg, file)
|
||||
+
|
||||
+ try:
|
||||
+ s = smtplib.SMTP(host=parameters.get('SMTP Server'),
|
||||
+ port=parameters.get('SMTP Port'))
|
||||
+ s.sendmail(msg['From'], msg['To'], msg.as_string())
|
||||
+ s.close()
|
||||
+ except:
|
||||
+ raise ReportFailure('Unable to send message via SMTP.')
|
||||
+
|
||||
+ return "Message sent!"
|
||||
+
|
||||
+class BugzillaReporter(object):
|
||||
+ def getName(self):
|
||||
+ return 'Bugzilla'
|
||||
+
|
||||
+ def getParameters(self):
|
||||
+ return [TextParameter(x) for x in ['URL','Product']]
|
||||
+
|
||||
+ def fileReport(self, report, parameters):
|
||||
+ raise NotImplementedError
|
||||
+
|
||||
+
|
||||
+class RadarClassificationParameter(SelectionParameter):
|
||||
+ def __init__(self):
|
||||
+ SelectionParameter.__init__(self,"Classification",
|
||||
+ [['1', 'Security'], ['2', 'Crash/Hang/Data Loss'],
|
||||
+ ['3', 'Performance'], ['4', 'UI/Usability'],
|
||||
+ ['6', 'Serious Bug'], ['7', 'Other']])
|
||||
+
|
||||
+ def saveConfigValue(self):
|
||||
+ return False
|
||||
+
|
||||
+ def getValue(self,r,bugtype,getConfigOption):
|
||||
+ if bugtype.find("leak") != -1:
|
||||
+ return '3'
|
||||
+ elif bugtype.find("dereference") != -1:
|
||||
+ return '2'
|
||||
+ elif bugtype.find("missing ivar release") != -1:
|
||||
+ return '3'
|
||||
+ else:
|
||||
+ return '7'
|
||||
+
|
||||
+###
|
||||
+
|
||||
+def getReporters():
|
||||
+ reporters = []
|
||||
+ reporters.append(EmailReporter())
|
||||
+ return reporters
|
||||
+
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1,299 +0,0 @@
|
||||
From f962ce26b4bf716af29b9d4d05860d5fb81cee61 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Stellard <tstellar@redhat.com>
|
||||
Date: Fri, 18 Dec 2020 23:16:26 +0000
|
||||
Subject: [PATCH] scan-view: Remove Reporter.py and associated AppleScript
|
||||
files
|
||||
|
||||
I'm not exactly sure what this is, but it appears to be a tool for reporting
|
||||
internal issues at Apple. These files haven't been meaningfully updated in
|
||||
12 years, and it doesn't seem like there is any reason to keep them in tree.
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D93565
|
||||
---
|
||||
clang/tools/scan-view/CMakeLists.txt | 3 -
|
||||
clang/tools/scan-view/share/FileRadar.scpt | Bin 18418 -> 0 bytes
|
||||
.../scan-view/share/GetRadarVersion.scpt | 0
|
||||
clang/tools/scan-view/share/Reporter.py | 251 ------------------
|
||||
4 files changed, 254 deletions(-)
|
||||
delete mode 100644 clang/tools/scan-view/share/FileRadar.scpt
|
||||
delete mode 100644 clang/tools/scan-view/share/GetRadarVersion.scpt
|
||||
delete mode 100644 clang/tools/scan-view/share/Reporter.py
|
||||
|
||||
diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt
|
||||
index 22edb974bac7..dd3d33439299 100644
|
||||
--- a/clang/tools/scan-view/CMakeLists.txt
|
||||
+++ b/clang/tools/scan-view/CMakeLists.txt
|
||||
@@ -5,10 +5,7 @@ set(BinFiles
|
||||
|
||||
set(ShareFiles
|
||||
ScanView.py
|
||||
- Reporter.py
|
||||
startfile.py
|
||||
- FileRadar.scpt
|
||||
- GetRadarVersion.scpt
|
||||
bugcatcher.ico)
|
||||
|
||||
if(CLANG_INSTALL_SCANVIEW)
|
||||
diff --git a/clang/tools/scan-view/share/GetRadarVersion.scpt b/clang/tools/scan-view/share/GetRadarVersion.scpt
|
||||
deleted file mode 100644
|
||||
index e69de29bb2d1..000000000000
|
||||
diff --git a/clang/tools/scan-view/share/Reporter.py b/clang/tools/scan-view/share/Reporter.py
|
||||
deleted file mode 100644
|
||||
index b1ff16142e27..000000000000
|
||||
--- a/clang/tools/scan-view/share/Reporter.py
|
||||
+++ /dev/null
|
||||
@@ -1,251 +0,0 @@
|
||||
-#!/usr/bin/env python
|
||||
-# -*- coding: utf-8 -*-
|
||||
-
|
||||
-"""Methods for reporting bugs."""
|
||||
-
|
||||
-import subprocess, sys, os
|
||||
-
|
||||
-__all__ = ['ReportFailure', 'BugReport', 'getReporters']
|
||||
-
|
||||
-#
|
||||
-
|
||||
-class ReportFailure(Exception):
|
||||
- """Generic exception for failures in bug reporting."""
|
||||
- def __init__(self, value):
|
||||
- self.value = value
|
||||
-
|
||||
-# Collect information about a bug.
|
||||
-
|
||||
-class BugReport(object):
|
||||
- def __init__(self, title, description, files):
|
||||
- self.title = title
|
||||
- self.description = description
|
||||
- self.files = files
|
||||
-
|
||||
-# Reporter interfaces.
|
||||
-
|
||||
-import os
|
||||
-
|
||||
-import email, mimetypes, smtplib
|
||||
-from email import encoders
|
||||
-from email.message import Message
|
||||
-from email.mime.base import MIMEBase
|
||||
-from email.mime.multipart import MIMEMultipart
|
||||
-from email.mime.text import MIMEText
|
||||
-
|
||||
-#===------------------------------------------------------------------------===#
|
||||
-# ReporterParameter
|
||||
-#===------------------------------------------------------------------------===#
|
||||
-
|
||||
-class ReporterParameter(object):
|
||||
- def __init__(self, n):
|
||||
- self.name = n
|
||||
- def getName(self):
|
||||
- return self.name
|
||||
- def getValue(self,r,bugtype,getConfigOption):
|
||||
- return getConfigOption(r.getName(),self.getName())
|
||||
- def saveConfigValue(self):
|
||||
- return True
|
||||
-
|
||||
-class TextParameter (ReporterParameter):
|
||||
- def getHTML(self,r,bugtype,getConfigOption):
|
||||
- return """\
|
||||
-<tr>
|
||||
-<td class="form_clabel">%s:</td>
|
||||
-<td class="form_value"><input type="text" name="%s_%s" value="%s"></td>
|
||||
-</tr>"""%(self.getName(),r.getName(),self.getName(),self.getValue(r,bugtype,getConfigOption))
|
||||
-
|
||||
-class SelectionParameter (ReporterParameter):
|
||||
- def __init__(self, n, values):
|
||||
- ReporterParameter.__init__(self,n)
|
||||
- self.values = values
|
||||
-
|
||||
- def getHTML(self,r,bugtype,getConfigOption):
|
||||
- default = self.getValue(r,bugtype,getConfigOption)
|
||||
- return """\
|
||||
-<tr>
|
||||
-<td class="form_clabel">%s:</td><td class="form_value"><select name="%s_%s">
|
||||
-%s
|
||||
-</select></td>"""%(self.getName(),r.getName(),self.getName(),'\n'.join(["""\
|
||||
-<option value="%s"%s>%s</option>"""%(o[0],
|
||||
- o[0] == default and ' selected="selected"' or '',
|
||||
- o[1]) for o in self.values]))
|
||||
-
|
||||
-#===------------------------------------------------------------------------===#
|
||||
-# Reporters
|
||||
-#===------------------------------------------------------------------------===#
|
||||
-
|
||||
-class EmailReporter(object):
|
||||
- def getName(self):
|
||||
- return 'Email'
|
||||
-
|
||||
- def getParameters(self):
|
||||
- return [TextParameter(x) for x in ['To', 'From', 'SMTP Server', 'SMTP Port']]
|
||||
-
|
||||
- # Lifted from python email module examples.
|
||||
- def attachFile(self, outer, path):
|
||||
- # Guess the content type based on the file's extension. Encoding
|
||||
- # will be ignored, although we should check for simple things like
|
||||
- # gzip'd or compressed files.
|
||||
- ctype, encoding = mimetypes.guess_type(path)
|
||||
- if ctype is None or encoding is not None:
|
||||
- # No guess could be made, or the file is encoded (compressed), so
|
||||
- # use a generic bag-of-bits type.
|
||||
- ctype = 'application/octet-stream'
|
||||
- maintype, subtype = ctype.split('/', 1)
|
||||
- if maintype == 'text':
|
||||
- fp = open(path)
|
||||
- # Note: we should handle calculating the charset
|
||||
- msg = MIMEText(fp.read(), _subtype=subtype)
|
||||
- fp.close()
|
||||
- else:
|
||||
- fp = open(path, 'rb')
|
||||
- msg = MIMEBase(maintype, subtype)
|
||||
- msg.set_payload(fp.read())
|
||||
- fp.close()
|
||||
- # Encode the payload using Base64
|
||||
- encoders.encode_base64(msg)
|
||||
- # Set the filename parameter
|
||||
- msg.add_header('Content-Disposition', 'attachment', filename=os.path.basename(path))
|
||||
- outer.attach(msg)
|
||||
-
|
||||
- def fileReport(self, report, parameters):
|
||||
- mainMsg = """\
|
||||
-BUG REPORT
|
||||
----
|
||||
-Title: %s
|
||||
-Description: %s
|
||||
-"""%(report.title, report.description)
|
||||
-
|
||||
- if not parameters.get('To'):
|
||||
- raise ReportFailure('No "To" address specified.')
|
||||
- if not parameters.get('From'):
|
||||
- raise ReportFailure('No "From" address specified.')
|
||||
-
|
||||
- msg = MIMEMultipart()
|
||||
- msg['Subject'] = 'BUG REPORT: %s'%(report.title)
|
||||
- # FIXME: Get config parameters
|
||||
- msg['To'] = parameters.get('To')
|
||||
- msg['From'] = parameters.get('From')
|
||||
- msg.preamble = mainMsg
|
||||
-
|
||||
- msg.attach(MIMEText(mainMsg, _subtype='text/plain'))
|
||||
- for file in report.files:
|
||||
- self.attachFile(msg, file)
|
||||
-
|
||||
- try:
|
||||
- s = smtplib.SMTP(host=parameters.get('SMTP Server'),
|
||||
- port=parameters.get('SMTP Port'))
|
||||
- s.sendmail(msg['From'], msg['To'], msg.as_string())
|
||||
- s.close()
|
||||
- except:
|
||||
- raise ReportFailure('Unable to send message via SMTP.')
|
||||
-
|
||||
- return "Message sent!"
|
||||
-
|
||||
-class BugzillaReporter(object):
|
||||
- def getName(self):
|
||||
- return 'Bugzilla'
|
||||
-
|
||||
- def getParameters(self):
|
||||
- return [TextParameter(x) for x in ['URL','Product']]
|
||||
-
|
||||
- def fileReport(self, report, parameters):
|
||||
- raise NotImplementedError
|
||||
-
|
||||
-
|
||||
-class RadarClassificationParameter(SelectionParameter):
|
||||
- def __init__(self):
|
||||
- SelectionParameter.__init__(self,"Classification",
|
||||
- [['1', 'Security'], ['2', 'Crash/Hang/Data Loss'],
|
||||
- ['3', 'Performance'], ['4', 'UI/Usability'],
|
||||
- ['6', 'Serious Bug'], ['7', 'Other']])
|
||||
-
|
||||
- def saveConfigValue(self):
|
||||
- return False
|
||||
-
|
||||
- def getValue(self,r,bugtype,getConfigOption):
|
||||
- if bugtype.find("leak") != -1:
|
||||
- return '3'
|
||||
- elif bugtype.find("dereference") != -1:
|
||||
- return '2'
|
||||
- elif bugtype.find("missing ivar release") != -1:
|
||||
- return '3'
|
||||
- else:
|
||||
- return '7'
|
||||
-
|
||||
-class RadarReporter(object):
|
||||
- @staticmethod
|
||||
- def isAvailable():
|
||||
- # FIXME: Find this .scpt better
|
||||
- path = os.path.join(os.path.dirname(__file__),'../share/scan-view/GetRadarVersion.scpt')
|
||||
- try:
|
||||
- p = subprocess.Popen(['osascript',path],
|
||||
- stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
- except:
|
||||
- return False
|
||||
- data,err = p.communicate()
|
||||
- res = p.wait()
|
||||
- # FIXME: Check version? Check for no errors?
|
||||
- return res == 0
|
||||
-
|
||||
- def getName(self):
|
||||
- return 'Radar'
|
||||
-
|
||||
- def getParameters(self):
|
||||
- return [ TextParameter('Component'), TextParameter('Component Version'),
|
||||
- RadarClassificationParameter() ]
|
||||
-
|
||||
- def fileReport(self, report, parameters):
|
||||
- component = parameters.get('Component', '')
|
||||
- componentVersion = parameters.get('Component Version', '')
|
||||
- classification = parameters.get('Classification', '')
|
||||
- personID = ""
|
||||
- diagnosis = ""
|
||||
- config = ""
|
||||
-
|
||||
- if not component.strip():
|
||||
- component = 'Bugs found by clang Analyzer'
|
||||
- if not componentVersion.strip():
|
||||
- componentVersion = 'X'
|
||||
-
|
||||
- script = os.path.join(os.path.dirname(__file__),'../share/scan-view/FileRadar.scpt')
|
||||
- args = ['osascript', script, component, componentVersion, classification, personID, report.title,
|
||||
- report.description, diagnosis, config] + [os.path.abspath(f) for f in report.files]
|
||||
-# print >>sys.stderr, args
|
||||
- try:
|
||||
- p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
- except:
|
||||
- raise ReportFailure("Unable to file radar (AppleScript failure).")
|
||||
- data, err = p.communicate()
|
||||
- res = p.wait()
|
||||
-
|
||||
- if res:
|
||||
- raise ReportFailure("Unable to file radar (AppleScript failure).")
|
||||
-
|
||||
- try:
|
||||
- values = eval(data)
|
||||
- except:
|
||||
- raise ReportFailure("Unable to process radar results.")
|
||||
-
|
||||
- # We expect (int: bugID, str: message)
|
||||
- if len(values) != 2 or not isinstance(values[0], int):
|
||||
- raise ReportFailure("Unable to process radar results.")
|
||||
-
|
||||
- bugID,message = values
|
||||
- bugID = int(bugID)
|
||||
-
|
||||
- if not bugID:
|
||||
- raise ReportFailure(message)
|
||||
-
|
||||
- return "Filed: <a href=\"rdar://%d/\">%d</a>"%(bugID,bugID)
|
||||
-
|
||||
-###
|
||||
-
|
||||
-def getReporters():
|
||||
- reporters = []
|
||||
- if RadarReporter.isAvailable():
|
||||
- reporters.append(RadarReporter())
|
||||
- reporters.append(EmailReporter())
|
||||
- return reporters
|
||||
-
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,17 +1,7 @@
|
||||
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.")
|
||||
diff -Naur clang-12.0.0rc1.src.orig/CMakeLists.txt clang-12.0.0rc1.src/CMakeLists.txt
|
||||
--- clang-12.0.0rc1.src.orig/CMakeLists.txt 2021-02-14 21:40:31.000000000 +0100
|
||||
+++ clang-12.0.0rc1.src/CMakeLists.txt 2021-02-14 21:41:57.000000000 +0100
|
||||
@@ -153,12 +153,6 @@
|
||||
set(LLVM_UTILS_PROVIDED ON)
|
||||
set(CLANG_TEST_DEPS FileCheck count not)
|
||||
endif()
|
||||
@ -24,7 +14,7 @@ index c2016a45ca..48ea3c3bb9 100644
|
||||
else()
|
||||
# Seek installed Lit.
|
||||
find_program(LLVM_LIT
|
||||
@@ -507,7 +501,11 @@ endif()
|
||||
@@ -537,7 +531,11 @@
|
||||
|
||||
|
||||
if( CLANG_INCLUDE_TESTS )
|
||||
@ -37,6 +27,3 @@ index c2016a45ca..48ea3c3bb9 100644
|
||||
add_subdirectory(unittests)
|
||||
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
||||
list(APPEND CLANG_TEST_PARAMS
|
||||
--
|
||||
2.19.2
|
||||
|
||||
|
36
clang-tidy.patch
Normal file
36
clang-tidy.patch
Normal file
@ -0,0 +1,36 @@
|
||||
diff -Naur clang-tools-extra-12.0.0rc1.src.orig/unittests/clang-tidy/CMakeLists.txt clang-tools-extra-12.0.0rc1.src/unittests/clang-tidy/CMakeLists.txt
|
||||
--- clang-tools-extra-12.0.0rc1.src.orig/unittests/clang-tidy/CMakeLists.txt 2021-02-15 11:12:22.000000000 +0100
|
||||
+++ clang-tools-extra-12.0.0rc1.src/unittests/clang-tidy/CMakeLists.txt 2021-02-15 17:02:32.000000000 +0100
|
||||
@@ -1,9 +1,17 @@
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
FrontendOpenMP
|
||||
Support
|
||||
- TestingSupport
|
||||
)
|
||||
|
||||
+if(CLANG_BUILT_STANDALONE)
|
||||
+ # LLVMTestingSupport library is needed for clang-tidy tests.
|
||||
+ if (EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Testing/Support
|
||||
+ AND NOT TARGET LLVMTestingSupport)
|
||||
+ add_subdirectory(${LLVM_MAIN_SRC_DIR}/lib/Testing/Support
|
||||
+ lib/Testing/Support)
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
get_filename_component(CLANG_LINT_SOURCE_DIR
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../clang-tidy REALPATH)
|
||||
include_directories(${CLANG_LINT_SOURCE_DIR})
|
||||
@@ -37,6 +45,7 @@
|
||||
clangToolingCore
|
||||
clangTransformer
|
||||
)
|
||||
+
|
||||
target_link_libraries(ClangTidyTests
|
||||
PRIVATE
|
||||
clangTidy
|
||||
@@ -46,4 +55,5 @@
|
||||
clangTidyObjCModule
|
||||
clangTidyReadabilityModule
|
||||
clangTidyUtils
|
||||
+ LLVMTestingSupport
|
||||
)
|
54
clang.spec
54
clang.spec
@ -1,10 +1,10 @@
|
||||
%global compat_build 0
|
||||
|
||||
%global maj_ver 11
|
||||
%global min_ver 1
|
||||
%global maj_ver 12
|
||||
%global min_ver 0
|
||||
%global patch_ver 0
|
||||
%global rc_ver 2
|
||||
%global baserelease 5
|
||||
%global rc_ver 1
|
||||
%global baserelease 1
|
||||
|
||||
%global clang_tools_binaries \
|
||||
%{_bindir}/clang-apply-replacements \
|
||||
@ -85,16 +85,18 @@ Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{versio
|
||||
%endif
|
||||
Source4: tstellar-gpg-key.asc
|
||||
|
||||
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
|
||||
|
||||
%if !0%{?compat_build}
|
||||
Patch21: completion-model-cmake.patch
|
||||
Patch22: clang-tidy.patch
|
||||
%endif
|
||||
|
||||
# Not Upstream
|
||||
Patch15: 0001-clang-Don-t-install-static-libraries.patch
|
||||
Patch16: 0001-clang-Fix-spurious-test-failure.patch
|
||||
Patch17: 0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch
|
||||
Patch18: 0001-scan-view-Remove-Reporter.py-and-associated-AppleScr.patch
|
||||
Patch19: 0001-Partially-Revert-scan-view-Remove-Reporter.py-and-as.patch
|
||||
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
|
||||
Patch15: 0001-clang-Don-t-install-static-libraries.patch
|
||||
Patch17: 0001-Driver-Prefer-gcc-toolchains-with-libgcc_s.so-when-n.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
@ -263,6 +265,11 @@ Requires: python3
|
||||
|
||||
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}'
|
||||
%setup -T -q -b 1 -n %{clang_tools_srcdir}
|
||||
%patch21 -p1 -b .comp-model
|
||||
%patch22 -p1 -b .clang-tidy
|
||||
|
||||
# failing test case
|
||||
rm test/clang-tidy/checkers/altera-struct-pack-align.cpp
|
||||
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
@ -273,26 +280,18 @@ pathfix.py -i %{__python3} -pn \
|
||||
|
||||
%patch4 -p1 -b .gtest
|
||||
%patch11 -p1 -b .libcxx-fix
|
||||
%patch13 -p2 -b .unwind-all
|
||||
%patch13 -p1 -b .unwind-default
|
||||
%patch15 -p2 -b .no-install-static
|
||||
%patch16 -p2 -b .test-fix2
|
||||
%patch17 -p1 -b .check-gcc_s
|
||||
%patch18 -p2 -b .scan-view-remove-files
|
||||
%patch19 -p2 -b .scan-view-remove-files-fix
|
||||
|
||||
# Patch does not support binary diffs from git so we have to manually delete
|
||||
# this:
|
||||
rm tools/scan-view/share/FileRadar.scpt
|
||||
|
||||
mv ../%{clang_tools_srcdir} tools/extra
|
||||
# failing test case
|
||||
rm test/CodeGen/profile-filter.c
|
||||
|
||||
pathfix.py -i %{__python3} -pn \
|
||||
tools/clang-format/*.py \
|
||||
tools/clang-format/git-clang-format \
|
||||
utils/hmaptool/hmaptool \
|
||||
tools/scan-view/bin/scan-view \
|
||||
tools/scan-view/share/Reporter.py \
|
||||
tools/scan-view/share/startfile.py
|
||||
tools/scan-view/bin/scan-view
|
||||
%endif
|
||||
|
||||
%build
|
||||
@ -340,6 +339,7 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=OFF \
|
||||
%else
|
||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
||||
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \
|
||||
-DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
|
||||
-DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
|
||||
%if 0%{?__isa_bits} == 64
|
||||
@ -427,7 +427,6 @@ ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
|
||||
|
||||
# Fix permission
|
||||
chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
|
||||
chmod a+x %{buildroot}%{_datadir}/scan-view/{Reporter.py,startfile.py}
|
||||
|
||||
# create a link to clang's resource directory that is "constant" across minor
|
||||
# version bumps
|
||||
@ -539,7 +538,10 @@ false
|
||||
|
||||
%endif
|
||||
%changelog
|
||||
* Thu Feb 09 2021 Tom Stellard <tstellar@redhat.com> - 11.1.0-0.5.rc2
|
||||
* Sun Feb 14 2021 sguelton@redhat.com - 12.0.0-0.1.rc1
|
||||
- 12.0.0-rc1 release
|
||||
|
||||
* Tue Feb 09 2021 Tom Stellard <tstellar@redhat.com> - 11.1.0-0.5.rc2
|
||||
- Remove some unnecessary scan-view files
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-0.4.rc2
|
||||
|
14
completion-model-cmake.patch
Normal file
14
completion-model-cmake.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -Naur clang-tools-extra-12.0.0rc1.src.orig/clangd/quality/CompletionModel.cmake clang-tools-extra-12.0.0rc1.src/clangd/quality/CompletionModel.cmake
|
||||
--- clang-tools-extra-12.0.0rc1.src.orig/clangd/quality/CompletionModel.cmake 2021-02-14 17:03:14.000000000 +0100
|
||||
+++ clang-tools-extra-12.0.0rc1.src/clangd/quality/CompletionModel.cmake 2021-02-14 20:57:51.000000000 +0100
|
||||
@@ -5,8 +5,8 @@
|
||||
# will define a C++ class called ${cpp_class} - which may be a
|
||||
# namespace-qualified class name.
|
||||
function(gen_decision_forest model filename cpp_class)
|
||||
- set(model_compiler ${CMAKE_SOURCE_DIR}/../clang-tools-extra/clangd/quality/CompletionModelCodegen.py)
|
||||
-
|
||||
+ set(model_compiler ${LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR}/clangd/quality/CompletionModelCodegen.py)
|
||||
+
|
||||
set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(header_file ${output_dir}/${filename}.h)
|
||||
set(cpp_file ${output_dir}/${filename}.cpp)
|
8
sources
8
sources
@ -1,4 +1,4 @@
|
||||
SHA512 (clang-11.1.0rc2.src.tar.xz) = cae207e69b6d7df31303b1c73d55d82091babedbe0dc684aab1b603ce7e749d98a11a14ae9e3848dcb95a5840b38de56f407dda10b8b80eac3a6ce09ca44758a
|
||||
SHA512 (clang-tools-extra-11.1.0rc2.src.tar.xz) = 462a15d571b0f7bb02641cf1ebfa8e510c6877839f6cdae48a8535ef481ec4ffdcf062fc7cfd8ea791bc4f8dff45f2104151cae6fa94d1091f995bcf8b87c0e5
|
||||
SHA512 (clang-tools-extra-11.1.0rc2.src.tar.xz.sig) = 7cb6632673c9739c87f1a8cc643e7f5583b52fc893d489d738216b423ceba6e97454323674cf0ee178e4141171d24eefc1b0786fad84efcb2bdb27d6033393b3
|
||||
SHA512 (clang-11.1.0rc2.src.tar.xz.sig) = 4921b2c4ef64c57d7135989349da8999b621c182362c0edabb23c67192052729afc9ba09888ee683cb10e39d5645250b1b62100c22ded8ac05f1ca0ba36b8e64
|
||||
SHA512 (clang-12.0.0rc1.src.tar.xz) = ffde0f500926e3bb40c9565e013ae73f488ecf3ffea28a1a14c366d12fddc9a399d126cb8af1b42565cc8c32fdcc6d8f5056fd31dd6e104dad2b856cda19009e
|
||||
SHA512 (clang-tools-extra-12.0.0rc1.src.tar.xz) = 5c7dd5a5fc287513f281db66963101452a5463454393c554f4af043f99737b49110f3d0e07932e99a329f904175c236d31063c2c86b1f9f679c75fb55db0fab3
|
||||
SHA512 (clang-tools-extra-12.0.0rc1.src.tar.xz.sig) = 7e63da5b1f2df71d2378a7bff02eb8976a40ff4a106cb775a022b305d2847282d0c5865413ca77e41785c63cf90e11a9b9f2838b148febd1f9e0eea048d1102c
|
||||
SHA512 (clang-12.0.0rc1.src.tar.xz.sig) = 4afb9effe6417a5c1d03189aff9c8cf3af49a317504b0d09c4c3242627f92c9b27a0291346ee547541fe8c00f36075f3b47b3572eaa8a6174854a3d2505348b3
|
||||
|
Loading…
Reference in New Issue
Block a user