[Bug c++/60862] New: bad location in invalid conversion error

tromey at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 16 15:30:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60862

            Bug ID: 60862
           Summary: bad location in invalid conversion error
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tromey at gcc dot gnu.org

I'm using the Fedora 20 system gcc:

barimba. gcc --version
gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)

It seems unlikely to me that this bug is caused by Fedora changes.


Consider this source:

extern void **slot(int, void *, int);

void m(int x, int y)
{
  int **s = slot (x, &x, y);
}


Compiling yields:

barimba. g++ --syntax-only e.cc
e.cc: In function ‘void m(int, int)’:
e.cc:5:27: error: invalid conversion from ‘void**’ to ‘int**’ [-fpermissive]
   int **s = slot (x, &x, y);
                           ^

The location of the error seems quite odd to me.
I think it would be better to report the error at the "=".


More information about the Gcc-bugs mailing list