diff --git a/mail/thunderbird/files/patch-bug784631 b/mail/thunderbird/files/patch-bug784631 new file mode 100644 index 000000000000..6378663b9b70 --- /dev/null +++ b/mail/thunderbird/files/patch-bug784631 @@ -0,0 +1,52 @@ +commit 66b3921 +Author: Terrence Cole +Date: Tue Sep 11 12:31:04 2012 -0700 + + Bug 784631 - Fix some clang build errors in SpiderMonkey; r=Waldo f=espindola + + Computed gotos are not in the C++ standard: clang and gcc differ on semantics. +--- + js/src/jsinterp.cpp | 3 ++- + js/src/jsutil.h | 8 ++++---- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git js/src/jsinterp.cpp js/src/jsinterp.cpp +index 0094c72..27a64a7 100644 +--- mozilla/js/src/jsinterp.cpp ++++ mozilla/js/src/jsinterp.cpp +@@ -1231,6 +1231,7 @@ js::Interpret(JSContext *cx, StackFrame *entryFrame, InterpMode interpMode) + RootedPropertyName rootName0(cx); + RootedId rootId0(cx); + RootedShape rootShape0(cx); ++ DebugOnly blockDepth; + + if (!entryFrame) + entryFrame = regs.fp(); +@@ -3650,7 +3651,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK) + BEGIN_CASE(JSOP_LEAVEFORLETIN) + BEGIN_CASE(JSOP_LEAVEBLOCKEXPR) + { +- DebugOnly blockDepth = regs.fp()->blockChain().stackDepth(); ++ blockDepth = regs.fp()->blockChain().stackDepth(); + + regs.fp()->popBlock(cx); + +diff --git js/src/jsutil.h js/src/jsutil.h +index 8838b6f..016a877 100644 +--- mozilla/js/src/jsutil.h ++++ mozilla/js/src/jsutil.h +@@ -432,10 +432,10 @@ typedef size_t jsbitmap; + #if defined(__clang__) + # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \ + JS_BEGIN_MACRO \ +- _Pragma("clang diagnostic push") \ +- _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ +- expr; \ +- _Pragma("clang diagnostic pop") \ ++ _Pragma("(clang diagnostic push)") \ ++ _Pragma("(clang diagnostic ignored \"-Wunused-value\")") \ ++ {expr;} \ ++ _Pragma("(clang diagnostic pop)") \ + JS_END_MACRO + #elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) + # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \ diff --git a/www/firefox/files/patch-bug784631 b/www/firefox/files/patch-bug784631 new file mode 100644 index 000000000000..2c8a1560b877 --- /dev/null +++ b/www/firefox/files/patch-bug784631 @@ -0,0 +1,52 @@ +commit 66b3921 +Author: Terrence Cole +Date: Tue Sep 11 12:31:04 2012 -0700 + + Bug 784631 - Fix some clang build errors in SpiderMonkey; r=Waldo f=espindola + + Computed gotos are not in the C++ standard: clang and gcc differ on semantics. +--- + js/src/jsinterp.cpp | 3 ++- + js/src/jsutil.h | 8 ++++---- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git js/src/jsinterp.cpp js/src/jsinterp.cpp +index 0094c72..27a64a7 100644 +--- js/src/jsinterp.cpp ++++ js/src/jsinterp.cpp +@@ -1231,6 +1231,7 @@ js::Interpret(JSContext *cx, StackFrame *entryFrame, InterpMode interpMode) + RootedPropertyName rootName0(cx); + RootedId rootId0(cx); + RootedShape rootShape0(cx); ++ DebugOnly blockDepth; + + if (!entryFrame) + entryFrame = regs.fp(); +@@ -3650,7 +3651,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK) + BEGIN_CASE(JSOP_LEAVEFORLETIN) + BEGIN_CASE(JSOP_LEAVEBLOCKEXPR) + { +- DebugOnly blockDepth = regs.fp()->blockChain().stackDepth(); ++ blockDepth = regs.fp()->blockChain().stackDepth(); + + regs.fp()->popBlock(cx); + +diff --git js/src/jsutil.h js/src/jsutil.h +index 8838b6f..016a877 100644 +--- js/src/jsutil.h ++++ js/src/jsutil.h +@@ -432,10 +432,10 @@ typedef size_t jsbitmap; + #if defined(__clang__) + # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \ + JS_BEGIN_MACRO \ +- _Pragma("clang diagnostic push") \ +- _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ +- expr; \ +- _Pragma("clang diagnostic pop") \ ++ _Pragma("(clang diagnostic push)") \ ++ _Pragma("(clang diagnostic ignored \"-Wunused-value\")") \ ++ {expr;} \ ++ _Pragma("(clang diagnostic pop)") \ + JS_END_MACRO + #elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) + # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \