4coder/non-source/test_data/sample_files/parser_test2.cpp

30 lines
710 B
C++
Raw Permalink Normal View History

2018-03-16 18:19:11 +00:00
/*
* THIS TESTS:
* - good #define
* - invoking good #define
* - using macro in arguments to itself
* - invoking macro with parens from a different expansion level
* - macro definitions with comments
*/
#define EMPTY
#define EMPTY_WITH_PAREN()
#define GOOD_NO_PAREN /*DON'T DUPLICATE ME*/ FoodBard
#define GOOD_WITH_PAREN() /*DON'T DUPLICATE ME*/ SuperDuper EMPTY
#define GOOD_WITH_ARG(a/*DON'T FRET ME*/) /*DON'T DUPLICATE ME*/ (a + 1) EMPTY_WITH_PAREN()
#define MASK GOOD_WITH_ARG(10)
#define UNUSUAL() 5 * GOOD_WITH_PAREN
GOOD_NO_PAREN;
EMPTY_WITH_PAREN;
GOOD_WITH_PAREN;
GOOD_WITH_PAREN();
GOOD_WITH_ARG(2);
GOOD_WITH_ARG(3*MASK);
UNUSUAL()();
GOOD_WITH_PAREN