From 4fbf6633024d40dcb7849f45db5a4d41b2a5b3f1 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 11 Jun 2013 15:29:10 +0000 Subject: [PATCH] Fix variable name style. Don't cast to and from int. This enables the compiler to see the enum and produce warnings about a switch not being fully covered. Fix one of these warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183749 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/FileSystem.h | 13 ++++++------- lib/Object/ObjectFile.cpp | 2 ++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/llvm/Support/FileSystem.h b/include/llvm/Support/FileSystem.h index 9c74554a858..f861f79e2c7 100644 --- a/include/llvm/Support/FileSystem.h +++ b/include/llvm/Support/FileSystem.h @@ -181,7 +181,7 @@ public: /// file_magic - An "enum class" enumeration of file types based on magic (the first /// N bytes of the file). struct file_magic { - enum _ { + enum Impl { unknown = 0, ///< Unrecognized file bitcode, ///< Bitcode file archive, ///< ar style archive file @@ -204,16 +204,15 @@ struct file_magic { }; bool is_object() const { - return v_ == unknown ? false : true; + return V == unknown ? false : true; } - file_magic() : v_(unknown) {} - file_magic(_ v) : v_(v) {} - explicit file_magic(int v) : v_(_(v)) {} - operator int() const {return v_;} + file_magic() : V(unknown) {} + file_magic(Impl V) : V(V) {} + operator Impl() const { return V; } private: - int v_; + Impl V; }; /// @} diff --git a/lib/Object/ObjectFile.cpp b/lib/Object/ObjectFile.cpp index b5f666f27fa..3ec29bf7e75 100644 --- a/lib/Object/ObjectFile.cpp +++ b/lib/Object/ObjectFile.cpp @@ -44,6 +44,8 @@ ObjectFile *ObjectFile::createObjectFile(MemoryBuffer *Object) { sys::fs::file_magic Type = sys::fs::identify_magic(Object->getBuffer()); switch (Type) { case sys::fs::file_magic::unknown: + case sys::fs::file_magic::bitcode: + case sys::fs::file_magic::archive: return 0; case sys::fs::file_magic::elf_relocatable: case sys::fs::file_magic::elf_executable: