[LLVMbugs] [Bug 19899] New: Warn user about comparision of reference to nullptr

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 30 12:41:09 PDT 2014


            Bug ID: 19899
           Summary: Warn user about comparision of reference to nullptr
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: ofv at wanadoo.es
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

In http://llvm.org/viewvc/llvm-project?rev=209723&view=rev an optimization was
introduced for reducing the following case of undefined behavior:

bool foo(int &x) { return &x == 0; }


bool foo(int &x) { return false; }

I noticed this new optimization because some code started crashing. AFAIK
neither of gcc, MSVC, Intel C++ apply this optimization. All of them behave on
the same way when the function is invoked as


It is reasonable to expect more instances of this problem. A behavior that
previously was undefined (by the book) but fairly predictable (by how the
available implementations work) now effectively becomes undefined.

I propose to implement a warning (active by default) for communicating the user
about the occuerrences of that type of code.

A toggle for disabling the optimization would also be a good thing as a quick
fix for those on a hurry.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140530/b2b74375/attachment.html>

More information about the llvm-bugs mailing list