Do no use 'char' as the type of a flag. Prefer 'unsigned int'.
On Sat, Apr 21, 2012 at 8:57 AM, Manuel López-Ibáñez <lopeziba...@gmail.com> wrote: > As noticed by Jason in PR 2485. The current output with caret > diagnostics is a bit verbose in some cases: > > wa2.C: In function ‘int main()’: > wa2.C:6:6: error: no matching function for call to ‘f(int)’ > f(1); > ^ > wa2.C:6:6: note: candidates are: > f(1); > ^ > wa2.C:1:6: note: void f() > void f(); > ^ > wa2.C:1:6: note: candidate expects 0 arguments, 1 provided > void f(); > ^ > wa2.C:2:6: note: void f(int, int) > void f(int,int); > ^ > wa2.C:2:6: note: candidate expects 2 arguments, 1 provided > void f(int,int); > ^ > > Following the discussion there, this patch changes the output to: > > caret-overload.C:102:6: error: no matching function for call to ‘f(int)’ > f(1); > ^ > note: candidates are: > caret-overload.C:1:6: note: void f() > note: candidate expects 0 arguments, 1 provided > void f(); > ^ > caret-overload.C:10:6: note: void f(int, int) > note: candidate expects 2 arguments, 1 provided > void f(int,int); > ^ > > (Gmail messes up the alignment, see the output in the PR as it is > actually meant to be) > > I have two questions. First, is the implementation approach ok? > > Second, changing the output like this, requires updating tons of > testcases. I could update the testcases to match the notes without > prefix by simply matching the 0 line. But perhaps it is better to add > a new { dg-notes-2 "note1" "note2" } which passes a regexp such as > "[^\n]*note1[^\n]*\n[^\n]*note2[^\n]*" to process-message. What do you think? > > Cheers, > > Manuel.