[lld] r241004 - Silence MSVC "not all control paths return a value" warning.

Rui Ueyama ruiu at google.com
Mon Jun 29 14:55:44 PDT 2015


On Mon, Jun 29, 2015 at 2:53 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> On Mon, Jun 29, 2015 at 2:46 PM, Rui Ueyama <ruiu at google.com> wrote:
>
>> Author: ruiu
>> Date: Mon Jun 29 16:46:46 2015
>> New Revision: 241004
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=241004&view=rev
>> Log:
>> Silence MSVC "not all control paths return a value" warning.
>>
>> Modified:
>>     lld/trunk/COFF/Symbols.cpp
>>
>> Modified: lld/trunk/COFF/Symbols.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Symbols.cpp?rev=241004&r1=241003&r2=241004&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/COFF/Symbols.cpp (original)
>> +++ lld/trunk/COFF/Symbols.cpp Mon Jun 29 16:46:46 2015
>> @@ -129,6 +129,8 @@ int SymbolBody::compare(SymbolBody *Othe
>>    case DefinedAbsoluteKind:
>>      // These all simply tie.
>>      return 0;
>> +  default:
>> +    llvm_unreachable("unknown symbol kind");
>>
>
> This may cause a -Wswitch-covered-default in Clang (if that's a switch
> over an enum, and there's a case for every enumerator). The usual fix is to
> put the unreachable after the switch rather than introducing a default.
>
> Same potential issue with the next one too.
>

Ah, makes sense. I'll make that change.


>    }
>>  }
>>
>> @@ -161,6 +163,8 @@ uint64_t Defined::getRVA() {
>>    case LazyKind:
>>    case UndefinedKind:
>>      llvm_unreachable("Cannot get the address for an undefined symbol.");
>> +  default:
>> +    llvm_unreachable("unknown symbol kind");
>>    }
>>  }
>>
>> @@ -184,6 +188,8 @@ uint64_t Defined::getFileOff() {
>>    case LazyKind:
>>    case UndefinedKind:
>>      llvm_unreachable("Cannot get a file offset for an undefined
>> symbol.");
>> +  default:
>> +    llvm_unreachable("unknown symbol kind");
>>    }
>>  }
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150629/4c69c7f3/attachment.html>


More information about the llvm-commits mailing list