[arch-commits] Commit in clang/trunk (4 files)

Evangelos Foutras foutrelis at archlinux.org
Fri Jul 9 06:19:54 UTC 2021


    Date: Friday, July 9, 2021 @ 06:19:54
  Author: foutrelis
Revision: 419327

upgpkg: clang 12.0.1-1: new upstream release

Modified:
  clang/trunk/PKGBUILD
Deleted:
  clang/trunk/clangd-CompletionModel-cmake.patch
  clang/trunk/opencl-respect-calling-convention-for-builtin.patch
  clang/trunk/partially-revert-scan-view-remove-Reporter.py.patch

-----------------------------------------------------+
 PKGBUILD                                            |   21 -
 clangd-CompletionModel-cmake.patch                  |   66 -----
 opencl-respect-calling-convention-for-builtin.patch |  107 --------
 partially-revert-scan-view-remove-Reporter.py.patch |  225 ------------------
 4 files changed, 4 insertions(+), 415 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-07-09 06:05:22 UTC (rev 419326)
+++ PKGBUILD	2021-07-09 06:19:54 UTC (rev 419327)
@@ -2,7 +2,7 @@
 # Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
 
 pkgname=clang
-pkgver=12.0.0
+pkgver=12.0.1
 pkgrel=1
 pkgdesc="C language family frontend for LLVM"
 arch=('x86_64')
@@ -20,20 +20,14 @@
 source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
         $_source_base/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
         $_source_base/llvm-$pkgver.src.tar.xz{,.sig}
-        partially-revert-scan-view-remove-Reporter.py.patch
-        opencl-respect-calling-convention-for-builtin.patch
-        clangd-CompletionModel-cmake.patch
         clang-link-with-Bsymbolic-functions.patch
         enable-SSP-and-PIE-by-default.patch)
-sha256sums=('e26e452e91d4542da3ebbf404f024d3e1cbf103f4cd110c26bf0a19621cca9ed'
+sha256sums=('6e912133bcf56e9cfe6a346fa7e5c52c2cde3e4e48b7a6cc6fcc7c75047da45f'
             'SKIP'
-            'ad41e0b527a65ade95c1ba690a5434cefaab4a2daa1be307caaa1e8541fe6d5c'
+            '65659efdf97dbed70ae0caee989936b731f249dddc46f1cb4225b2f49b232ae5'
             'SKIP'
-            '49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50'
+            '7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf'
             'SKIP'
-            '68be2fb78e62f76702a156d4c1759b4c6f0d805e1b492e9c6f490ce40862138d'
-            '859d34dac43999edfc4c33e1cbb6e7458921fa9f16a93514701c1a9706665d24'
-            '6739abedc8870879618414c5358fda4fcfd4a3ac7a22030ac7c409779b68f669'
             '5bc0b47c70990bb8dd0cf4138a8ab9e15cf6b008b7c0cf2c7aac3736b559e0e6'
             'a877fa5cf1c1cca3bd55f9a36cf8c1bdd061ff398aeace90fe3cbd9e82550da3')
 validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans at chromium.org>
@@ -67,13 +61,6 @@
   mv "$srcdir/clang-tools-extra-$pkgver.src" tools/extra
   patch -Np2 -i ../enable-SSP-and-PIE-by-default.patch
 
-  # Some fixes from the release/12.x branch
-  patch -Np2 -i ../partially-revert-scan-view-remove-Reporter.py.patch
-  patch -Np2 -i ../opencl-respect-calling-convention-for-builtin.patch
-
-  # https://bugs.llvm.org/show_bug.cgi?id=49990
-  patch -Np2 -d tools/extra <../clangd-CompletionModel-cmake.patch
-
   # https://bugs.archlinux.org/task/70697
   patch -Np2 -i ../clang-link-with-Bsymbolic-functions.patch
 }

Deleted: clangd-CompletionModel-cmake.patch
===================================================================
--- clangd-CompletionModel-cmake.patch	2021-07-09 06:05:22 UTC (rev 419326)
+++ clangd-CompletionModel-cmake.patch	2021-07-09 06:19:54 UTC (rev 419327)
@@ -1,66 +0,0 @@
-From f51ab1871655a9a96134c2636c37dcb5a6b01ac3 Mon Sep 17 00:00:00 2001
-From: serge-sans-paille <sguelton at redhat.com>
-Date: Mon, 22 Mar 2021 10:05:25 +0100
-Subject: [PATCH] Make clangd CompletionModel usable even with non-standard
- (but supported) layout
-
-llvm supports specifying a non-standard layout where each project lies in its
-own place. Do not assume a fixed layout and use the appropriate cmake variable
-instead.
-
-Differential Revision: https://reviews.llvm.org/D96787
----
- clang-tools-extra/clangd/quality/CompletionModel.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/clang-tools-extra/clangd/quality/CompletionModel.cmake b/clang-tools-extra/clangd/quality/CompletionModel.cmake
-index 60c6d2aa8433..41bc2ed1890b 100644
---- a/clang-tools-extra/clangd/quality/CompletionModel.cmake
-+++ b/clang-tools-extra/clangd/quality/CompletionModel.cmake
-@@ -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)
-
-From 7907c46fe6195728fafd843b8c0fb19a3e68e9ad Mon Sep 17 00:00:00 2001
-From: Harald van Dijk <harald at gigawatt.nl>
-Date: Wed, 5 May 2021 19:25:34 +0100
-Subject: [PATCH] Make clangd CompletionModel not depend on directory layout.
-
-The current code accounts for two possible layouts, but there is at
-least a third supported layout: clang-tools-extra may also be checked
-out as clang/tools/extra with the releases, which was not yet handled.
-Rather than treating that as a special case, use the location of
-CompletionModel.cmake to handle all three cases. This should address the
-problems that prompted D96787 and the problems that prompted the
-proposed revert D100625.
-
-Reviewed By: usaxena95
-
-Differential Revision: https://reviews.llvm.org/D101851
----
- clang-tools-extra/clangd/quality/CompletionModel.cmake | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/clang-tools-extra/clangd/quality/CompletionModel.cmake b/clang-tools-extra/clangd/quality/CompletionModel.cmake
-index 41bc2ed1890b..dc0c0cde4dab 100644
---- a/clang-tools-extra/clangd/quality/CompletionModel.cmake
-+++ b/clang-tools-extra/clangd/quality/CompletionModel.cmake
-@@ -4,8 +4,9 @@
- # ${CMAKE_CURRENT_BINARY_DIR}. The generated header
- # will define a C++ class called ${cpp_class} - which may be a
- # namespace-qualified class name.
-+set(CLANGD_COMPLETION_MODEL_COMPILER ${CMAKE_CURRENT_LIST_DIR}/CompletionModelCodegen.py)
- function(gen_decision_forest model filename cpp_class)
--  set(model_compiler ${LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR}/clangd/quality/CompletionModelCodegen.py)
-+  set(model_compiler ${CLANGD_COMPLETION_MODEL_COMPILER})
- 
-   set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
-   set(header_file ${output_dir}/${filename}.h)

Deleted: opencl-respect-calling-convention-for-builtin.patch
===================================================================
--- opencl-respect-calling-convention-for-builtin.patch	2021-07-09 06:05:22 UTC (rev 419326)
+++ opencl-respect-calling-convention-for-builtin.patch	2021-07-09 06:19:54 UTC (rev 419327)
@@ -1,107 +0,0 @@
-From e0fe1c58acfa0bde36afde8354cb31fc1e0b75e2 Mon Sep 17 00:00:00 2001
-From: Luke Drummond <luke.drummond at codeplay.com>
-Date: Wed, 10 Mar 2021 18:14:42 +0000
-Subject: [PATCH] [OpenCL] Respect calling convention for builtin
-
-`__translate_sampler_initializer` has a calling convention of
-`spir_func`, but clang generated calls to it using the default CC.
-
-Instruction Combining was lowering these mismatching calling conventions
-to `store i1* undef` which itself was subsequently lowered to a trap
-instruction by simplifyCFG resulting in runtime `SIGILL`
-
-There are arguably two bugs here: but whether there's any wisdom in
-converting an obviously invalid call into a runtime crash over aborting
-with a sensible error message will require further discussion. So for
-now it's enough to set the right calling convention on the runtime
-helper.
-
-Reviewed By: svenh, bader
-
-Differential Revision: https://reviews.llvm.org/D98411
-
-(cherry picked from commit fcfd3fda71905d7c48f75a531c2265ad3b9876ea)
----
- clang/lib/CodeGen/CodeGenModule.cpp | 12 +++++++-----
- clang/test/CodeGenOpenCL/sampler.cl | 12 ++++++------
- 2 files changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
-index 31afbc6b4262..9c9bd4e374af 100644
---- a/clang/lib/CodeGen/CodeGenModule.cpp
-+++ b/clang/lib/CodeGen/CodeGenModule.cpp
-@@ -6215,15 +6215,17 @@ llvm::SanitizerStatReport &CodeGenModule::getSanStats() {
- 
-   return *SanStats;
- }
-+
- llvm::Value *
- CodeGenModule::createOpenCLIntToSamplerConversion(const Expr *E,
-                                                   CodeGenFunction &CGF) {
-   llvm::Constant *C = ConstantEmitter(CGF).emitAbstract(E, E->getType());
--  auto SamplerT = getOpenCLRuntime().getSamplerType(E->getType().getTypePtr());
--  auto FTy = llvm::FunctionType::get(SamplerT, {C->getType()}, false);
--  return CGF.Builder.CreateCall(CreateRuntimeFunction(FTy,
--                                "__translate_sampler_initializer"),
--                                {C});
-+  auto *SamplerT = getOpenCLRuntime().getSamplerType(E->getType().getTypePtr());
-+  auto *FTy = llvm::FunctionType::get(SamplerT, {C->getType()}, false);
-+  auto *Call = CGF.Builder.CreateCall(
-+      CreateRuntimeFunction(FTy, "__translate_sampler_initializer"), {C});
-+  Call->setCallingConv(Call->getCalledFunction()->getCallingConv());
-+  return Call;
- }
- 
- CharUnits CodeGenModule::getNaturalPointeeTypeAlignment(
-diff --git a/clang/test/CodeGenOpenCL/sampler.cl b/clang/test/CodeGenOpenCL/sampler.cl
-index e6bda49f51c8..5ad8d0dbbf37 100644
---- a/clang/test/CodeGenOpenCL/sampler.cl
-+++ b/clang/test/CodeGenOpenCL/sampler.cl
-@@ -39,7 +39,7 @@ kernel void foo(sampler_t smp_par) {
-   // Case 2b
-   sampler_t smp = CLK_ADDRESS_CLAMP_TO_EDGE | CLK_NORMALIZED_COORDS_TRUE | CLK_FILTER_NEAREST;
-   // CHECK: [[smp_ptr:%[A-Za-z0-9_\.]+]] = alloca %opencl.sampler_t addrspace(2)*
--  // CHECK: [[SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 19)
-+  // CHECK: [[SAMP:%[0-9]+]] = call spir_func %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 19)
-   // CHECK: store %opencl.sampler_t addrspace(2)* [[SAMP]], %opencl.sampler_t addrspace(2)** [[smp_ptr]]
- 
-   // Case 1b
-@@ -56,12 +56,12 @@ kernel void foo(sampler_t smp_par) {
- 
-   // Case 1a/2a
-   fnc4smp(glb_smp);
--  // CHECK: [[SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-+  // CHECK: [[SAMP:%[0-9]+]] = call spir_func %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-   // CHECK: call spir_func void [[FUNCNAME]](%opencl.sampler_t addrspace(2)* [[SAMP]])
- 
-   // Case 1a/2c
-   fnc4smp(glb_smp_const);
--  // CHECK: [[SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-+  // CHECK: [[SAMP:%[0-9]+]] = call spir_func %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-   // CHECK: call spir_func void [[FUNCNAME]](%opencl.sampler_t addrspace(2)* [[SAMP]])
- 
-   // Case 1c
-@@ -70,12 +70,12 @@ kernel void foo(sampler_t smp_par) {
-   // CHECK: call spir_func void [[FUNCNAME]](%opencl.sampler_t addrspace(2)* [[SAMP]])
- 
-   fnc4smp(5);
--  // CHECK: [[SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 5)
-+  // CHECK: [[SAMP:%[0-9]+]] = call spir_func %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 5)
-   // CHECK: call spir_func void [[FUNCNAME]](%opencl.sampler_t addrspace(2)* [[SAMP]])
- 
-   const sampler_t const_smp = CLK_ADDRESS_CLAMP_TO_EDGE | CLK_NORMALIZED_COORDS_TRUE | CLK_FILTER_LINEAR;
-   fnc4smp(const_smp);
--   // CHECK: [[CONST_SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-+   // CHECK: [[CONST_SAMP:%[0-9]+]] = call spir_func %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-   // CHECK: store %opencl.sampler_t addrspace(2)* [[CONST_SAMP]], %opencl.sampler_t addrspace(2)** [[CONST_SMP_PTR:%[a-zA-Z0-9]+]]
-   fnc4smp(const_smp);
-   // CHECK: [[SAMP:%[0-9]+]] = load %opencl.sampler_t addrspace(2)*, %opencl.sampler_t addrspace(2)** [[CONST_SMP_PTR]]
-@@ -83,7 +83,7 @@ kernel void foo(sampler_t smp_par) {
- 
-   constant sampler_t constant_smp = CLK_ADDRESS_CLAMP_TO_EDGE | CLK_NORMALIZED_COORDS_TRUE | CLK_FILTER_LINEAR;
-   fnc4smp(constant_smp);
--  // CHECK: [[SAMP:%[0-9]+]] = call %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-+  // CHECK: [[SAMP:%[0-9]+]] = call spir_func %opencl.sampler_t addrspace(2)* @__translate_sampler_initializer(i32 35)
-   // CHECK: call spir_func void [[FUNCNAME]](%opencl.sampler_t addrspace(2)* [[SAMP]])
- 
-   // TODO: enable sampler initialization with non-constant integer.

Deleted: partially-revert-scan-view-remove-Reporter.py.patch
===================================================================
--- partially-revert-scan-view-remove-Reporter.py.patch	2021-07-09 06:05:22 UTC (rev 419326)
+++ partially-revert-scan-view-remove-Reporter.py.patch	2021-07-09 06:19:54 UTC (rev 419327)
@@ -1,225 +0,0 @@
-From 3263c81589eca689341ab5084723bdb7fe4a1286 Mon Sep 17 00:00:00 2001
-From: Tom Stellard <tstellar at redhat.com>
-Date: Thu, 11 Feb 2021 22:28:19 +0000
-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.
-
-Reviewed By: NoQ
-
-Differential Revision: https://reviews.llvm.org/D96367
-
-(cherry picked from commit e3cd3a3c91524c957e06bb0170343548f02b6842)
----
- 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
-+




More information about the arch-commits mailing list