www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - htod not support stlport stuff good enough

reply davidl <davidl nospam.org> writes:
err, I tried a little bit with htod seems it always bug me with error  
messages. any idea?

void operator delete(void* ptr, const std::nothrow_t&) throw();
                                                               ^
d:\digitalmars\dm\include\../include/new.h(77) : Error: must be void  
operator delete(void * [,size_t]);
void operator delete[](void* ptr, const std::nothrow_t&) throw();
                                                                 ^
d:\digitalmars\dm\include\../include/new.h(83) : Error: must be void  
operator delete[](void * [,size_t]);
class nothrow_t {};


after tweaking it a bit for a while, i find the trick to bypass this error:

htod myfile.h -Iblah  -D__NEW_H

htod also need the -I stuff, it actually should get the sc.ini value

                 ^
-- 
使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/
Apr 07 2009
next sibling parent reply davidl <davidl nospam.org> writes:
在 Wed, 08 Apr 2009 00:53:09 +0800,davidl <davidl nospam.org> 写道:

 err, I tried a little bit with htod seems it always bug me with error  
 messages. any idea?

 void operator delete(void* ptr, const std::nothrow_t&) throw();
                                                                ^
 d:\digitalmars\dm\include\../include/new.h(77) : Error: must be void  
 operator delete(void * [,size_t]);
 void operator delete[](void* ptr, const std::nothrow_t&) throw();
                                                                  ^
 d:\digitalmars\dm\include\../include/new.h(83) : Error: must be void  
 operator delete[](void * [,size_t]);
 class nothrow_t {};


 after tweaking it a bit for a while, i find the trick to bypass this  
 error:

 htod myfile.h -Iblah  -D__NEW_H

 htod also need the -I stuff, it actually should get the sc.ini value

                  ^

htod seems not able to convert stlport stuff well.. alias std::std::map<unsigned ,SignatureElement ,std::less<unsigned >::std ,std::allocator<std::pair<unsigned ,SignatureElement >::std >::std > ?$map std IUSignatureElement U?$less std I 1 V?$allocator std U?$pair std IUSignatureElement 1 1 ; a bit curious why htod not using extern(C++) stuff? -- 使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/
Apr 07 2009
parent Walter Bright <newshound1 digitalmars.com> writes:
davidl wrote:
 htod seems not able to convert stlport stuff well..

Since D cannot interface with C++ template generated code, and that's pretty much all stl is, it's moot that htod doesn't work on stl. Sorry about that.
Apr 07 2009
prev sibling parent Clay Smith <clayasaurus gmail.com> writes:
davidl wrote:
 
 err, I tried a little bit with htod seems it always bug me with error 
 messages. any idea?
 
 void operator delete(void* ptr, const std::nothrow_t&) throw();
                                                               ^
 d:\digitalmars\dm\include\../include/new.h(77) : Error: must be void 
 operator delete(void * [,size_t]);
 void operator delete[](void* ptr, const std::nothrow_t&) throw();
                                                                 ^
 d:\digitalmars\dm\include\../include/new.h(83) : Error: must be void 
 operator delete[](void * [,size_t]);
 class nothrow_t {};
 
 
 after tweaking it a bit for a while, i find the trick to bypass this error:
 
 htod myfile.h -Iblah  -D__NEW_H
 
 htod also need the -I stuff, it actually should get the sc.ini value
 
                 ^

# Declarations with C++ linkage cannot be converted. A C interface must be made for any C++ code. http://www.digitalmars.com/d/2.0/htod.html Limitations
Apr 07 2009