From 6a92d8567cacb2ce31c3db075f9817ba60d8c5bf Mon Sep 17 00:00:00 2001 From: Jan Vcelak Date: Thu, 25 Dec 2014 21:58:20 +0100 Subject: [PATCH] lldb: fix broken expression parser --- lldb-fix-expression-parser.patch | 39 ++++++++++++++++++++++++++++++++ llvm.spec | 7 +++++- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 lldb-fix-expression-parser.patch diff --git a/lldb-fix-expression-parser.patch b/lldb-fix-expression-parser.patch new file mode 100644 index 0000000..ee02054 --- /dev/null +++ b/lldb-fix-expression-parser.patch @@ -0,0 +1,39 @@ +Fix the LLDB expression parser. + +$ lldb +(lldb) p 1+1 +error: warning: duplicate 'signed' declaration specifier +error: cannot combine with previous 'unsigned' declaration specifier +error: 1 errors parsing expression + +Upstream commit: r214233 - Attempt to fix the expression parser after r214119 + +--- lldb/trunk/source/Expression/ExpressionSourceCode.cpp 2014/07/23 14:37:35 213755 ++++ lldb/trunk/source/Expression/ExpressionSourceCode.cpp 2014/07/29 21:59:33 214233 +@@ -28,16 +28,16 @@ + #define nil (__null) + #define YES ((BOOL)1) + #define NO ((BOOL)0) +-typedef signed __INT8_TYPE__ int8_t; +-typedef unsigned __INT8_TYPE__ uint8_t; +-typedef signed __INT16_TYPE__ int16_t; +-typedef unsigned __INT16_TYPE__ uint16_t; +-typedef signed __INT32_TYPE__ int32_t; +-typedef unsigned __INT32_TYPE__ uint32_t; +-typedef signed __INT64_TYPE__ int64_t; +-typedef unsigned __INT64_TYPE__ uint64_t; +-typedef signed __INTPTR_TYPE__ intptr_t; +-typedef unsigned __INTPTR_TYPE__ uintptr_t; ++typedef __INT8_TYPE__ int8_t; ++typedef __UINT8_TYPE__ uint8_t; ++typedef __INT16_TYPE__ int16_t; ++typedef __UINT16_TYPE__ uint16_t; ++typedef __INT32_TYPE__ int32_t; ++typedef __UINT32_TYPE__ uint32_t; ++typedef __INT64_TYPE__ int64_t; ++typedef __UINT64_TYPE__ uint64_t; ++typedef __INTPTR_TYPE__ intptr_t; ++typedef __UINTPTR_TYPE__ uintptr_t; + typedef __SIZE_TYPE__ size_t; + typedef __PTRDIFF_TYPE__ ptrdiff_t; + typedef unsigned short unichar; diff --git a/llvm.spec b/llvm.spec index e45aba1..23c063b 100644 --- a/llvm.spec +++ b/llvm.spec @@ -35,7 +35,7 @@ Name: llvm Version: 3.5.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Low Level Virtual Machine Group: Development/Languages @@ -74,6 +74,7 @@ Patch2: 0001-data-install-preserve-timestamps.patch Patch100: clang-fake-gcc43.patch Patch200: lldb-python.patch +Patch201: lldb-fix-expression-parser.patch BuildRequires: bison BuildRequires: chrpath @@ -333,6 +334,7 @@ popd pushd tools/lldb # careful when recreating this patch... %patch200 -p1 -b .python +%patch201 -p2 sed -i s/@lib@/%{_lib}/g scripts/Python/modules/readline/Makefile popd %endif @@ -692,6 +694,9 @@ exit 0 %endif %changelog +* Thu Dec 25 2014 Jan Vcelak 3.5.0-6 +- lldb: fix broken expression parser + * Thu Dec 18 2014 Dan HorĂ¡k - 3.5.0-5 - use the common workaround for OOM during linking on s390