[llvm] r257951 - [Orc] Replace switch cases with a macro.
Lang Hames via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 19 14:24:31 PST 2016
Good idea. Fixed in r258203. Thanks Philip!
- Lang.
On Tue, Jan 19, 2016 at 12:10 PM, Philip Reames <listmail at philipreames.com>
wrote:
> Minor, but could you add a #undef after the switch to make the scope of
> the macro explicit?
>
> Philip
>
>
> On 01/15/2016 03:19 PM, Lang Hames via llvm-commits wrote:
>
>> Author: lhames
>> Date: Fri Jan 15 17:19:06 2016
>> New Revision: 257951
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=257951&view=rev
>> Log:
>> [Orc] Replace switch cases with a macro.
>>
>> The cases of this switch are all perfectly regular (except for the first
>> case).
>> A macro is more readable here.
>>
>> Thanks to Dave Blaikie for the suggestion.
>>
>> Modified:
>> llvm/trunk/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp
>>
>> Modified: llvm/trunk/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp?rev=257951&r1=257950&r2=257951&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp
>> (original)
>> +++ llvm/trunk/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp Fri Jan
>> 15 17:19:06 2016
>> @@ -9,6 +9,10 @@
>> #include "llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h"
>> +#define PROCNAME(X) \
>> + case X ## Id: \
>> + return #X
>> +
>> namespace llvm {
>> namespace orc {
>> namespace remote {
>> @@ -17,68 +21,37 @@ const char *OrcRemoteTargetRPCAPI::getJI
>> switch (Id) {
>> case InvalidId:
>> return "*** Invalid JITProcId ***";
>> - case CallIntVoidId:
>> - return "CallIntVoid";
>> - case CallIntVoidResponseId:
>> - return "CallIntVoidResponse";
>> - case CallMainId:
>> - return "CallMain";
>> - case CallMainResponseId:
>> - return "CallMainResponse";
>> - case CallVoidVoidId:
>> - return "CallVoidVoid";
>> - case CallVoidVoidResponseId:
>> - return "CallVoidVoidResponse";
>> - case CreateRemoteAllocatorId:
>> - return "CreateRemoteAllocator";
>> - case CreateIndirectStubsOwnerId:
>> - return "CreateIndirectStubsOwner";
>> - case DeregisterEHFramesId:
>> - return "DeregisterEHFrames";
>> - case DestroyRemoteAllocatorId:
>> - return "DestroyRemoteAllocator";
>> - case DestroyIndirectStubsOwnerId:
>> - return "DestroyIndirectStubsOwner";
>> - case EmitIndirectStubsId:
>> - return "EmitIndirectStubs";
>> - case EmitIndirectStubsResponseId:
>> - return "EmitIndirectStubsResponse";
>> - case EmitResolverBlockId:
>> - return "EmitResolverBlock";
>> - case EmitTrampolineBlockId:
>> - return "EmitTrampolineBlock";
>> - case EmitTrampolineBlockResponseId:
>> - return "EmitTrampolineBlockResponse";
>> - case GetSymbolAddressId:
>> - return "GetSymbolAddress";
>> - case GetSymbolAddressResponseId:
>> - return "GetSymbolAddressResponse";
>> - case GetRemoteInfoId:
>> - return "GetRemoteInfo";
>> - case GetRemoteInfoResponseId:
>> - return "GetRemoteInfoResponse";
>> - case ReadMemId:
>> - return "ReadMem";
>> - case ReadMemResponseId:
>> - return "ReadMemResponse";
>> - case RegisterEHFramesId:
>> - return "RegisterEHFrames";
>> - case ReserveMemId:
>> - return "ReserveMem";
>> - case ReserveMemResponseId:
>> - return "ReserveMemResponse";
>> - case RequestCompileId:
>> - return "RequestCompile";
>> - case RequestCompileResponseId:
>> - return "RequestCompileResponse";
>> - case SetProtectionsId:
>> - return "SetProtections";
>> - case TerminateSessionId:
>> - return "TerminateSession";
>> - case WriteMemId:
>> - return "WriteMem";
>> - case WritePtrId:
>> - return "WritePtr";
>> + PROCNAME(CallIntVoid);
>> + PROCNAME(CallIntVoidResponse);
>> + PROCNAME(CallMain);
>> + PROCNAME(CallMainResponse);
>> + PROCNAME(CallVoidVoid);
>> + PROCNAME(CallVoidVoidResponse);
>> + PROCNAME(CreateRemoteAllocator);
>> + PROCNAME(CreateIndirectStubsOwner);
>> + PROCNAME(DeregisterEHFrames);
>> + PROCNAME(DestroyRemoteAllocator);
>> + PROCNAME(DestroyIndirectStubsOwner);
>> + PROCNAME(EmitIndirectStubs);
>> + PROCNAME(EmitIndirectStubsResponse);
>> + PROCNAME(EmitResolverBlock);
>> + PROCNAME(EmitTrampolineBlock);
>> + PROCNAME(EmitTrampolineBlockResponse);
>> + PROCNAME(GetSymbolAddress);
>> + PROCNAME(GetSymbolAddressResponse);
>> + PROCNAME(GetRemoteInfo);
>> + PROCNAME(GetRemoteInfoResponse);
>> + PROCNAME(ReadMem);
>> + PROCNAME(ReadMemResponse);
>> + PROCNAME(RegisterEHFrames);
>> + PROCNAME(ReserveMem);
>> + PROCNAME(ReserveMemResponse);
>> + PROCNAME(RequestCompile);
>> + PROCNAME(RequestCompileResponse);
>> + PROCNAME(SetProtections);
>> + PROCNAME(TerminateSession);
>> + PROCNAME(WriteMem);
>> + PROCNAME(WritePtr);
>> };
>> return nullptr;
>> }
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160119/65a33d2b/attachment.html>
More information about the llvm-commits
mailing list