Hi David,
           I am aware that both clang and gcc align to generic itanium ABI so 
ideally there shouldn't be any problem in mixing object code compiled with 
these 2 compilers.  Thanks for the clear answer, I guess I can take up this 
model to migrate to clang.. 

Regards
Ankit
 
________________________________________
From: David Blaikie [dblai...@gmail.com]
Sent: Friday, July 24, 2015 8:49 PM
To: Garg, Ankit
Cc: cfe-users@cs.uiuc.edu
Subject: Re: [cfe-users] Migrating to clang from GCC

This thread seems to have gone in a strange direction - using clang does not 
imply or require using libc++.

To answer your original question: this is essentially fine/correct modulo bugs 
and version incompatibilities (the two compilers don't necessarily line up 
perfectly with respect to feature, bug, etc implementation at all times)

You can compile parts of your c++ program (including using c++ standard library 
types on that interface boundary) with clang and parts with gcc (both using the 
same standard library) and they should link and run correctly together.



(If you're curious about the nitty gritty of why this works, its related to a 
thing called the ABI, and specifically the itanium ABI)

On Jul 24, 2015 12:40 AM, "Ankit Garg" 
<ankit_g...@mentor.com<mailto:ankit_g...@mentor.com>> wrote:
Hi All,
         I am not sure whether its the right forum to ask this question.  I am 
trying to move to clang compiler from GCC, but our software has tons of 
components independently developed provding different static archive libraries. 
All these libraries are finally linked into executable.  Now rather than 
compiling every component with clang from scratch, I was thinking to pick one 
component at time to compile with clang and use GCC compiled static archives 
for other components to link into executable using clang compiler.  Would this 
always work ?

So my question is whether GCC compiled object/archives involving C/C++ code 
would always be compatible with clang generated object files and can be mixed 
together during link step using clang compiler.  Would this always work if I 
can make sure that our libraries are not using any features of C++11 .


Regards
Ankit

_______________________________________________
cfe-users mailing list
cfe-users@cs.uiuc.edu<mailto:cfe-users@cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users

_______________________________________________
cfe-users mailing list
cfe-users@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users

Reply via email to