aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2010-08-25When performing completions involving Objective-C method declarationsDouglas Gregor
(e.g., for message sends or method declaration/definition completions), adjust methods that come from a base class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25Plug leak. The DenseMaps of CXXRecordLayoutInfo weren't freed.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112006 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25Use a smart pointer instead of delete.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25No need to default synthesize property if implementation Fariborz Jahanian
has its own getter and setter methods declared. Fixed 8349319 (nonfragile-abi2). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112003 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25Fix 'for' loop variables' scope.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Give a slight preference to functions returning "void" when we'reDouglas Gregor
performing code completion at the statement level (rather than in an arbitrary expression). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Preserve invalidity of typeof operands in C++.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111999 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Catch the case of trying to turn '&(X::a)' into a member pointer as well.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111997 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24When trying to resolve the address of an overloaded expression,John McCall
only form pointers-to-member if the expression has the appropriate form. This avoids assertions later on on invalid code, but also allows us to properly resolve mixed-staticity overloads. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24AST writer support for having specializations of templates from earlier in ↵Sebastian Redl
the chain. This ought to finish C++ chained PCH support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111986 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24AST reader support for having specializations of templates from earlier in ↵Sebastian Redl
the chain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111985 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Frontend: Add basic -H support.Daniel Dunbar
- I didn't implement the GCC "multiple include guard" detection parts, because it doesn't seem useful or obvious. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111983 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Add some missing X86-specific asm constraint letters, and fixDale Johannesen
some bugs in setting allowsRegister on the ones there. 8348447. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111980 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24correct the -isystem option to not add the -isysroot path. Only the weirdChris Lattner
-iwithsysroot flag should do that. This fixes rdar://8345942 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111979 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Fix printf format string checking for '%lc' (which expects a wint_t or ↵Ted Kremenek
compatible argument). Fixes PR 7981. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111978 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24It is not error in c++ to take address ofFariborz Jahanian
register variable (c++03 7.1.1P3). radar 8108252. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111977 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Implement code completion for preprocessor expressions and in macroDouglas Gregor
arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111976 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Implement -iwithsysroot, an apple extension which is a close cousin of -isystem.Chris Lattner
Instead of implementing -isystem, I accidentally implemented this cousin. Next up is to implement -isystem right. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111966 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Improvements to IdempotentOperationChecker and its use of PseudoConstantAnalysisTom Care
- Added wasReferenced function to PseudoConstantAnalysis to determine if a variable was ever referenced in a function (outside of a self-assignment) - BlockDeclRefExpr referenced variables are now explicitly added to the non-constant list - Remove unnecessary ignore of implicit casts - Generalized parameter self-assign detection to detect deliberate self-assigns of variables to avoid unused variable warnings - Updated test cases with deliberate self-assignments - Fixed bug with C++ references and pseudoconstants - Added test case for C++ references and pseudoconstants git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Move some of SemaOverload's API to various places in Overload.h, and killJohn McCall
some of it off completely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111957 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Implement preprocessor code completion where a macro name is expected,Douglas Gregor
e.g., after #ifdef/#ifndef or #undef, or inside a defined <macroname> expression in a preprocessor conditional. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111954 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Introduce basic code-completion support for preprocessor directives,Douglas Gregor
e.g., after a "#" we'll suggest #if, #ifdef, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111943 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Fix a bug in nonfragile-abi2 when attempting to diagnoseFariborz Jahanian
previous use of a synthesized 'ivar' with property of same name declared as @dynamic. In this case, 'ivar' is in the inherited class and no diagnostics should be issued. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111940 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Fix enum size and align. Tested by setvar.exp in gdb testsuite.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111936 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Debug Info: Put full Clang version into the debug info, to make it easier toDaniel Dunbar
identify what version of the compiler was used to build something. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111927 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Sema doesn't need these STL headers.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111926 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Driver/Clang: Forward -Wa, and -Xassembler to clang -cc1 when using theDaniel Dunbar
integrated assembler. For now this mostly just means that we will error out if someone tries to use this mechanism to send an argument to the assembler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111921 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24When providing completions for a function or method argument thatDouglas Gregor
corresponds to a block pointer, provide the skeleton of a block literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111918 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Parse all kinds of declarations as part of a linkage-specification,Douglas Gregor
from Francois Pichet! Fixes PR7754. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111912 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24It turns out that this template is only instantiated at one type.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111908 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24More header elimination. The goal of all this is to allow Parser toJohn McCall
#include Sema.h while keeping all the AST declarations opaque. That may not be reasonably attainable, though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Remove a header dependency from Sema.h at the cost of some type safety.John McCall
If someone wants to fix this some other way.... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111905 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Struggle mightily against header inclusion in Sema.h.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111904 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24OwningExprResult -> ExprResult. This patch brought to you byJohn McCall
M-x query-replace-regexp \(Sema::\|Action::\|Parser::\|\)Owning\(Expr\|Stmt\)Result -> \2Result git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111903 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Fold ASTOwningResult back into ActionResult.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111902 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Abstract out passing around types and kill off ActionBase.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111901 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Diagnose the presence of multiple initializations of static dataDouglas Gregor
members, from Faisal Vali! Fixes PR6904. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111900 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24PR7971: Compute the correct type for an address-of expression containing anEli Friedman
UnresolvedMemberExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111899 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24State explicitly that we are intentionally not providing macro completions ↵Douglas Gregor
for declarator name completions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111898 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Improve comments.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111897 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Consistently switch on PCC_TypeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111888 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Provide code completion results for the context-sensitive Objective-CDouglas Gregor
keywords "in", "out", "inout", "byref", "bycopy", and "oneway". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111884 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Add testcase for C++ chained PCH and fix the bugs it uncovered in name lookup.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111882 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Write visible update blocks. No regressions in normal PCH functionality, but ↵Sebastian Redl
no tests for the chain yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111881 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Read the UPDATE_VISIBLE record, and add its visible decls to the lookup ↵Sebastian Redl
tables. Also, free the lookup tables when destructing the ASTReader. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111880 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Correctly initialize the visible decls pointer if there are no visible decls ↵Sebastian Redl
for a record. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111879 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Baby step towards supporting namespaces in chained PCH.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111878 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-24Move ExecuteCompilerInvocation to a new library FrontendToolPeter Collingbourne
r110903 introduced a dependency from Frontend to every library that declared an Action by introducing Action references that previously resided in the driver in the file ExecuteCompilerInvocation.cpp. This patch moves ExecuteCompilerInvocation to a new library named FrontendTool which is intended to bear these dependencies. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111873 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-23When calling a function or messaging a method marked "sentinel", addDouglas Gregor
the ", nil", ", NULL", or ", (void*)0" to the end of the code completion, since it always has to be there anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111867 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-23fix PR7953 - Windows filename are case insensitive:Chris Lattner
#pragma once wasn't working on win32 if the header file was included using a different case. I tracked down the problem to the fact that clang::FileManager was caching files using case sensitive string (UniqueFiles) on Windows. I changed FileManager to cache filename in lower case only. Doesn't affect UNIX because UNIX uses Inode to uniquely identify files. unix doesn't use this codepath. Analysis and patch by Francois Pichet! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111866 91177308-0d34-0410-b5e6-96231b3b80d8