[cfe-dev] Advice for fixing some misguided code

Mehdi Amini via cfe-dev cfe-dev at lists.llvm.org
Fri Aug 26 08:53:04 PDT 2016


+Steven who embeds CC1 options on the bitcode to reproduce the compilation. 

— 
Mehdi


> On Aug 26, 2016, at 3:04 AM, Martin J. O'Riordan via cfe-dev <cfe-dev at lists.llvm.org> wrote:
> 
> I long while back, I added a static function to my ‘Subtarget’ implementation that allows me to pass all of the ‘-cc1’ arguments from CLang to the LLVM backend.
>  
> The reason I added this was because I would routinely get examples of “bugs” from developers that consisted of only assembly code, and no information about how the compiler was invoked, nor the C or C++ source.
>  
> So I partially addressed this by placing all the ‘-cc1’ options into a large comment section at the end of each generated assembly file to help with my diagnostics, and this information is passed from CLang to LLVM using this call.
>  
> But this breaks the natural decoupling of the CLang front-end and the LLVM backend, so that other clients of ‘libclang’ implicitly have this weak extern reference.
>  
> Using the GCC or CLang compilers, the use of weak-externs is not a problem so my additional function does not need to be linked into the image, but with VC++ it is a problem as there is no real equivalent that I know of for weak-extern; and this means that I cannot build many of the additional CLang utilities unless I also link them against the back-end, which is not the right thing to do.
>  
> I think that the right solution would be to decouple how I pass this information from CLang to LLVM, and I would like to seek advice from the community on how I might better implement this requirement.  Or if there is an existing mechanism I could use to do this.
>  
> Thanks in advance,
>  
>             MartinO
>  
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160826/bbc81771/attachment.html>


More information about the cfe-dev mailing list