----- Original Message ----- > Author: ctopper > Date: Sun Jul 14 23:28:48 2013 > New Revision: 186302 > > URL: http://llvm.org/viewvc/llvm-project?rev=186302&view=rev > Log: > Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]). > > Modified: > cfe/trunk/tools/driver/driver.cpp
FWIW, this seems to break compilation with gcc 4.4.7: llvm-trunk/tools/clang/tools/driver/driver.cpp: In function ‘void ParseProgName(llvm::SmallVectorImpl<const char*>&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, clang::driver::Driver&)’: /llvm-trunk/tools/clang/tools/driver/driver.cpp:306: error: no matching function for call to ‘array_lengthof(const ParseProgName(llvm::SmallVectorImpl<const char*>&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, clang::driver::Driver&)::<anonymous struct> [10])’ make[4]: *** [/llvm-trunk-build/tools/clang/tools/driver/Release+Asserts/driver.o] Error 1 -Hal > > Modified: cfe/trunk/tools/driver/driver.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/driver.cpp?rev=186302&r1=186301&r2=186302&view=diff > ============================================================================== > --- cfe/trunk/tools/driver/driver.cpp (original) > +++ cfe/trunk/tools/driver/driver.cpp Sun Jul 14 23:28:48 2013 > @@ -25,6 +25,7 @@ > #include "llvm/ADT/OwningPtr.h" > #include "llvm/ADT/SmallString.h" > #include "llvm/ADT/SmallVector.h" > +#include "llvm/ADT/STLExtras.h" > #include "llvm/Option/ArgList.h" > #include "llvm/Option/OptTable.h" > #include "llvm/Option/Option.h" > @@ -302,7 +303,7 @@ static void ParseProgName(SmallVectorImp > bool FoundMatch = false; > size_t i; > > - for (i = 0; i < sizeof(suffixes) / sizeof(suffixes[0]); ++i) { > + for (i = 0; i < llvm::array_lengthof(suffixes); ++i) { > if (ProgNameRef.endswith(suffixes[i].Suffix)) { > FoundMatch = true; > if (suffixes[i].IsCXX) > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > -- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
