On Mon, 2024-09-30 at 09:33 +0200, Florian Weimer wrote: > * David Malcolm: > > > I'm not quite sure what you mean by "non-error" and "non- > > anchored". > > Sorry, I'm not familiar with the appropriate terminology. > > > By "non-error", do you mean that this should this be a warning? If > > so, > > use warning_at. You can use 0 for the option_id whilst > > prototyping. > > Or use "inform" to get a note. > > I meant that I want to attach something like a note to another error. > There is just one error here (an ICE really, in case of PR116887). > If > it's okay I can call the error function without a location multiple > times to provide the additional information. But the thing the > alternative below seems more appropriate.
To attach notes to another diagnostic, use auto_diagnostic_group, a RAII class that, during its lifetime, put all diagnostics into a group: { auto_diagnostic_group d; error_at (somewhere, "can't find %qs", "foo"); inform (somewhere_else, "here's where I last remember seeing it"); } The effect isn't visible on the standard text output format, but is in SARIF. > > > By "non-anchored", do you mean "not associated with any particular > > source location"? If so, use error_at/warning_at and use > > UNKNOWN_LOCATION for the location_t ("error" and "warning" > > implicitly > > use the "input_location" global variable; it's usually best to > > instead > > specify a location, or use UNKNOWN_LOCATION for "global" problems). > > Ahh, so use inform (UNKNOWN_LOCATION, …)? I see a couple of examples > like that. Yes. Using UNKNOWN_LOCATION will lead to output like: cc1: note: message goes here which might be appropriate, but can be unhelpful to the user for tracking down the problem. Is there no source location that's relevant? I got the impression from Richi's comments that this might be more of a GCC developer thing rather than an end-user thing, so perhaps using the dumpfile might be more appropriate? (I'm not sure) Dave > > I'll wait for further comments from Richi and repost. There are also > some test cases that need adjusting. > > Thanks, > Florian >