diff options
author | John Abd-El-Malek <jam@chromium.org> | 2014-06-19 08:07:13 -0700 |
---|---|---|
committer | John Abd-El-Malek <jam@chromium.org> | 2014-06-19 08:07:13 -0700 |
commit | 63412bf0ec2f6bab77e60dddfb5fc65d0dd95a74 (patch) | |
tree | 779bf084e84957c2b938eb73419150127c140fa5 /fpdfsdk/include | |
parent | fda75e4fbbf6857d7255c670d1a9026015160390 (diff) | |
download | pdfium-63412bf0ec2f6bab77e60dddfb5fc65d0dd95a74.tar.xz |
Fix JS_WIDESTRING to work with clang-cl
MSVC lexes L#macro_arg as a single wide string literal token, but
Clang and other C/C++ compliant lexers do not. There was already
a workaround to use implicit string concatenation for GCC, but there's
a simpler solution of token pasting the L onto the stringized macro
argument with 'L###macro_arg'. This works with Clang, GCC, and MSVC.
R=jun_fang@foxitsoftware.com, jam@chromium.org
BUG=82385
Original patch by Reid Kleckner <rnk@chromium.org>
Review URL: https://codereview.chromium.org/345643002
Diffstat (limited to 'fpdfsdk/include')
-rw-r--r-- | fpdfsdk/include/javascript/JS_Define.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/fpdfsdk/include/javascript/JS_Define.h b/fpdfsdk/include/javascript/JS_Define.h index cc20333706..ba978e9e2d 100644 --- a/fpdfsdk/include/javascript/JS_Define.h +++ b/fpdfsdk/include/javascript/JS_Define.h @@ -44,11 +44,7 @@ typedef CFX_WideString JS_ErrorString; #define CJS_IntArray CFX_ArrayTemplate<int> /* ====================================== PUBLIC DEFINE SPEC ============================================== */ -#ifndef __GNUC__ -#define JS_WIDESTRING(widestring) L#widestring -#else -#define JS_WIDESTRING(widestring) L""#widestring -#endif +#define JS_WIDESTRING(widestring) L###widestring #define OBJ_PROP_PARAMS IFXJS_Context* cc, CJS_PropValue& vp, JS_ErrorString& sError #define OBJ_METHOD_PARAMS IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vRet, JS_ErrorString& sError |