[Issue 14956] C++ Mangling incompatible with C++11

2022-02-28 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Nicholas Wilson  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||iamthewilsona...@hotmail.co
   ||m
 Resolution|--- |FIXED

--- Comment #15 from Nicholas Wilson  ---
This has since been fixed

--


[Issue 14956] C++ Mangling incompatible with C++11

2019-06-08 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #14 from Suleyman Sahmi (سليمان السهمي) 
 ---
I opened a dedicated issue for the abi_tag: issue #19949.

--


[Issue 14956] C++ Mangling incompatible with C++11

2017-11-10 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #13 from Sahmi Soulaïman (سليمان السهمي) 
 ---
(In reply to Walter Bright from comment #12)
> The code is neither C++ nor D. Please provide an accurate code example, what
> it mangles to, and what it should mangle to. Thanks!

example:
---
#include 

std::string toString(char* s)
{
return s;
}
---

The function "toString" above returns `std::string`, thus mangles to:
"_Z8toStringB5cxx11Pc", which is in demangled form:
"toString[abi:cxx11](char*)". The question is: how to emulate the "[abi:cxx11]"
part of the mangling in d? Thanks!

--


[Issue 14956] C++ Mangling incompatible with C++11

2017-11-01 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #12 from Walter Bright  ---
(In reply to Sahmi Soulaïman (سليمان السهمي) from comment #10)
> std::base_string!char func() {}


The code is neither C++ nor D. Please provide an accurate code example, what it
mangles to, and what it should mangle to. Thanks!

--


[Issue 14956] C++ Mangling incompatible with C++11

2017-11-01 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #11 from Walter Bright  ---
I'm not sure this is actually a D compiler problem. If, on the D side,
basic_string is aliased to __cxx11::basic_string, it should mangle correctly.
This is pointed out in Comment 4.

--


[Issue 14956] C++ Mangling incompatible with C++11

2017-10-26 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Walter Bright  changed:

   What|Removed |Added

   Keywords||mangling
 CC||bugzi...@digitalmars.com

--


[Issue 14956] C++ Mangling incompatible with C++11

2017-05-08 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Sahmi Soulaïman (سليمان السهمي)  changed:

   What|Removed |Added

 CC||sahmi.soulaim...@gmail.com

--- Comment #10 from Sahmi Soulaïman (سليمان السهمي) 
 ---
I would like to point out that the __cxx11 namespace is not the only problem,
infact there is another non trivial problem is the abi_tag used on functions
that return a std::basic_string.
 for exaplme the following function:
```
std::base_string!char func() {}
```
will get the (demangled) name "func[cxx11]()", and there is actually no way of
representing that in D.

--


[Issue 14956] C++ Mangling incompatible with C++11

2016-02-13 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #9 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/f9b657b5fdca5658b4808fe444281fa4df23250a
Merge pull request #5261 from ibuclaw/issue14956a

Parameter types should have namespace std mangling too

--


[Issue 14956] C++ Mangling incompatible with C++11

2016-01-03 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #8 from github-bugzi...@puremagic.com ---
Commit pushed to stable at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/574542fe2cf83dc32ce59fd82631184de91ef2a5
Merge pull request #5262 from ibuclaw/issue14956b

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-11-28 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #7 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/574542fe2cf83dc32ce59fd82631184de91ef2a5
Merge pull request #5262 from ibuclaw/issue14956b

[14965]: Add versioned-out branch to support new C++-11 implementations of
std::string

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-11-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #3 from Iain Buclaw  ---
(In reply to Marco Leise from comment #2)
> The mangling of the mangling changed? I thought that was a typo, but
> obviously you are right.

The C++-98 use of "Sb" and "Ss" is a special mangle string, and not actually
representative of the actual name or namespace of basic_string.

Perhaps a better way of putting it would have been: "The abbreviations for
mangling basic_string have been removed and replaced with a new namespace".

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-11-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Jacob Carlborg  changed:

   What|Removed |Added

 CC||d...@me.com

--- Comment #5 from Jacob Carlborg  ---
(In reply to Iain Buclaw from comment #4)

> Which leaves us with the question, how do figure out whether to use version
> condition branch A or B?

The user specifies the appropriate version flag. Or the compiler need a new
flag for this.

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-11-07 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

--- Comment #6 from Iain Buclaw  ---
(In reply to Jacob Carlborg from comment #5)
> (In reply to Iain Buclaw from comment #4)
> 
> > Which leaves us with the question, how do figure out whether to use version
> > condition branch A or B?
> 
> The user specifies the appropriate version flag. Or the compiler need a new
> flag for this.


Well, so far, apart from the testsuite, is there any other place this is
necessary?  Probably not.  We don't maintain a core.stdcxx library, thank
goodness.  And those who wish to use bindings to C++ std, then they can make
the change in their code and provide some user defined version to select one or
the other.

I've only found one bug that prevents this.  I've raised a PR for that.

https://github.com/D-Programming-Language/dmd/pull/5261

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-10-27 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Marco Leise  changed:

   What|Removed |Added

 CC||marco.le...@gmx.de

--- Comment #2 from Marco Leise  ---
The mangling of the mangling changed? I thought that was a typo, but obviously
you are right. They mangled and wrapped the mangling into a __cxx11 wrapper.

I assume the only way out of this is providing a -cxx11 flag for dmd? >.<

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-10-23 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Iain Buclaw  changed:

   What|Removed |Added

 CC||ibuc...@gdcproject.org

--- Comment #1 from Iain Buclaw  ---
Ubuntu 15.10 has been released, and comes with gcc-5.2 as the default compiler.

So as more developers upgrade, the more likely they are to notice that D2
testsuite no longer passes (or whatever C++ interop they are using in their
program starts failing).

--


[Issue 14956] C++ Mangling incompatible with C++11

2015-10-23 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14956

Sobirari Muhomori  changed:

   What|Removed |Added

   Keywords||C++

--