head	1.1;
access;
symbols;
locks; strict;
comment	@# @;


1.1
date	2013.01.10.23.03.35;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/310207
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r310207 | flo | 2013-01-10 22:29:23 +0000 (Thu, 10 Jan 2013) | 9 lines
## SVN ##
## SVN ## - update www/firefox to 18.0
## SVN ## - update www/firefox-esr to 17.0.2
## SVN ## - update www/seamonkey to 2.15 (enigmail to 1.5.0)
## SVN ## - remove QT4 option to avoid confusion (it turned out to be too experimental)
## SVN ##
## SVN ## In collaboration with: Jan Beich <jbeich@@tormail.org>
## SVN ##
## SVN ## Security:	http://www.vuxml.org/freebsd/a4ed6632-5aa9-11e2-8fcb-c8600054b392.html
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
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)                                \
@
