)]}'
{
  "commit": "e38354fc49399b27b6582e2d841ad9f84c01e4e9",
  "tree": "99e433e3b181e8500d4d395f19e069600c9ce20f",
  "parents": [
    "4e8e7d605075db68a0ae736e2d0356687ddeeea3"
  ],
  "author": {
    "name": "Jim Blandy",
    "email": "jimb@codesourcery.com",
    "time": "Fri May 10 16:43:34 2002 +0000"
  },
  "committer": {
    "name": "Jim Blandy",
    "email": "jimb@codesourcery.com",
    "time": "Fri May 10 16:43:34 2002 +0000"
  },
  "message": "Expand preprocessor macros in C expressions.\n* c-lang.h: #include \"macroexp.h\", for macro_lookup_ftype.\n(scan_macro_expansion, scanning_macro_expansion,\nfinished_macro_expansion): New function declarations.\n(expression_macro_lookup_func, expression_macro_lookup_baton): New\nvariable declarations.\n* parser-defs.h (expression_context_pc): New declaration.\n* parse.c (expression_context_pc): New variable.\n(parse_exp_1): Set expression_context_pc, as well as\nexpression_context_block.\n* c-exp.y (yylex): If we\u0027re not already reading the result of a\nmacro expansion, try to macro-expand the next token.  When we\u0027re\ndone scanning a macro expansion, switch back to the mainline text.\nCommas and `if\u0027s in a macro\u0027s expansion don\u0027t terminate the input.\n* c-lang.c: #include \"macroscope.h\" and \"gdb_assert.h\".\n(macro_original_text, macro_expanded_text,\nexpression_macro_lookup_func, expression_macro_lookup_baton): New\nvariables.\n(scan_macro_expansion, scanning_macro_expansion,\nfinished_macro_expansion, scan_macro_cleanup, null_macro_lookup,\nc_preprocess_and_parse): New functions.\n(c_language_defn, cplus_language_defn, asm_language_defn): Call\nc_preprocess_and_parse, instead of c_parse.\n* Makefile.in (c_lang_h): Note that this #includes macroexp.h.\n(c-lang.o): Note dependency on macroscope.h and gdb_assert.h.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "03a7bcdc6708f0db27a824fdfd57ba8bbb8e73a6",
      "old_mode": 33188,
      "old_path": "gdb/ChangeLog",
      "new_id": "20dfcbcd03d1d25014ccff089b67680122ac076b",
      "new_mode": 33188,
      "new_path": "gdb/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "26afec588dbbc3e7e9accf78d67ebab22d4a5249",
      "old_mode": 33188,
      "old_path": "gdb/Makefile.in",
      "new_id": "5aa141213f73f8bc495ceb5d23424b9613bde9d7",
      "new_mode": 33188,
      "new_path": "gdb/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "a15a4456bce86e3124ee25beeb596e744e397ebd",
      "old_mode": 33188,
      "old_path": "gdb/c-exp.y",
      "new_id": "f555518ea0013c7ba40bf6e8135d1d89d185af52",
      "new_mode": 33188,
      "new_path": "gdb/c-exp.y"
    },
    {
      "type": "modify",
      "old_id": "f98548a63afedea3927746d554e19988dddee845",
      "old_mode": 33188,
      "old_path": "gdb/c-lang.c",
      "new_id": "09a2e6a968a0def15ae53db5ce5f7a852ec22e4a",
      "new_mode": 33188,
      "new_path": "gdb/c-lang.c"
    },
    {
      "type": "modify",
      "old_id": "b1925e1e2d6682810a11beebfa9ebebcf4d020ec",
      "old_mode": 33188,
      "old_path": "gdb/c-lang.h",
      "new_id": "e64d4c69e909e1ab084bb320f0bb944537ba3979",
      "new_mode": 33188,
      "new_path": "gdb/c-lang.h"
    },
    {
      "type": "modify",
      "old_id": "9c1f3e16d0b14c129b17cda3cda35f3d8a576cc4",
      "old_mode": 33188,
      "old_path": "gdb/parse.c",
      "new_id": "bc81f221b52aacdf686b89d56faaa69e811d62b6",
      "new_mode": 33188,
      "new_path": "gdb/parse.c"
    },
    {
      "type": "modify",
      "old_id": "ece28493752f7d1300e7ffc290b7a49657272e21",
      "old_mode": 33188,
      "old_path": "gdb/parser-defs.h",
      "new_id": "7db1c77e1232057e181619a1680fdce18d1989bc",
      "new_mode": 33188,
      "new_path": "gdb/parser-defs.h"
    }
  ]
}
