Index: lib/CodeGen/CodeGenModule.cpp =================================================================== --- lib/CodeGen/CodeGenModule.cpp +++ lib/CodeGen/CodeGenModule.cpp @@ -477,15 +477,13 @@ } if (uint32_t PLevel = Context.getLangOpts().PICLevel) { - llvm::PICLevel::Level PL = llvm::PICLevel::Default; - switch (PLevel) { - case 0: break; - case 1: PL = llvm::PICLevel::Small; break; - case 2: PL = llvm::PICLevel::Large; break; - default: llvm_unreachable("Invalid PIC Level"); - } + assert (PLevel < 3 && "Invalid PIC Level"); + getModule().setPICLevel(static_cast(PLevel)); + } - getModule().setPICLevel(PL); + if (uint32_t PLevel = Context.getLangOpts().PIELevel) { + assert (PLevel < 3 && "Invalid PIE Level"); + getModule().setPIELevel(static_cast(PLevel)); } SimplifyPersonality();