ports/www/libxul/files/patch-bug784631
Florian Smeets 96b39667d3 Update to 17.0.6 (this should also fix the build on head after the
clang 3.3 merge)

PR:             ports/179034 [1]
Submitted by:   Jan Beich <jbeich@tormail.org>,
                Nikolai Lifanov <lifanov@mail.lifanov.com> [1]
2013-06-04 15:47:49 +00:00

52 lines
2.2 KiB
Text

commit 66b3921
Author: Terrence Cole <terrence@mozilla.com>
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<uint32_t> blockDepth;
if (!entryFrame)
entryFrame = regs.fp();
@@ -3650,7 +3651,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK)
BEGIN_CASE(JSOP_LEAVEFORLETIN)
BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
{
- DebugOnly<uint32_t> 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) \