kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/cxx/extractor/testdata/recursish_macro.cc (about) 1 // Checks that the extractor handles cycles in macro definitions (by not 2 // overflowing) and documents some preprocessor expansion corner cases. 3 //- @foo defines/binding IntAlias 4 using foo = int; 5 //- @bar defines/binding FloatAlias 6 using bar = float; 7 //- @foo defines/binding MacroFoo 8 #define foo bar 9 //- @bar defines/binding MacroBar 10 #define bar foo 11 //- @foo ref/expands MacroFoo 12 //- @af defines/binding AliasFoo 13 //- AliasFoo aliases IntAlias 14 using af = foo; 15 //- @bar ref/expands MacroBar 16 //- @ab defines/binding AliasBar 17 //- AliasBar aliases FloatAlias 18 using ab = bar;