diff options
author | Matthias Braun <matze@braunis.de> | 2017-05-20 00:38:27 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2017-05-20 00:38:27 +0000 |
commit | 421b63dd70b2576ddabef378bdf2d6bbbdd0e9fb (patch) | |
tree | 112c6f76d7995f904b7e4731e015c1621761f8dc /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 888965c8a23f9e339f094b3fda1eb8491ede9d62 (diff) | |
download | bcm5719-llvm-421b63dd70b2576ddabef378bdf2d6bbbdd0e9fb.tar.gz bcm5719-llvm-421b63dd70b2576ddabef378bdf2d6bbbdd0e9fb.zip |
Revert "CodeGenModule: Always output wchar_size, check LLVM assumptions."
Let's revert this for now (and with it the assert()) to get the bots
back to green until I have LLVM synced up properly.
This reverts commit r303463.
llvm-svn: 303474
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 9d0f802ece0..dee4351a51e 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -45,7 +45,6 @@ #include "clang/Frontend/CodeGenOptions.h" #include "clang/Sema/SemaDiagnostic.h" #include "llvm/ADT/Triple.h" -#include "llvm/Analysis/TargetLibraryInfo.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/CallingConv.h" #include "llvm/IR/DataLayout.h" @@ -466,24 +465,18 @@ void CodeGenModule::Release() { getModule().addModuleFlag(llvm::Module::Warning, "Debug Info Version", llvm::DEBUG_METADATA_VERSION); - // Width of wchar_t in bytes - uint64_t WCharWidth = - Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); - assert(LangOpts.ShortWChar || - llvm::TargetLibraryInfoImpl::getTargetWCharSize(Target.getTriple()) == - Target.getWCharWidth() / 8 && - "LLVM wchar_t size out of sync"); - // We need to record the widths of enums and wchar_t, so that we can generate - // the correct build attributes in the ARM backend. wchar_size is also used by - // TargetLibraryInfo. - getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); - + // the correct build attributes in the ARM backend. llvm::Triple::ArchType Arch = Context.getTargetInfo().getTriple().getArch(); if ( Arch == llvm::Triple::arm || Arch == llvm::Triple::armeb || Arch == llvm::Triple::thumb || Arch == llvm::Triple::thumbeb) { + // Width of wchar_t in bytes + uint64_t WCharWidth = + Context.getTypeSizeInChars(Context.getWideCharType()).getQuantity(); + getModule().addModuleFlag(llvm::Module::Error, "wchar_size", WCharWidth); + // The minimum width of an enum in bytes uint64_t EnumWidth = Context.getLangOpts().ShortEnums ? 1 : 4; getModule().addModuleFlag(llvm::Module::Error, "min_enum_size", EnumWidth); |