https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65043

            Bug ID: 65043
           Summary: Expected narrowing conversion during list
                    initialization of bool from double
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yaghmour.shafik at gmail dot com

Given the following code form this stackoverflow question
http://stackoverflow.com/q/27507361/1708801 :

#include <iostream>

struct X
{
    X(bool arg) { std::cout << arg << '\n'; }
};

int main() 
{
    double d = 7.0;
    X x{d};
}

I expect a narrowing conversion error on this line:

  X x{d};

Neither clang nor gcc produce an error although Visual Studio does. Although
the comment is now deleted Jonathan Wakely noted that the EDG compiler gives a
narrowing error for the code.

Reply via email to