Warning, /frameworks/syntax-highlighting/autotests/folding/highlight.cpp.fold is written in an unsupported language. File is not indexed.
0001 #pragma once 0002 0003 #include <cassert> 0004 #include <assert.h> 0005 #include "assert.h" 0006 #include "assert.hpp" // abc 0007 #include "path/assert.hpp" 0008 #include "assert.h"a 0009 #include "assert.h" a 0010 #include <cassert>a 0011 #include <cassert> a 0012 #include FOO() error 0013 #include_next <cassert> a 0014 #include_next <cassert> <beginfold id='1'>/*</beginfold id='1'> a 0015 <endfold id='1'>*/</endfold id='1'> b 0016 #include PATH_IN_MACRO 0017 #include PATH_IN_MACRO() 0018 #include PATH_IN_MACRO(a, b) 0019 0020 #define SOME_VAR 1 0021 #<beginfold id='2'></beginfold id='2'>ifdef SOME_VAR 0022 0023 #define MULTILINE_MACRO one \ 0024 two \ 0025 three 0026 0027 # define MULTILINE_MACRO_TEXT \ 0028 <beginfold id='1'>/*</beginfold id='1'> NOTE The contents of macro is too green :D <endfold id='1'>*/</endfold id='1'> \ 0029 char const s[] = "a\\b" \ 0030 "c\nd" 0031 0032 # define VARIADIC(a, ...) \ 0033 f(a##a) \ 0034 f(__VA_ARGS__) \ 0035 f(#__VA_ARGS__) \ 0036 f(__VA_ARGS__) \ 0037 f(0 __VA_OPT__(,) __VA_ARGS__) \ 0038 x __VA_OPT__(= { __VA_ARGS__ }) 0039 0040 # define MACRO() BAD \ ESCAPED 0041 0042 # error dds 0043 # warning dds 0044 # line 2 "file.cpp" 0045 # define A(x, y) x##y x#y 0046 // OK(L, a) -> L"a" 0047 # define OK(x, y) x###y 0048 # define BAD(x, y) x####y 0049 # define A <beginfold id='1'>/*</beginfold id='1'> multi line 0050 with comment <endfold id='1'>*/</endfold id='1'> expr 0051 # define A <beginfold id='1'>/*</beginfold id='1'> multi line 0052 with comment <endfold id='1'>*/</endfold id='1'> 0053 23 0054 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> // x 0055 #42 // gcc extension = #line 42 0056 0057 // error 0058 #wrong 0059 # wrong 0060 #<endfold id='2'>endif</endfold id='2'> x 0061 #<beginfold id='2'></beginfold id='2'>if DS() 0062 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> x 0063 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> <beginfold id='1'>/*</beginfold id='1'> <endfold id='1'>*/</endfold id='1'>x 0064 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> <beginfold id='1'>/*</beginfold id='1'> x 0065 y <endfold id='1'>*/</endfold id='1'> z 0066 #<endfold id='2'>endif</endfold id='2'> 0067 0068 // check that _XXX defines work, bug 397766 0069 #<beginfold id='2'></beginfold id='2'>ifndef _HEADER_GUARD 0070 #define _HEADER_GUARD 1 0071 #<endfold id='2'>endif</endfold id='2'> 0072 #<beginfold id='2'></beginfold id='2'>ifdef _HEADER_GUARD 0073 #<beginfold id='2'></beginfold id='2'>if (_HEADER_GUARD >= 1) 0074 #<endfold id='2'>endif</endfold id='2'> 0075 #<endfold id='2'>endif</endfold id='2'> 0076 0077 static int g_global; 0078 0079 template<class T, typename U, template<class> class = std::is_pointer> 0080 struct class1 0081 : private std::vector<T>, public U 0082 <beginfold id='3'>{</beginfold id='3'> 0083 class1() 0084 try 0085 : _member1(xxx) 0086 <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'> 0087 catch(...) 0088 <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'> 0089 0090 class1(class1&&) = default; 0091 0092 ~class1() 0093 <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'> 0094 0095 void foo() <beginfold id='3'>{</beginfold id='3'> return; <endfold id='3'>}</endfold id='3'> 0096 void foo() const <beginfold id='3'>{</beginfold id='3'> return; <endfold id='3'>}</endfold id='3'> 0097 void foo() noexcept <beginfold id='3'>{</beginfold id='3'> return; <endfold id='3'>}</endfold id='3'> 0098 void foo() const noexcept <beginfold id='3'>{</beginfold id='3'> return; <endfold id='3'>}</endfold id='3'> 0099 virtual void foo() const noexcept <beginfold id='3'>{</beginfold id='3'> return; <endfold id='3'>}</endfold id='3'> 0100 static void foo() <beginfold id='3'>{</beginfold id='3'> return; <endfold id='3'>}</endfold id='3'> 0101 constexpr static void foo() const 0102 noexcept(noexcept(std::is_pointer<U>::value)) override 0103 <beginfold id='3'>{</beginfold id='3'> 0104 xxx::template ttt<U>::type <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'>; 0105 xxx.template get<U>(); 0106 xxx.std::rdbuf(); 0107 auto x = C<'a'> + y; 0108 <endfold id='3'>}</endfold id='3'> 0109 0110 int operator->*(T (C::*m)(int)); 0111 operator value_t (); 0112 0113 private: 0114 protected: 0115 public: 0116 value_type _member1; // NOTE internal ? 0117 value_type __internal; 0118 value_type internal__; 0119 value_type _M_internal; 0120 value_t member2_; 0121 value_type m_member3; 0122 0123 static int s_static; 0124 static constexpr int s_static; 0125 static inline int s_static; 0126 static inline constexpr int s_static; 0127 <endfold id='3'>}</endfold id='3'>; 0128 0129 constexpr struct : xyz 0130 <beginfold id='3'>{</beginfold id='3'> 0131 using xyz::xyz; 0132 using xyz::operator=; 0133 0134 int a : 1; 0135 int b : 7; 0136 <endfold id='3'>}</endfold id='3'> x <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'>; 0137 0138 template<class T> 0139 using is_pointer = std::is_pointer<T>::type; 0140 0141 template<class T> 0142 constexpr auto is_pointer_v = std::is_pointer<T>::value; 0143 0144 uint64_t namespaces() 0145 <beginfold id='3'>{</beginfold id='3'> 0146 std::vector<T>; 0147 boost::vector<T>; 0148 detail::vector<T>; 0149 details::vector<T>; 0150 aux::vector<T>; 0151 internals::vector<T>; 0152 other::vector<T>; 0153 <endfold id='3'>}</endfold id='3'> 0154 0155 task<> tcp_echo_server() <beginfold id='3'>{</beginfold id='3'> 0156 char data[1024]; 0157 for (;;) <beginfold id='3'>{</beginfold id='3'> 0158 size_t n = co_await socket.async_read_some(buffer(data)); 0159 co_await async_write(socket, buffer(data, n)); 0160 <endfold id='3'>}</endfold id='3'> 0161 <endfold id='3'>}</endfold id='3'> 0162 0163 #<beginfold id='2'></beginfold id='2'>if 1 0164 double foo(const A); 0165 <endfold id='2'></endfold id='2'><beginfold id='2'>#else</beginfold id='2'> // else 0166 double foo(const A); 0167 <endfold id='2'>#endif</endfold id='2'> // end 0168 0169 #<beginfold id='2'></beginfold id='2'>if 0 0170 double foo(const A); 0171 <endfold id='2'></endfold id='2'><beginfold id='2'>#else</beginfold id='2'> // else 0172 double foo(const A); 0173 <endfold id='2'>#endif</endfold id='2'> // end 0174 0175 #<beginfold id='2'></beginfold id='2'>if 1 0176 double foo(const A); 0177 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif</beginfold id='2'> 1 0178 double foo(const A); 0179 #elif 0 0180 double foo(const A); 0181 <endfold id='2'>#endif</endfold id='2'> // end 0182 0183 #<beginfold id='2'></beginfold id='2'>if 0 0184 double foo(const A); 0185 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif 1</beginfold id='2'> 0186 double foo(const A); 0187 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif</beginfold id='2'> 0 0188 double foo(const A); 0189 <endfold id='2'>#endif</endfold id='2'> // end 0190 0191 #<beginfold id='2'></beginfold id='2'>if 0 0192 double foo(const A); 0193 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif</beginfold id='2'> a 0194 double foo(const A); 0195 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif 0 0196 double foo(const A); 0197 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif</beginfold id='2'> a 0198 double foo(const A); 0199 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> // else 0200 double foo(const A); 0201 #<endfold id='2'>endif</endfold id='2'> // end 0202 0203 #<beginfold id='2'></beginfold id='2'>if 0 // blah blah 0204 double foo(const A); 0205 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif 1 </beginfold id='2'>// blah blah 0206 double foo(const A); 0207 <endfold id='2'></endfold id='2'><beginfold id='2'>#else</beginfold id='2'> // else 0208 double foo(const A); 0209 <endfold id='2'>#endif</endfold id='2'> // end 0210 0211 #<beginfold id='2'></beginfold id='2'>if 0 || a 0212 double foo(const A); 0213 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> // else 0214 double foo(const A); 0215 #<endfold id='2'>endif</endfold id='2'> // end 0216 0217 #<beginfold id='2'></beginfold id='2'>if 1 || a 0218 double foo(const A); 0219 <endfold id='2'></endfold id='2'><beginfold id='2'>#else</beginfold id='2'> // else 0220 double foo(const A); 0221 <endfold id='2'>#endif</endfold id='2'> // end 0222 0223 #<beginfold id='2'></beginfold id='2'>if 0 && a 0224 double foo(const A); 0225 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> // else 0226 double foo(const A); 0227 #<endfold id='2'>endif</endfold id='2'> // end 0228 0229 #<beginfold id='2'></beginfold id='2'>if 1 && a 0230 double foo(const A); 0231 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> // else 0232 double foo(const A); 0233 #<endfold id='2'>endif</endfold id='2'> // end 0234 0235 #<beginfold id='2'></beginfold id='2'>if a 0236 double foo(const A); 0237 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif 0 0238 double foo(const A); 0239 <endfold id='2'>#endif</endfold id='2'> // end 0240 0241 #<beginfold id='2'></beginfold id='2'>if a 0242 double foo(const A); 0243 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif 1 0244 double foo(const A); 0245 <endfold id='2'>#endif</endfold id='2'> // end 0246 0247 #<beginfold id='2'></beginfold id='2'>if a 0248 double foo(const A); 0249 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif a 0250 double foo(const A); 0251 #<endfold id='2'>endif</endfold id='2'> // end 0252 0253 int bar(void*p, void * pp) 0254 <beginfold id='3'>{</beginfold id='3'> 0255 # <beginfold id='2'></beginfold id='2'>if 0 0256 double foo(); 0257 <endfold id='2'></endfold id='2'><beginfold id='2'># else</beginfold id='2'> // else 0258 double foo(); 0259 <endfold id='2'># endif</endfold id='2'> // end 0260 <endfold id='3'>}</endfold id='3'> 0261 0262 #<beginfold id='2'></beginfold id='2'>if abc 0 0263 double foo(); 0264 #<endfold id='2'>endif</endfold id='2'> // end 0265 0266 #<beginfold id='2'></beginfold id='2'>if xxx 0267 double foo(); 0268 #<endfold id='2'></endfold id='2'><beginfold id='2'>else</beginfold id='2'> 0269 double foo(); 0270 #<endfold id='2'>endif</endfold id='2'> // end 0271 0272 #<beginfold id='2'></beginfold id='2'>if xxx 0273 double foo(); 0274 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif xxx // elseif 0275 double foo(); 0276 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif xxx // elseif 0277 double foo(); 0278 #<endfold id='2'>endif</endfold id='2'> // end 0279 0280 // error 0281 # 0282 #d 0283 # d 0284 #<beginfold id='2'></beginfold id='2'>if 0285 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif 0286 #<endfold id='2'>endif</endfold id='2'> 0287 #<beginfold id='2'></beginfold id='2'>ifndef 0288 #<endfold id='2'>endif</endfold id='2'> 0289 #<beginfold id='2'></beginfold id='2'>ifdef 0 0290 #<endfold id='2'>endif</endfold id='2'> // end 0291 0292 static uint64_t intWithSuffix = 42ull; 0293 static long intWithSuffixAndPrefix = 0b0101L; 0294 static int octNum = 07232; 0295 static int invalidOctNum = 09231; 0296 static uint64_t hexNum = 0xDEADBEEF42; 0297 static uint64_t invalidHexNum = 0xGLDFKG; 0298 static char binNum = 0b0101010; 0299 0300 static int64_t intWithSuffix = -42LL; 0301 static long intWithSuffixAndPrefix = -0b0101L; 0302 static int octNum = -07232; 0303 static int invalidOctNum = -09231; 0304 static int64_t hexNum = -0xDEADBEEF42; 0305 static int64_t invalidHexNum = -0xGLDFKG; 0306 static char binNum = -0b0101010; 0307 0308 static uint64_t intWithSuffixWithSep = 4'2ull; 0309 static long intWithSuffixAndPrefixWithSep = 0b0'10'1L; 0310 static int octNumWithSep = 07'232; 0311 static int invalidOctNumWithSep = 09'23'1; 0312 static uint64_t hexNumWithSep = 0xD'EAD'BE'EF'42; 0313 static uint64_t invalidHexNumWithSep = 0xGLD'FKG; 0314 static char binNumWithSep = 0b0'1010'10; 0315 0316 static uint64_t invalidSep = 42'ull; 0317 static uint64_t invalidSep = 42'; 0318 0319 static double d1 = 42.; 0320 static double d2 = .42; 0321 static double d2a = -0.49; 0322 static double d2b = -0.09; 0323 static double d3 = 42.3e1; 0324 static double d4 = .2e-12; 0325 static double d5 = 32.e+12; 0326 static double invalidD1 = 32.e+a12; 0327 static float floatQualifier = 23.123f; 0328 // Hexadecimal floating point (c++17) 0329 static double d6 = 0x1ffp10; 0330 static double d7 = 0X0p-1; 0331 static double d8 = 0x1.p0; 0332 static double d9 = 0xf.p-1L; 0333 static double d10 = 0x0.123p-1; 0334 static double d11 = 0xa.bp10l; 0335 static double invalidD2 = 0x0.123p-a; 0336 static float floatQualifier = 0xf.p-1f; 0337 0338 60min; // c++17 0339 60.min; 0340 60.3min; 0341 0x1ffp10min; 0342 2us 0343 2d; // c++20 0344 23._f 0345 23._fd 0346 2.3_f 0347 2.3_fd 0348 2._f 0349 2._fd 0350 2e4_f 0351 2e4_fd 0352 0353 // error 0354 23.fd 0355 2e_fd 0356 2e 0357 1.y 0358 1.0_E+2.0 0359 1.0_E +2.0 // ok 0360 1_p+2 0361 1_p +2 // ok 0362 4s.count() 0363 4s. count() 0364 4s .count() // ok 0365 0366 static bool yes = true; 0367 static bool no = false; 0368 0369 // *char* 0370 static const char c1 = 'c'; 0371 static const char c1a = u8'c'; // utf-8 char (c++17) 0372 static const char16_t c1b = u'c'; 0373 static const char32_t c1c = U'c'; 0374 static const wchar_t c1d = L'c'; 0375 static const char c2 = '\n'; 0376 static const char c2a = '\120'; // octal 0377 static const char c2b = '\x1f'; // hex 0378 static const char c2c = '\''; 0379 static const char c2d = '\\'; 0380 static const wchar_t c2e = L'\x1ff'; // hex 0381 static const wchar_t c2e = U'\x1fffffff'; // hex 0382 // error 0383 '\x123'; 0384 '\u1234'; 0385 '\U12345678'; 0386 U'\u12345'; 0387 u'\u123'; 0388 U'\U1234567'; 0389 U'\U123456789'; 0390 U'\x123456789'; 0391 0392 // string 0393 static const char* c3 = "string"; 0394 static const char* c4 = "\"string\n\t\012\x12\""; 0395 static const char* c5 = "multiline \ 0396 string"; 0397 static const char* c6 = "multifragment" "other""string"; 0398 static const char* c6a = u8"string"; 0399 static const char16_t* c6b = u"string"; 0400 static const char32_t* c6c = U"string"; 0401 static const wchar_t* c6d = L"string"; 0402 static const char* rawString1 = R"<beginfold id='4'>(</beginfold id='4'>string<endfold id='4'>)"</endfold id='4'>; 0403 static const char* rawString1a = u8R"<beginfold id='4'>(</beginfold id='4'>string<endfold id='4'>)"</endfold id='4'>; 0404 static const char16_t* rawString1b = uR"<beginfold id='4'>(</beginfold id='4'>string<endfold id='4'>)"</endfold id='4'>; 0405 static const char32_t* rawString1c = UR"<beginfold id='4'>(</beginfold id='4'>string<endfold id='4'>)"</endfold id='4'>; 0406 static const wchar_t* rawString1d = LR"<beginfold id='4'>(</beginfold id='4'>string\nstring<endfold id='4'>)"</endfold id='4'>; 0407 static const char* rawString2 = R"<beginfold id='4'>ab(</beginfold id='4'>string\nstring%s)ab "<endfold id='4'>)ab"</endfold id='4'>; 0408 static const char* rawString3 = R"<beginfold id='4'>ab(</beginfold id='4'>string 0409 string%<endfold id='4'>)ab"</endfold id='4'>; 0410 " %d %df fd" U"ds %d" R"<beginfold id='4'>(</beginfold id='4'>a%d<endfold id='4'>)"</endfold id='4'>; 0411 "\x123xsk"; 0412 u"\x123xsk"; 0413 // error 0414 u8"\x123xsk"; 0415 0416 // printf format 0417 "a%10sa%-10sa%*sa%-10.*sa%-*.*sa" 0418 "a%ca%*ca%%a%ia%da%.6ia%.0ia%+ia%ia%xa%#xa" 0419 "a%.0fa%.32fa%05.2fa%.2fa%5.2fa%Ea%aa" 0420 // std::format 0421 "a{{:6}}a{}a{:6}a{:*<6}a{:6d}a" 0422 "a{0:}a{0:+}a{0:-}a{0: }a" 0423 "a{:+06d}a{:#06x}a{:<06}a" 0424 "a{:{}}a{0:{1}.{2}f}a" 0425 ; 0426 0427 // UDL (c++11) 0428 0429 operator""_a(const char*); 0430 operator ""_a(const char*); 0431 operator "" _a(const char*); 0432 // invalid suffix 0433 operator "" a(const char*); 0434 operator ""a(const char*); 0435 operator""a(const char*); 0436 0437 "string"_s; // user 0438 "string"s; // standard 0439 "string"_s-b; // -b is not part of the string 0440 0441 // Macro 0442 0443 MY_XXX; 0444 BOOST_XXX; 0445 __STDC_VERSION__; 0446 __TIME__; 0447 __cplusplus; 0448 0449 // Attributes 0450 0451 [[noreturn]] void foo(); 0452 [[deprecated]] void foo(); 0453 [[deprecated("because")]] void foo(); 0454 void foo([[carries_dependency]] int); 0455 0456 [[opt(1), debug]] 0457 [[using CC: opt(1), debug]] // c++17 0458 [[using CC: CC::opt(1)]] // c++17 0459 0460 [[gnu::assume_aligned(3'2l,2)]] void* f(); 0461 [[using gnu: assume_aligned(3)]] 0462 [[clang::assume_aligned(3)]] 0463 0464 void f([[maybe_unused]] int val) 0465 <beginfold id='3'>{</beginfold id='3'> 0466 [[maybe_unused]] int x; 0467 switch (x = foo(); x) <beginfold id='3'>{</beginfold id='3'> 0468 case 1: 0469 [[fallthrough]]; 0470 case XXX: 0471 case Class::foo(): 0472 [[fallthrough]]; 0473 default: 0474 ; 0475 <endfold id='3'>}</endfold id='3'> 0476 0477 // c++17: fold expression 0478 (args + ... + (1 * 2)); 0479 (v.push_back(args), ...); 0480 0481 [[omp::parallel]] for (auto&& x : v) 0482 x; 0483 for (auto&& [first,second] : mymap) <beginfold id='3'>{</beginfold id='3'> 0484 <endfold id='3'>}</endfold id='3'> 0485 0486 auto [x, y] = foo(); 0487 0488 [x = 1, =y]()<beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'>; 0489 0490 decltype((auto)) x = foo(); 0491 <endfold id='3'>}</endfold id='3'> 0492 0493 auto f() -> decltype(foo()); 0494 0495 __attribute__((pure)) void f(); 0496 0497 label: 0498 goto label; 0499 0500 0501 <beginfold id='5'>//BEGIN</beginfold id='5'> region 0502 // TODO comment FIXME comment ### comment BUG comment 0503 <endfold id='5'>//END</endfold id='5'> region 0504 0505 // \brief blah blah 0506 /// \brief blah blah 0507 0508 <beginfold id='6'>/**</beginfold id='6'> 0509 * Doxygen 0510 * @param p1 text 0511 * \brief <b>bold text</b> 0512 * <beginfold id='7'>\dot</beginfold id='7'> 0513 * a -> b 0514 * <endfold id='7'>\enddot</endfold id='7'> 0515 * 0516 * <beginfold id='7'>\verbatim</beginfold id='7'> 0517 * <dummy> 0518 * <endfold id='7'>\endverbatim</endfold id='7'> 0519 * <html>text</html> 0520 <endfold id='6'>*/</endfold id='6'> 0521 0522 #<endfold id='2'>endif</endfold id='2'> 0523 0524 // Some GNU macros, cross-referenced from gcc.xml to isocpp.xml 0525 __GCC_ATOMIC_CHAR16_T_LOCK_FREE 0526 __GNUC__ 0527 __linux__ 0528 0529 // Digraphs (see bug #411508) 0530 %:include <stdio.h> 0531 int main() 0532 <beginfold id='3'><%</beginfold id='3'> 0533 []()<beginfold id='3'>{</beginfold id='3'><endfold id='3'>%></endfold id='3'>(); 0534 <endfold id='3'>}</endfold id='3'> 0535 <:<:fallthrough]] 0536 0537 <beginfold id='6'>/**</beginfold id='6'> 0538 * multi-line comment 0539 <endfold id='6'>*/</endfold id='6'> 0540 0541 <beginfold id='1'>/*</beginfold id='1'> comment <endfold id='1'>*/</endfold id='1'> 0542 <beginfold id='3'>{</beginfold id='3'> <beginfold id='3'>{</beginfold id='3'> <endfold id='3'>}</endfold id='3'> <beginfold id='3'>{</beginfold id='3'> 0543 <beginfold id='5'>//BEGIN</beginfold id='5'> 0544 <endfold id='3'>}</endfold id='3'> 0545 <endfold id='5'>//END</endfold id='5'> 0546 <endfold id='3'>}</endfold id='3'> 0547 0548 #<beginfold id='2'></beginfold id='2'>if 0 0549 <endfold id='2'></endfold id='2'><beginfold id='2'>#elif 1</beginfold id='2'> 0550 <endfold id='2'></endfold id='2'><beginfold id='2'>#else</beginfold id='2'> 0551 <endfold id='2'>#endif</endfold id='2'> 0552 0553 #<beginfold id='2'></beginfold id='2'>if 1 0554 int x; // variable shall not be grey 0555 <endfold id='2'>#endif</endfold id='2'> 0556 #<beginfold id='2'></beginfold id='2'>if defined (A) 0557 int y; // variable shall not be grey 0558 #<endfold id='2'></endfold id='2'><beginfold id='2'></beginfold id='2'>elif defined (B) 0559 int z; // variable shall not be grey 0560 #<endfold id='2'>endif</endfold id='2'> 0561 0562 <beginfold id='6'>/*!</beginfold id='6'> 0563 * formula <beginfold id='7'>@f$</beginfold id='7'>a+b<endfold id='7'>@f$</endfold id='7'> inside a block comment 0564 <endfold id='6'>*/</endfold id='6'> 0565 0566 //! formula <beginfold id='7'>@f$</beginfold id='7'>a+b<endfold id='7'>@f$</endfold id='7'> inside a inline comment 0567 // formula @f$a+b@f$ inside a normal comment 0568 0569 /// \b sa