| ... | @@ -315,6 +315,28 @@ pub fn addCases(cases: &tests.ParseCContext) { | ... | @@ -315,6 +315,28 @@ pub fn addCases(cases: &tests.ParseCContext) { |
| 315 | \\pub const LUA_GLOBALSINDEX = -10002; | 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 | cases.add("shift right assign", | 340 | cases.add("shift right assign", |
| 319 | \\int log2(unsigned a) { | 341 | \\int log2(unsigned a) { |
| 320 | \\ int i = 0; | 342 | \\ int i = 0; |
| ... | @@ -334,6 +356,23 @@ pub fn addCases(cases: &tests.ParseCContext) { | ... | @@ -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 | cases.add("shift right assign with a fixed size type", | 376 | cases.add("shift right assign with a fixed size type", |
| 338 | \\#include <stdint.h> | 377 | \\#include <stdint.h> |
| 339 | \\int log2(uint32_t a) { | 378 | \\int log2(uint32_t a) { |