[llvm] r186301 - Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]).

Craig Topper craig.topper at gmail.com
Mon Jul 15 00:17:03 PDT 2013


Attempted fix in r186310.


On Mon, Jul 15, 2013 at 12:13 AM, Kai Nacke <kai.nacke at redstar.de> wrote:

> Hi Craig!
>
> The windows build with VS2012 results in:
>
> d:\opensource\llvm\llvm-git\**lib\support\Windows/Path.inc(**591): error
> C3861: 'array_lengthof': identifier not found [D:\OpenSource\LLVM\build-x64-
> **git\lib\Support\LLVMSupport.**vcxproj]
>
> Regards
> Kai
>
>
> On 15.07.2013 06:27, Craig Topper wrote:
>
>> Author: ctopper
>> Date: Sun Jul 14 23:27:47 2013
>> New Revision: 186301
>>
>> URL: http://llvm.org/viewvc/llvm-**project?rev=186301&view=rev<http://llvm.org/viewvc/llvm-project?rev=186301&view=rev>
>> Log:
>> Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0])**.
>>
>> Modified:
>>      llvm/trunk/lib/MC/**MCAsmBackend.cpp
>>      llvm/trunk/lib/Support/Unix/**Signals.inc
>>      llvm/trunk/lib/Support/**Windows/Path.inc
>>      llvm/trunk/lib/Target/ARM/**ARMISelLowering.cpp
>>      llvm/trunk/lib/Target/PowerPC/**PPCAsmPrinter.cpp
>>      llvm/trunk/lib/Target/R600/**AMDGPUISelLowering.cpp
>>      llvm/trunk/lib/Target/R600/**AMDILISelLowering.cpp
>>      llvm/trunk/lib/Transforms/**InstCombine/InstCombineAddSub.**cpp
>>
>> Modified: llvm/trunk/lib/MC/**MCAsmBackend.cpp
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/MC/**
>> MCAsmBackend.cpp?rev=186301&**r1=186300&r2=186301&view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmBackend.cpp?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/MC/**MCAsmBackend.cpp (original)
>> +++ llvm/trunk/lib/MC/**MCAsmBackend.cpp Sun Jul 14 23:27:47 2013
>> @@ -8,6 +8,7 @@
>>   //===-------------------------**------------------------------**
>> ---------------===//
>>
>>   #include "llvm/MC/MCAsmBackend.h"
>> +#include "llvm/ADT/STLExtras.h"
>>   #include "llvm/MC/MCFixupKindInfo.h"
>>   using namespace llvm;
>>
>> @@ -37,7 +38,6 @@ MCAsmBackend::**getFixupKindInfo(MCFixupKi
>>       { "FK_SecRel_8", 0, 64, 0 }
>>     };
>>
>> -  assert((size_t)Kind <= sizeof(Builtins) / sizeof(Builtins[0]) &&
>> -         "Unknown fixup kind");
>> +  assert((size_t)Kind <= array_lengthof(Builtins) && "Unknown fixup
>> kind");
>>     return Builtins[Kind];
>>   }
>>
>> Modified: llvm/trunk/lib/Support/Unix/**Signals.inc
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/**
>> Support/Unix/Signals.inc?rev=**186301&r1=186300&r2=186301&**view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Signals.inc?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Support/Unix/**Signals.inc (original)
>> +++ llvm/trunk/lib/Support/Unix/**Signals.inc Sun Jul 14 23:27:47 2013
>> @@ -55,8 +55,7 @@ static std::vector<std::pair<void(*)(**voi
>>   static const int IntSigs[] = {
>>     SIGHUP, SIGINT, SIGPIPE, SIGTERM, SIGUSR1, SIGUSR2
>>   };
>> -static const int *const IntSigsEnd =
>> -  IntSigs + sizeof(IntSigs) / sizeof(IntSigs[0]);
>> +static const int *const IntSigsEnd = array_endof(IntSigs);
>>
>>   // KillSigs - Signals that represent that we have a bug, and our prompt
>>   // termination has been ordered.
>> @@ -75,8 +74,7 @@ static const int KillSigs[] = {
>>     , SIGEMT
>>   #endif
>>   };
>> -static const int *const KillSigsEnd =
>> -  KillSigs + sizeof(KillSigs) / sizeof(KillSigs[0]);
>> +static const int *const KillSigsEnd = array_endof(KillSigs);
>>
>>   static unsigned NumRegisteredSignals = 0;
>>   static struct {
>> @@ -86,8 +84,7 @@ static struct {
>>
>>
>>   static void RegisterHandler(int Signal) {
>> -  assert(NumRegisteredSignals <
>> -         sizeof(RegisteredSignalInfo)/**sizeof(RegisteredSignalInfo[0]**)
>> &&
>> +  assert(NumRegisteredSignals < array_lengthof(**RegisteredSignalInfo)
>> &&
>>            "Out of space for signal handlers!");
>>
>>     struct sigaction NewHandler;
>>
>> Modified: llvm/trunk/lib/Support/**Windows/Path.inc
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/**
>> Support/Windows/Path.inc?rev=**186301&r1=186300&r2=186301&**view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Windows/Path.inc?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Support/**Windows/Path.inc (original)
>> +++ llvm/trunk/lib/Support/**Windows/Path.inc Sun Jul 14 23:27:47 2013
>> @@ -588,7 +588,7 @@ static bool isReservedName(StringRef pat
>>       return true;
>>
>>     // Then compare against the list of ancient reserved names
>> -  for (size_t i = 0; i < sizeof(sReservedNames) / sizeof(const char *);
>> ++i) {
>> +  for (size_t i = 0; i < array_lengthof(sReservedNames)**; ++i) {
>>       if (path.equals_lower(**sReservedNames[i]))
>>         return true;
>>     }
>>
>> Modified: llvm/trunk/lib/Target/ARM/**ARMISelLowering.cpp
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/Target/**
>> ARM/ARMISelLowering.cpp?rev=**186301&r1=186300&r2=186301&**view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Target/ARM/**ARMISelLowering.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/**ARMISelLowering.cpp Sun Jul 14 23:27:47
>> 2013
>> @@ -2732,7 +2732,7 @@ ARMTargetLowering::**StoreByValRegs(CCStat
>>       lastRegToSaveIndex = REnd - ARM::R0;
>>     } else {
>>       firstRegToSaveIndex = CCInfo.getFirstUnallocated
>> -      (GPRArgRegs, sizeof(GPRArgRegs) / sizeof(GPRArgRegs[0]));
>> +      (GPRArgRegs, array_lengthof(GPRArgRegs));
>>       lastRegToSaveIndex = 4;
>>     }
>>
>>
>> Modified: llvm/trunk/lib/Target/PowerPC/**PPCAsmPrinter.cpp
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/Target/**
>> PowerPC/PPCAsmPrinter.cpp?rev=**186301&r1=186300&r2=186301&**view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Target/PowerPC/**PPCAsmPrinter.cpp (original)
>> +++ llvm/trunk/lib/Target/PowerPC/**PPCAsmPrinter.cpp Sun Jul 14
>> 23:27:47 2013
>> @@ -853,7 +853,7 @@ void PPCDarwinAsmPrinter::**EmitStartOfAsm
>>
>>     // FIXME: This is a total hack, finish mc'izing the PPC backend.
>>     if (OutStreamer.**hasRawTextSupport()) {
>> -    assert(Directive < sizeof(CPUDirectives) / sizeof(*CPUDirectives) &&
>> +    assert(Directive < array_lengthof(CPUDirectives) &&
>>              "CPUDirectives[] might not be up-to-date!");
>>       OutStreamer.EmitRawText("\t.**machine " +
>> Twine(CPUDirectives[Directive]**));
>>     }
>>
>> Modified: llvm/trunk/lib/Target/R600/**AMDGPUISelLowering.cpp
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/Target/**
>> R600/AMDGPUISelLowering.cpp?**rev=186301&r1=186300&r2=**186301&view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Target/R600/**AMDGPUISelLowering.cpp (original)
>> +++ llvm/trunk/lib/Target/R600/**AMDGPUISelLowering.cpp Sun Jul 14
>> 23:27:47 2013
>> @@ -82,7 +82,7 @@ AMDGPUTargetLowering::**AMDGPUTargetLoweri
>>       (int)MVT::v2i32,
>>       (int)MVT::v4i32
>>     };
>> -  size_t NumTypes = sizeof(types) / sizeof(*types);
>> +  const size_t NumTypes = array_lengthof(types);
>>
>>     for (unsigned int x  = 0; x < NumTypes; ++x) {
>>       MVT::SimpleValueType VT = (MVT::SimpleValueType)types[x]**;
>>
>> Modified: llvm/trunk/lib/Target/R600/**AMDILISelLowering.cpp
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/Target/**
>> R600/AMDILISelLowering.cpp?**rev=186301&r1=186300&r2=**186301&view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDILISelLowering.cpp?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Target/R600/**AMDILISelLowering.cpp (original)
>> +++ llvm/trunk/lib/Target/R600/**AMDILISelLowering.cpp Sun Jul 14
>> 23:27:47 2013
>> @@ -82,10 +82,10 @@ void AMDGPUTargetLowering::**InitAMDILLowe
>>       (int)MVT::v2f64,
>>       (int)MVT::v2i64
>>     };
>> -  size_t NumTypes = sizeof(types) / sizeof(*types);
>> -  size_t NumFloatTypes = sizeof(FloatTypes) / sizeof(*FloatTypes);
>> -  size_t NumIntTypes = sizeof(IntTypes) / sizeof(*IntTypes);
>> -  size_t NumVectorTypes = sizeof(VectorTypes) / sizeof(*VectorTypes);
>> +  const size_t NumTypes = array_lengthof(types);
>> +  const size_t NumFloatTypes = array_lengthof(FloatTypes);
>> +  const size_t NumIntTypes = array_lengthof(IntTypes);
>> +  const size_t NumVectorTypes = array_lengthof(VectorTypes);
>>
>>     const AMDGPUSubtarget &STM = getTargetMachine().**
>> getSubtarget<AMDGPUSubtarget>(**);
>>     // These are the current register classes that are
>>
>> Modified: llvm/trunk/lib/Transforms/**InstCombine/InstCombineAddSub.**cpp
>> URL: http://llvm.org/viewvc/llvm-**project/llvm/trunk/lib/**
>> Transforms/InstCombine/**InstCombineAddSub.cpp?rev=**
>> 186301&r1=186300&r2=186301&**view=diff<http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp?rev=186301&r1=186300&r2=186301&view=diff>
>> ==============================**==============================**
>> ==================
>> --- llvm/trunk/lib/Transforms/**InstCombine/InstCombineAddSub.**cpp
>> (original)
>> +++ llvm/trunk/lib/Transforms/**InstCombine/InstCombineAddSub.**cpp Sun
>> Jul 14 23:27:47 2013
>> @@ -12,6 +12,7 @@
>>   //===-------------------------**------------------------------**
>> ---------------===//
>>
>>   #include "InstCombine.h"
>> +#include "llvm/ADT/STLExtras.h"
>>   #include "llvm/Analysis/**InstructionSimplify.h"
>>   #include "llvm/IR/DataLayout.h"
>>   #include "llvm/Support/**GetElementPtrTypeIterator.h"
>> @@ -659,7 +660,7 @@ Value *FAddCombine::simplifyFAdd(**AddendV
>>       }
>>     }
>>
>> -  assert((NextTmpIdx <= sizeof(TmpResult)/sizeof(**TmpResult[0]) + 1) &&
>> +  assert((NextTmpIdx <= array_lengthof(TmpResult) + 1) &&
>>            "out-of-bound access");
>>
>>     if (ConstAdd)
>>
>>
>> ______________________________**_________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/**mailman/listinfo/llvm-commits<http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits>
>>
>>
>


-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130715/5574dcc3/attachment.html>


More information about the llvm-commits mailing list