Agreed. In addition, exposing what seems to be a debugging option versus actual functionality.<br><br>-eric<br><br><div class="gmail_quote">On Fri Dec 19 2014 at 9:23:59 AM Juergen Ributzka <<a href="mailto:juergen@apple.com">juergen@apple.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There are several other options in MCTargetOptions. Maybe we should create a more generic method for setting all those options instead of adding a separate function for each option?<br>
<br>
typedef enum {<br>
  LLVMSanitizeAddress = 1,<br>
…<br>
} LLVMMCOption;<br>
<br>
int LLVMSetTargetMachineMCOption(<u></u>LLVMTargetMachineRef T,  LLVMMCOptions O, unsigned V)<br>
<br>
This way we can easily add new options in the future and deprecate old ones by using a different return code.<br>
<br>
—Juergen<br>
<br>
> On Dec 19, 2014, at 7:43 AM, Tom Stellard <<a href="mailto:tom@stellard.net" target="_blank">tom@stellard.net</a>> wrote:<br>
><br>
> Ping.<br>
><br>
> On Fri, Sep 26, 2014 at 11:51:16AM -0700, Tom Stellard wrote:<br>
>> Hi,<br>
>><br>
>> The attached patch adds LLVMSetTargetMachineShowMCEnco<u></u>ding() to the C API.<br>
>><br>
>> Please Review.<br>
>><br>
>> Thanks,<br>
>> Tom<br>
><br>
>> From 3968722de1329a61418fbbe779f846<u></u>c3f57f7139 Mon Sep 17 00:00:00 2001<br>
>> From: Tom Stellard <<a href="mailto:thomas.stellard@amd.com" target="_blank">thomas.stellard@amd.com</a>><br>
>> Date: Fri, 26 Sep 2014 11:44:57 -0700<br>
>> Subject: [PATCH 2/2] C API: Add LLVMSetTargetMachineShowMCEnco<u></u>ding()<br>
>><br>
>> ---<br>
>> include/llvm-c/TargetMachine.h | 4 ++++<br>
>> lib/Target/TargetMachineC.cpp  | 5 +++++<br>
>> 2 files changed, 9 insertions(+)<br>
>><br>
>> diff --git a/include/llvm-c/<u></u>TargetMachine.h b/include/llvm-c/<u></u>TargetMachine.h<br>
>> index d4993e7..ed7c4e5 100644<br>
>> --- a/include/llvm-c/<u></u>TargetMachine.h<br>
>> +++ b/include/llvm-c/<u></u>TargetMachine.h<br>
>> @@ -122,6 +122,10 @@ LLVMTargetDataRef LLVMGetTargetMachineData(<u></u>LLVMTargetMachineRef T);<br>
>> void LLVMSetTargetMachineAsmVerbosi<u></u>ty(LLVMTargetMachineRef T,<br>
>>                                       LLVMBool VerboseAsm);<br>
>><br>
>> +/** Set the target machine's ShowMCEncoding option. */<br>
>> +void LLVMSetTargetMachineShowMCEnco<u></u>ding(LLVMTargetMachineRef T,<br>
>> +                                        LLVMBool ShowMCEncoding);<br>
>> +<br>
>> /** Emits an asm or object file for the given module to the filename. This<br>
>>   wraps several c++ only classes (among them a file stream). Returns any<br>
>>   error in ErrorMessage. Use LLVMDisposeMessage to dispose the message. */<br>
>> diff --git a/lib/Target/TargetMachineC.<u></u>cpp b/lib/Target/TargetMachineC.<u></u>cpp<br>
>> index b3e07df..0d0c1b7 100644<br>
>> --- a/lib/Target/TargetMachineC.<u></u>cpp<br>
>> +++ b/lib/Target/TargetMachineC.<u></u>cpp<br>
>> @@ -181,6 +181,11 @@ void LLVMSetTargetMachineAsmVerbosi<u></u>ty(LLVMTargetMachineRef T,<br>
>>   unwrap(T)-><u></u>setAsmVerbosityDefault(<u></u>VerboseAsm);<br>
>> }<br>
>><br>
>> +void LLVMSetTargetMachineShowMCEnco<u></u>ding(LLVMTargetMachineRef T,<br>
>> +                                        LLVMBool ShowMCEncoding) {<br>
>> +  unwrap(T)->Options.MCOptions.<u></u>ShowMCEncoding = ShowMCEncoding;<br>
>> +}<br>
>> +<br>
>> static LLVMBool LLVMTargetMachineEmit(<u></u>LLVMTargetMachineRef T, LLVMModuleRef M,<br>
>>   formatted_raw_ostream &OS, LLVMCodeGenFileType codegen, char **ErrorMessage) {<br>
>>   TargetMachine* TM = unwrap(T);<br>
>> --<br>
>> 1.8.3.1<br>
>><br>
><br>
>> ______________________________<u></u>_________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
><br>
> ______________________________<u></u>_________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
<br>
<br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><br>
</blockquote></div>