On Tue, 2023-01-31 at 17:57 +0200, Luca Coelho wrote: > On Mon, 2023-01-30 at 12:59 +0200, Luca Coelho wrote: > > On Mon, 2023-01-30 at 11:47 +0100, Julia Lawall wrote: > > > It doesn't find the file with the definition. You may need to give more > > > paths. > > > > > > I have the impression that the result is improved with > > > > > > -I drivers/gpu/drm/i915 > > > > > > Maybe -I drivers/gpu/drm/i915/display is necessary also. If you add the > > > argument --relax-include-path then just -I drivers/gpu/drm/i915 may be > > > sufficient. With that option, it will just hunt around in and under the > > > various include paths for a unique file that has the required name. > > > > Alright! That _does_ improve things! Now I can see lots of DPLL matches > > in that file! > > These files I'm trying to parse are so complex that I keep bumping into > other parsing errors. Here's one of them: > > parse error > = File "./drivers/gpu/drm/i915/i915_drv.h", line 385, column 1, charpos = 9644 > around = 'for', > whole content = for ((id__) = 0; \ > badcount: 7 > bad: } > bad: > bad: /* Simple iterator over all initialised engines */ > bad: #define for_each_engine(engine__, dev_priv__, id__) \ > BAD:!!!!! for ((id__) = 0; \ > bad: (id__) < I915_NUM_ENGINES; \ > bad: (id__)++) \ > bad: for_each_if ((engine__) = (dev_priv__)->engine[(id__)]) > ERROR-RECOV: found sync end of #define, line 395 > > > I believe the parser is getting confused by an iterator inside an > iterator's definition... I already tried to add them both with the > "iterator name" directive, but it didn't help... > > Any idea what I can do about this? Oh, and here's the full debugging output. -- Luca.