OSVR-Core
MacroToolsC.h
Go to the documentation of this file.
1 
13 /*
14 // Copyright 2014 Sensics, Inc.
15 //
16 // Licensed under the Apache License, Version 2.0 (the "License");
17 // you may not use this file except in compliance with the License.
18 // You may obtain a copy of the License at
19 //
20 // http://www.apache.org/licenses/LICENSE-2.0
21 //
22 // Unless required by applicable law or agreed to in writing, software
23 // distributed under the License is distributed on an "AS IS" BASIS,
24 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 // See the License for the specific language governing permissions and
26 // limitations under the License.
27 */
28 
29 #ifndef INCLUDED_MacroToolsC_h_GUID_ACA00740_B0FA_43BE_B2BE_E20DB813DEEF
30 #define INCLUDED_MacroToolsC_h_GUID_ACA00740_B0FA_43BE_B2BE_E20DB813DEEF
31 
32 /* Internal Includes */
33 /* none */
34 
35 /* Library/third-party includes */
36 /* none */
37 
38 /* Standard includes */
39 /* none */
40 
41 /* See http://cnicholson.net/2009/03/stupid-c-tricks-dowhile0-and-c4127/ for
42  info on dodging silly warnings when using macros.
43 */
44 
46 #define OSVR_UTIL_MULTILINE_BEGIN do {
47 
48 #ifdef _MSC_VER
49 
50 /* MS VC will complain about that constant conditional without these very
51  * localized pragmas */
52 #define OSVR_UTIL_MULTILINE_END \
53  __pragma(warning(push)) __pragma(warning(disable : 4127)) \
54  } \
55  while (0) \
56  __pragma(warning(pop))
57 #else
58 
59 #define OSVR_UTIL_MULTILINE_END \
60  } \
61  while (0)
62 #endif
63 
64 #endif