2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @author Przemyslaw Dobrowolski (p.dobrowolsk@samsung.com)
20 * @brief This file is the implementation file of assert
26 // Assertion handler procedure
27 // Do not call directly
28 // Always use Assert macro
29 void AssertProc(const char *condition,
32 const char *function) __attribute__ ((__noreturn__));
33 } // namespace VcoreDPL
35 #define Assert(Condition) \
38 VcoreDPL::AssertProc(#Condition, __FILE__, __LINE__, __FUNCTION__); \
42 #define AssertMsg(Condition, Msg) \
45 VcoreDPL::AssertProc( \
46 (std::string(std::string(#Condition)+" ") + Msg).c_str(), \
47 __FILE__, __LINE__, __FUNCTION__); \
51 #endif // DPL_ASSERT_H