Re: BUG #5590: undefined shift behavior

From: John Regehr <regehr(at)cs(dot)utah(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5590: undefined shift behavior
Date: 2010-08-02 16:48:06
Message-ID: 4C56F6C6.70704@cs.utah.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

> Hrm, I'd have expected you to see a few integer overflows during the
> regression tests --- we do test that the overflow checks in places
> like int4pl work.

I saw no signed overflows. Our patch still has some rough edges, but
this part is pretty well tested.

Perhaps the int4pl checks fire before the overflowing operation can be
performed, stopping them from happening?

Anyway when I get a bit of time I'll stub out the checks and make sure
that I see some checks firing.

> You might be interested in this concurrent thread:
> http://archives.postgresql.org/pgsql-hackers/2010-08/msg00024.php
> particularly the comments about overflow.

Thanks. I've been corresponding with Neil about this a bit.

Nice to hear that Clang has -fwrapv now, I hadn't known about that.

> Yeah, the PG regression tests aren't amazingly good coverage-wise
> (although running the contrib tests as well as core helps --- did you
> do that?). I'm afraid I haven't got a good suggestion for you.

I haven't tried the contrib tests, I'll do that, thanks.

Sooner or later we'll push our patch into LLVM and then anyone testing
your code can help out.

Just randomly: it's trivial to compile postgresql using clang on OSX.
However, I cannot get it to work on Linux with or without Peter
Eisentraut's patches. It's no big deal since I have a Mac sitting
around but I could get stuff done faster on Linux!

John

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message John Regehr 2010-08-02 16:51:24 Re: BUG #5590: undefined shift behavior
Previous Message Tom Lane 2010-08-02 16:16:01 Re: BUG #5590: undefined shift behavior