blob: c9f5f1ce0624ac0520cbb4ee2006a919991dac2d [file]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#pragma once
#pragma warning(disable: 4127) // constant expression for Trace/Assert
#include <map>
#define IfFailedReturn(EXPR) do { hr = (EXPR); if (FAILED(hr)) { return hr; }} while(FALSE)
#define IfFailedGoLabel(expr, label) do { hr = (expr); if (FAILED(hr)) { goto label; } } while (FALSE)
#define IfFailGo(expr) IfFailedGoLabel(hr = (expr), Error)
#define IfFalseGo(expr) do { if(!(expr)) { hr = E_FAIL; goto Error; } } while(0)
#ifdef Assert
#undef Assert
#endif
#ifdef AssertMsg
#undef AssertMsg
#endif
#if defined(DBG)
#define AssertMsg(exp, comment) \
do { \
if (!(exp)) \
{ \
fprintf(stderr, "ASSERTION (%s, line %d) %s %s\n", __FILE__, __LINE__, _STRINGIZE(exp), comment); \
fflush(stderr); \
DebugBreak(); \
} \
} while (0)
#else
#define AssertMsg(exp, comment) ((void)0)
#endif //defined(DBG)
#define Assert(exp) AssertMsg(exp, #exp)
#define _JSRT_
#include "chakracore.h"
#include "Core/CommonTypedefs.h"
#include <FileLoadHelpers.h>