microsoft / microsoft-pdb

Information from Microsoft about the PDB format. We'll try to keep this up to date. Just trying to help the CLANG/LLVM community get onto Windows.
Other
1.85k stars 271 forks source link

Register source language enumerator value #21

Open rainers opened 7 years ago

rainers commented 7 years ago

Hi,

Is it possible to "register" a source language identifier to get listed in CV_CFL_LANG here https://github.com/Microsoft/microsoft-pdb/blob/master/include/cvconst.h#L300 ?

I have extracted the D language expression evaluator of the mago debug engine (https://github.com/rainers/mago/tree/master/EED/MagoNatCC) as a Concord extension (https://github.com/Microsoft/ConcordExtensibilitySamples) and used 'D' (0x44) as the source language identifier for the S_COMPILE CodeView record emitted by the compiler. The installer adds appropriate "CodeView Compiler" registry entries for the VS debugger to map this identifier to the D Concord extension. Long term, this might cause conflicts with other languages using the same enumerator value, though. (I have asked for the source language registration at the Concord repo, too, but didn't get an answer: https://github.com/Microsoft/ConcordExtensibilitySamples/issues/28)

LLVM got support for the S_COMPILE3 record recently, and I'd like the 'D' identifier to be added there, too. It might be easier to get addition of the appropriate translation with some "official blessing" of the actual value.

Thanks.

retep998 commented 7 years ago

Would be nice to have a language identifier for Rust as well.

jonwil commented 7 years ago

Given the work being done on things like the Windows Bridge for iOS, entries for Objective-C and Swift seem like they might be worthwhile as well.