On 8/10/20 4:48 AM, Richard Sandiford wrote:
Marek Polacek via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
sure.
* develop patch
* run testsuite
* observe unexpected ICEs
* load g++.log into editor
* ^sinternal comp
* gets to first unexpected ICE
* debug it.

What does '^sinternal comp' become?  As there could be many expected ICEs
it'll be painful to determine whether any particular utterance of 'internal
compiler' is expected or not.

That is a problem I don't know how to deal with.  I know how to pass
additional options to the compiler from dejagnu.  I thought maybe I could use
-pass-exit-codes, redirect stderr to /dev/null, and check if the exit code is
ICE_EXIT_CODE, but there seems to be no way to do that redirection.  So I'm
stuck.

Though, you could just grep for '^FAIL.*internal comp', which will find the
first unexpected ICE.  Contrary to the expected ICEs, the unexpected ICEs will
be shown in 'Excess errors:'.  Won't that work?

Read what I wrote:
* load g++.log into editor
* ^sinternal comp

are you telling me not to use an editor for this task?  the search is so one
can get the command line.  Grepping the log file will not do that.

No, I'm saying that looking for '^FAIL.*internal comp' (in an editor) instead
of just 'internal comp' will get you to the ICEs you care about.  In vim,
'/^FAIL.*in' gets me there.

Yeah, this works.  I'm not sure whether Nathan's ^s is isearch
or regexp-isearch :-)

It was incremental :) it;s kind of nice just to stop typing when it hits the first ICE message! But, I'm not going to object any more, I guess I'll live with it. </grumpy old man>

[I'm sure I can figure out some emacs macro binding to DTRT]

nathan

--
Nathan Sidwell

Reply via email to