Pavel, thank you for reverting this. I have no idea how I was able to run the testsuite with this code still in there – I’ll
Sean > On Apr 28, 2016, at 1:16 AM, Pavel Labath via lldb-commits > <lldb-commits@lists.llvm.org> wrote: > > Author: labath > Date: Thu Apr 28 03:16:19 2016 > New Revision: 267861 > > URL: http://llvm.org/viewvc/llvm-project?rev=267861&view=rev > Log: > Revert "Fixed a bug where const this would cause parser errors about > $__lldb_expr." > > This reverts commit r267833 as it breaks the build. It looks like some work > in progress got > committed together with the actual fix, but I'm not sure which one is which, > so I'll revert the > whole patch and let author resumbit it after fixing the build error. > > Removed: > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile > > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/TestConstThis.py > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/main.cpp > Modified: > lldb/trunk/source/Core/Scalar.cpp > lldb/trunk/source/Expression/ExpressionSourceCode.cpp > lldb/trunk/source/Expression/LLVMUserExpression.cpp > lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp > lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp > > Removed: > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile?rev=267860&view=auto > ============================================================================== > --- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile > (original) > +++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile > (removed) > @@ -1,8 +0,0 @@ > -LEVEL = ../../../make > -CXX_SOURCES := main.cpp > -CXXFLAGS += -std=c++11 > -include $(LEVEL)/Makefile.rules > - > -cleanup: > - rm -f Makefile *.d > - > > Removed: > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/TestConstThis.py > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/TestConstThis.py?rev=267860&view=auto > ============================================================================== > --- > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/TestConstThis.py > (original) > +++ > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/TestConstThis.py > (removed) > @@ -1,4 +0,0 @@ > -from lldbsuite.test import lldbinline > -from lldbsuite.test import decorators > - > -lldbinline.MakeInlineTest(__file__, globals(), > [decorators.expectedFailureAll(oslist=["windows"], > bugnumber="llvm.org/pr24764")] ) > > Removed: > lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/main.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/main.cpp?rev=267860&view=auto > ============================================================================== > --- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/main.cpp > (original) > +++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/main.cpp > (removed) > @@ -1,23 +0,0 @@ > -//===-- main.cpp ------------------------------------------------*- C++ > -*-===// > -// > -// The LLVM Compiler Infrastructure > -// > -// This file is distributed under the University of Illinois Open Source > -// License. See LICENSE.TXT for details. > -// > -//===----------------------------------------------------------------------===// > - > -#include <stdio.h> > - > -class foo { > -public: > - template <class T> T func(T x) const { > - return x+2; //% self.expect("expr 2+3", DATA_TYPES_DISPLAYED_CORRECTLY, > substrs = ["5"]) > - } > -}; > - > -int i; > - > -int main() { > - return foo().func(i); > -} > > Modified: lldb/trunk/source/Core/Scalar.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Scalar.cpp?rev=267861&r1=267860&r2=267861&view=diff > ============================================================================== > --- lldb/trunk/source/Core/Scalar.cpp (original) > +++ lldb/trunk/source/Core/Scalar.cpp Thu Apr 28 03:16:19 2016 > @@ -78,74 +78,6 @@ PromoteToMaxType > return Scalar::e_void; > } > > -llvm::APInt > -Scalar::APIntWithTypeAndValue(Scalar::Type type, uint64_t raw_value) > -{ > - // APInt(unsigned numBits, uint64_t val, bool isSigned = false) > - unsigned num_bits = 1; > - bool is_signed = false; > - > - switch (type) > - { > - case Scalar::e_void: > - break; > - case Scalar::e_sint: > - is_signed = true; > - num_bits = sizeof(sint_t) * 8; > - break; > - case Scalar::e_uint: > - is_signed = false; > - num_bits = sizeof(uint_t) * 8; > - break; > - case Scalar::e_slong: > - is_signed = true; > - num_bits = sizeof(slong_t) * 8; > - break; > - case Scalar::e_ulong: > - is_signed = false; > - num_bits = sizeof(ulong_t) * 8; > - break; > - case Scalar::e_slonglong: > - is_signed = true; > - num_bits = sizeof(slonglong_t) * 8; > - break; > - case Scalar::e_ulonglong: > - is_signed = false; > - num_bits = sizeof(ulonglong_t) * 8; > - break; > - case Scalar::e_sint128: > - is_signed = true; > - num_bits = 128; > - break; > - case Scalar::e_uint128: > - is_signed = false; > - num_bits = 128; > - break; > - case Scalar::e_sint256: > - is_signed = true; > - num_bits = 256; > - break; > - case Scalar::e_uint256: > - is_signed = false; > - num_bits = 256; > - break; > - case Scalar::e_float: > - is_signed = false; > - num_bits = sizeof(float_t) * 8; > - break; > - case Scalar::e_double: > - is_signed = false; > - num_bits = sizeof(double_t) * 8; > - break; > - case Scalar::e_long_double: > - is_signed = false; > - num_bits = sizeof(long_double_t) * 8; > - break; > - } > - > - return llvm::APInt(num_bits, raw_value, is_signed); > -} > - > Scalar::Scalar() : > m_type(e_void), > m_float((float)0) > > Modified: lldb/trunk/source/Expression/ExpressionSourceCode.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ExpressionSourceCode.cpp?rev=267861&r1=267860&r2=267861&view=diff > ============================================================================== > --- lldb/trunk/source/Expression/ExpressionSourceCode.cpp (original) > +++ lldb/trunk/source/Expression/ExpressionSourceCode.cpp Thu Apr 28 03:16:19 > 2016 > @@ -195,7 +195,7 @@ AddLocalVariableDecls(const lldb::Variab > } > } > > -bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType > wrapping_language, bool static_method, ExecutionContext &exe_ctx) const > +bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType > wrapping_language, bool const_object, bool static_method, ExecutionContext > &exe_ctx) const > { > const char *target_specific_defines = "typedef signed char BOOL;\n"; > std::string module_macros; > @@ -337,12 +337,13 @@ bool ExpressionSourceCode::GetText (std: > break; > case lldb::eLanguageTypeC_plus_plus: > wrap_stream.Printf("void \n" > - "$__lldb_class::%s(void *$__lldb_arg) \n" > + "$__lldb_class::%s(void *$__lldb_arg) %s\n" > "{ \n" > " %s; \n" > "%s" > "} \n", > m_name.c_str(), > + (const_object ? "const" : ""), > lldb_local_var_decls.GetData(), > tagged_body.c_str()); > break; > > Modified: lldb/trunk/source/Expression/LLVMUserExpression.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/LLVMUserExpression.cpp?rev=267861&r1=267860&r2=267861&view=diff > ============================================================================== > --- lldb/trunk/source/Expression/LLVMUserExpression.cpp (original) > +++ lldb/trunk/source/Expression/LLVMUserExpression.cpp Thu Apr 28 03:16:19 > 2016 > @@ -59,6 +59,7 @@ LLVMUserExpression::LLVMUserExpression(E > m_in_objectivec_method(false), > m_in_static_method(false), > m_needs_object_ptr(false), > + m_const_object(false), > m_target(NULL), > m_can_interpret(false), > m_materialized_address(LLDB_INVALID_ADDRESS) > > Modified: > lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp?rev=267861&r1=267860&r2=267861&view=diff > ============================================================================== > --- > lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp > (original) > +++ > lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp > Thu Apr 28 03:16:19 2016 > @@ -2213,10 +2213,10 @@ ClangExpressionDeclMap::AddThisType(Name > { > CompilerType copied_clang_type = GuardedCopyType(ut); > > - Log *log(lldb_private::GetLogIfAllCategoriesSet > (LIBLLDB_LOG_EXPRESSIONS)); > - > if (!copied_clang_type) > { > + Log *log(lldb_private::GetLogIfAllCategoriesSet > (LIBLLDB_LOG_EXPRESSIONS)); > + > if (log) > log->Printf("ClangExpressionDeclMap::AddThisType - Couldn't > import the type"); > > @@ -2233,7 +2233,7 @@ ClangExpressionDeclMap::AddThisType(Name > > &void_ptr_clang_type, > 1, > false, > - 0); > + > copied_clang_type.GetTypeQualifiers()); > > const bool is_virtual = false; > const bool is_static = false; > @@ -2242,7 +2242,7 @@ ClangExpressionDeclMap::AddThisType(Name > const bool is_attr_used = true; > const bool is_artificial = false; > > - CXXMethodDecl *method_decl = > ClangASTContext::GetASTContext(m_ast_context)-> > + ClangASTContext::GetASTContext(m_ast_context)-> > AddMethodToCXXRecordType (copied_clang_type.GetOpaqueQualType(), > "$__lldb_expr", > method_type, > @@ -2253,16 +2253,6 @@ ClangExpressionDeclMap::AddThisType(Name > is_explicit, > is_attr_used, > is_artificial); > - > - if (log) > - { > - ASTDumper method_ast_dumper((clang::Decl*)method_decl); > - ASTDumper type_ast_dumper(copied_clang_type); > - > - log->Printf(" CEDM::AddThisType Added function $__lldb_expr > (description %s) for this type %s", > - method_ast_dumper.GetCString(), > - type_ast_dumper.GetCString()); > - } > } > > if (!copied_clang_type.IsValid()) > > Modified: > lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp > URL: > http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp?rev=267861&r1=267860&r2=267861&view=diff > ============================================================================== > --- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp > (original) > +++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp > Thu Apr 28 03:16:19 2016 > @@ -417,7 +417,7 @@ ClangUserExpression::Parse(DiagnosticMan > else > lang_type = lldb::eLanguageTypeC; > > - if (!source_code->GetText(m_transformed_text, lang_type, > m_in_static_method, exe_ctx)) > + if (!source_code->GetText(m_transformed_text, lang_type, > m_const_object, m_in_static_method, exe_ctx)) > { > diagnostic_manager.PutCString(eDiagnosticSeverityError, "couldn't > construct expression body"); > return false; > > > _______________________________________________ > lldb-commits mailing list > lldb-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits