diff --git a/utils/TableGen/CMakeLists.txt b/utils/TableGen/CMakeLists.txt index 4d71259a831..047d731de6b 100644 --- a/utils/TableGen/CMakeLists.txt +++ b/utils/TableGen/CMakeLists.txt @@ -52,6 +52,9 @@ add_llvm_utility(tblgen target_link_libraries(tblgen LLVMSupport) if( MINGW ) target_link_libraries(tblgen imagehlp psapi) + if(CMAKE_SIZEOF_VOID_P MATCHES "8") + set_target_properties(tblgen PROPERTIES LINK_FLAGS -Wl,--stack,16777216) + endif(CMAKE_SIZEOF_VOID_P MATCHES "8") endif( MINGW ) if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD AND NOT BEOS ) target_link_libraries(tblgen pthread) diff --git a/utils/TableGen/ClangAttrEmitter.cpp b/utils/TableGen/ClangAttrEmitter.cpp index 26bd8786a49..9ad0603bdbf 100644 --- a/utils/TableGen/ClangAttrEmitter.cpp +++ b/utils/TableGen/ClangAttrEmitter.cpp @@ -42,11 +42,11 @@ getValueAsListOfStrings(Record &R, StringRef FieldName) { std::string ReadPCHRecord(StringRef type) { return StringSwitch(type) - .EndsWith("Decl *", "cast_or_null<" + std::string(type, 0, type.size()-1) + - ">(GetDecl(Record[Idx++]))") - .Case("QualType", "GetType(Record[Idx++])") + .EndsWith("Decl *", "GetLocalDeclAs<" + + std::string(type, 0, type.size()-1) + ">(F, Record[Idx++])") + .Case("QualType", "getLocalType(F, Record[Idx++])") .Case("Expr *", "ReadSubExpr()") - .Case("IdentifierInfo *", "GetIdentifierInfo(Record, Idx)") + .Case("IdentifierInfo *", "GetIdentifierInfo(F, Record, Idx)") .Default("Record[Idx++]"); }