On Mon, Aug 19, 2013 at 2:09 PM, Robinson, Paul <[email protected]> wrote: >> DebugInfo: Do not include line/file info for artificial parameters & >> parameters of artificial functions > ... >> -// It's weird that the first two parameters are recorded as being in a >> -// different, ("<unknown>") file compared to the third parameter which >> is 'in' >> -// the actual source file. (see the metadata node after the arg name in >> each >> -// line) > > I've seen the debug info for the artificial functions themselves also > have bogus source coordinates. Being artificial functions, people don't > care much so I haven't pursued it. > > The .debug_line info for these guys isn't always right either. Meaning, > the file number is obviously wrong. > > But I wonder if just not emitting the source locations is papering over > some other not-keeping-track problem.
I removed them not because they were 'wrong' as such (Clang's AST ascribes a "Resaonable" source location for implicit members to be the token where the name of the type is written, I believe - or something like that (haven't checked precisely) but unnecessary. You're right that we probably don't want/need to be emitting line table entries for implicit members (though we want to make sure the functions can be symbolicated) in any great detail - I've not looked at how our line tables compare to GCC's, but it might be something we can improve on too. If you have any particular examples of bogus output, please post them so we can take a look/fix the issues. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
