Thread overview
[Issue 17056] No filename and line info for wrong extern C++ type
Jan 03, 2017
ag0aep6g@gmail.com
Jan 04, 2017
Jacob Carlborg
Jan 04, 2017
Jacob Carlborg
Feb 28, 2019
Basile-z
Mar 21, 2020
Basile-z
January 03, 2017
https://issues.dlang.org/show_bug.cgi?id=17056

ag0aep6g@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice
                 CC|                            |ag0aep6g@gmail.com

--
January 04, 2017
https://issues.dlang.org/show_bug.cgi?id=17056

bitter.taste@gmx.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bitter.taste@gmx.com

--- Comment #1 from bitter.taste@gmx.com ---
This should be only a matter of using the Loc of the Dsymbol we're currently mangling when an error is thrown.

--
January 04, 2017
https://issues.dlang.org/show_bug.cgi?id=17056

Jacob Carlborg <doob@me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doob@me.com

--- Comment #2 from Jacob Carlborg <doob@me.com> ---
(In reply to bitter.taste from comment #1)
> This should be only a matter of using the Loc of the Dsymbol we're currently mangling when an error is thrown.

I'm pretty sure it's reporting the error as "Internal Compiler Error" because the error should have been caught earlier, properly reported with file and line number.

--
January 04, 2017
https://issues.dlang.org/show_bug.cgi?id=17056

--- Comment #3 from Jacob Carlborg <doob@me.com> ---
The mangler shouldn't do the type checking.

--
January 04, 2017
https://issues.dlang.org/show_bug.cgi?id=17056

--- Comment #4 from bitter.taste@gmx.com ---
(In reply to Jacob Carlborg from comment #2)
> (In reply to bitter.taste from comment #1)
> > This should be only a matter of using the Loc of the Dsymbol we're currently mangling when an error is thrown.
> 
> I'm pretty sure it's reporting the error as "Internal Compiler Error" because the error should have been caught earlier, properly reported with file and line number.

Nah, it's just that every error that's thrown from cppmangle.d is prefixed with
"Internal Compiler Error" and uses Loc() as loc instead of using the one of the
symbol it is trying to mangle.
No type checking is done in the mangler, it's just that there's no C++ type a D
`string' maps to, you could effectively prevent the use of types that have no
1:1 mapping to C++ ones but that's another matter, this approach just works
(TM).

--
February 28, 2019
https://issues.dlang.org/show_bug.cgi?id=17056

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |b2.temp@gmx.com
         Resolution|---                         |WORKSFORME

--- Comment #5 from Basile-z <b2.temp@gmx.com> ---
Nowadays a good loc is reported and there's no ICE, see

https://run.dlang.io/is/6JhfXs

--
March 21, 2020
https://issues.dlang.org/show_bug.cgi?id=17056

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|b2.temp@gmx.com             |

--