Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: Ashutosh Newsgroups: comp.compilers Subject: Different STL support in one application Date: Thu, 5 Jul 2012 23:54:52 -0700 (PDT) Organization: Compilers Central Lines: 27 Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <12-07-009@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: leila.iecc.com 1341694830 38395 64.57.183.58 (7 Jul 2012 21:00:30 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Sat, 7 Jul 2012 21:00:30 +0000 (UTC) Keywords: GCC, question Posted-Date: 07 Jul 2012 17:00:30 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:709 Hi, I came across a requirement where we need to support 2 type of STL (GNU STL & RoughWay STL) in customer applications. For this we have both the STL support with our compiler ready, but thats not only sufficient we came across one major problem: 1) If a binary compiled with GNU STL and it interacts with Rough Way STL, then because of different object layout it fails. i.e. GNU STL vector passed to function which expects Rough Way STL objects. 2) There are some pre-compiled third party libraries(Compiled with GNU/RoughWay headers) which we can't change. The same interaction problem here also. Possible Solution: 1) Write generic wrappers for both the libraries and use them. 2) Write a runtime library which automatically converts objects when different object layout interaction happens. These are only raw solutions, each has some issues. Any idea, how to solve this problem ? Regards, Ashutosh