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;