llvm-project/lldb/source/Plugins/ExpressionParser/Clang
Sean Callanan 7736a208b8 [fix] Fixed a bug where const this would cause parser errors about $__lldb_expr.
In templated const functions, trying to run an expression would produce the
error

error: out-of-line definition of '$__lldb_expr' does not match any declaration
in 'foo' member declaration does not match because it is const qualified
error: 1 error parsing expression

which is no good.  It turned out we don't actually need to worry about "const,"
we just need to be consistent about the declaration of the expression and the
FunctionDecl we inject into the class for "this."

Also added a test case.

<rdar://problem/24985958>

llvm-svn: 268083
2016-04-29 18:09:03 +00:00
..
ASTDumper.cpp Move some functions from DWARFASTParserClang to ClangASTImporter. 2016-03-28 22:53:41 +00:00
ASTDumper.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ASTResultSynthesizer.cpp Backend support for top-level Clang epxressions 2016-03-22 21:05:51 +00:00
ASTResultSynthesizer.h Backend support for top-level Clang epxressions 2016-03-22 21:05:51 +00:00
ASTStructExtractor.cpp Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ASTStructExtractor.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
CMakeLists.txt Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ClangASTSource.cpp Fix a crasher that could happen if ClangASTSource::CompleteType() found a type whose name matched, but came from a different language. We need to verify that any types we find are clang types before trying to extra a clang::QualType and then use it. 2016-04-05 19:29:05 +00:00
ClangASTSource.h Fix an inefficiency in the handling of $__lldb_local_vars in expressions. 2016-04-28 02:17:02 +00:00
ClangDiagnostic.h The FixItList typedef should have been inside "class ClangDiagnostic". 2016-04-06 00:25:44 +00:00
ClangExpressionDeclMap.cpp [fix] Fixed a bug where const this would cause parser errors about $__lldb_expr. 2016-04-29 18:09:03 +00:00
ClangExpressionDeclMap.h Removed many JIT workarounds from IRForTarget. 2016-02-13 00:01:46 +00:00
ClangExpressionHelper.h Backend support for top-level Clang epxressions 2016-03-22 21:05:51 +00:00
ClangExpressionParser.cpp Expressions can run without a process. 2016-04-21 01:46:11 +00:00
ClangExpressionParser.h Use Clang's FixItHints to correct expressions with "trivial" mistakes (e.g. "." for "->".) 2016-03-25 01:57:14 +00:00
ClangExpressionVariable.cpp Eliminated redundant "constructors" for ClangExpressionVariable. 2015-10-01 23:07:06 +00:00
ClangExpressionVariable.h Eliminated redundant "constructors" for ClangExpressionVariable. 2015-10-01 23:07:06 +00:00
ClangFunctionCaller.cpp Compilation can end up calling functions (e.g. to resolve indirect functions) so I added 2016-03-21 19:21:13 +00:00
ClangFunctionCaller.h Compilation can end up calling functions (e.g. to resolve indirect functions) so I added 2016-03-21 19:21:13 +00:00
ClangModulesDeclVendor.cpp Fix all of the unannotated switch cases to annotate the fall through or do the right thing and break. 2016-02-26 01:20:20 +00:00
ClangModulesDeclVendor.h Moved more Clang-specific parts of the expression parser into the Clang plugin. 2015-09-25 20:35:58 +00:00
ClangPersistentVariables.cpp Handle any persistent Decl in the Clang expression parser, not just types. 2016-03-19 00:51:43 +00:00
ClangPersistentVariables.h Removed an override of LookupSymbol that mistakenly disabled it for Clang. 2016-03-28 21:07:53 +00:00
ClangUserExpression.cpp [fix] Fixed a bug where const this would cause parser errors about $__lldb_expr. 2016-04-29 18:09:03 +00:00
ClangUserExpression.h Backend support for top-level Clang epxressions 2016-03-22 21:05:51 +00:00
ClangUtilityFunction.cpp Add a DiagnosticManager replace error streams in the expression parser. 2016-03-19 00:03:59 +00:00
ClangUtilityFunction.h Add a DiagnosticManager replace error streams in the expression parser. 2016-03-19 00:03:59 +00:00
IRForTarget.cpp Fix usage of APInt.getRawData for big-endian systems 2016-04-15 09:55:52 +00:00
IRForTarget.h Backend support for top-level Clang epxressions 2016-03-22 21:05:51 +00:00