| ... | ... | @@ -315,6 +315,28 @@ pub fn addCases(cases: &tests.ParseCContext) { |
| 315 | 315 | \\pub const LUA_GLOBALSINDEX = -10002; |
| 316 | 316 | ); |
| 317 | 317 | |
| 318 | cases.add("post increment", |
| 319 | \\unsigned foo1(unsigned a) { |
| 320 | \\ a++; |
| 321 | \\ return a; |
| 322 | \\} |
| 323 | \\int foo2(int a) { |
| 324 | \\ a++; |
| 325 | \\ return a; |
| 326 | \\} |
| 327 | , |
| 328 | \\export fn foo1(_arg_a: c_uint) -> c_uint { |
| 329 | \\ var a = _arg_a; |
| 330 | \\ a +%= 1; |
| 331 | \\ return a; |
| 332 | \\} |
| 333 | \\export fn foo2(_arg_a: c_int) -> c_int { |
| 334 | \\ var a = _arg_a; |
| 335 | \\ a += 1; |
| 336 | \\ return a; |
| 337 | \\} |
| 338 | ); |
| 339 | |
| 318 | 340 | cases.add("shift right assign", |
| 319 | 341 | \\int log2(unsigned a) { |
| 320 | 342 | \\ int i = 0; |
| ... | ... | @@ -334,6 +356,23 @@ pub fn addCases(cases: &tests.ParseCContext) { |
| 334 | 356 | \\} |
| 335 | 357 | ); |
| 336 | 358 | |
| 359 | cases.add("if statement", |
| 360 | \\int max(int a, int b) { |
| 361 | \\ if (a < b) |
| 362 | \\ return b; |
| 363 | \\ |
| 364 | \\ if (a < b) |
| 365 | \\ return b; |
| 366 | \\ else |
| 367 | \\ return a; |
| 368 | \\} |
| 369 | , |
| 370 | \\export fn max(a: c_int, b: c_int) -> c_int { |
| 371 | \\ if (a < b) return b; |
| 372 | \\ if (a < b) return b else return a; |
| 373 | \\} |
| 374 | ); |
| 375 | |
| 337 | 376 | cases.add("shift right assign with a fixed size type", |
| 338 | 377 | \\#include <stdint.h> |
| 339 | 378 | \\int log2(uint32_t a) { |