summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* We only create one file, no need to delete a directory.Rafael Espindola2013-06-261-8/+7
| | | | llvm-svn: 184949
* Remove unused include.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184936
* Remove unused include.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184922
* Remove more uses of llvm::sys::Path.Rafael Espindola2013-06-261-26/+13
| | | | llvm-svn: 184921
* Remove PathV1.h from CompilerInvocation.cpp.Rafael Espindola2013-06-261-8/+7
| | | | llvm-svn: 184918
* Use llvm::sys::fs::getMainExecutable.Rafael Espindola2013-06-262-2/+3
| | | | llvm-svn: 184915
* Remove PathV1.h from CompilerInstance.cpp.Rafael Espindola2013-06-261-8/+6
| | | | llvm-svn: 184913
* Don't use PathV1.h in ASTUnit.cpp.Rafael Espindola2013-06-261-5/+3
| | | | llvm-svn: 184912
* Remove the last use of PathWithStatus.Rafael Espindola2013-06-261-4/+4
| | | | llvm-svn: 184909
* Use llvm::sys::fs::unique_file.Rafael Espindola2013-06-261-26/+7
| | | | llvm-svn: 184908
* Remove some uses of llvm::sys::Path.Rafael Espindola2013-06-261-6/+6
| | | | llvm-svn: 184907
* Remove PathV1.h use from WindowsToolChain.cpp.Rafael Espindola2013-06-261-3/+2
| | | | llvm-svn: 184906
* Fix a comment.Nico Weber2013-06-261-1/+1
| | | | llvm-svn: 184905
* Lazily deserialize the "first' friend declaration when deserializing a classRichard Smith2013-06-264-3/+8
| | | | | | | declaration. This PCH a little lazier, and breaks a deserialization cycle that causes crashes with modules enabled. llvm-svn: 184904
* Fix PCH bug with member templates of local classes in nontemplate functions. Faisal Vali2013-06-262-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | As noted by Richard in the post: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130624/082605.html, the following code should not add an entry into PendingLocalImplicitInstantiations, since local instantiations should only occur within the context of other instantiations: int foo(double y) { struct Lambda { template<class T> T operator()(T t) const { return t; }; } lambda; return lambda(y); } Hence the attached code does the following: 1) In MarkFunctionReferenced, check if ActiveInstantiations.size() is non-zero before adding to PendingLocalImplicitInstantiations. 2) In InstantiateFunctionDefinition, we swap out/in PendingLocalImplicitInstantiations so that only those pending local instantiations that are added during the instantiation of the current function are instantiated recursively. llvm-svn: 184903
* Remove PathV1.h usage from ToolChains.cpp.Rafael Espindola2013-06-261-34/+31
| | | | llvm-svn: 184902
* Run clang-format on lib/Format code after r184894. No other changes.Nico Weber2013-06-263-24/+23
| | | | llvm-svn: 184896
* Formatter: Don't put a space after parameter-naming block comments.Nico Weber2013-06-261-0/+2
| | | | | | | | | | | | | Before: f(a, b, /*doFoo=*/ false); Now: f(a, b, /*doFoo=*/false); This style is a lot more common: $ ack -H '=\*\/\w' lib | wc -l 1281 $ ack -H '=\*\/ \w' lib | wc -l 70 llvm-svn: 184894
* Don't check for triviality on fields of templated records. We can't know theNick Lewycky2013-06-251-2/+2
| | | | | | answer until after instantiation. Fixes PR16061! llvm-svn: 184890
* Implement DR136David Majnemer2013-06-251-0/+34
| | | | | | | Friend declarations that specify a default argument must be a definition and the only declaration in the translation unit. llvm-svn: 184889
* PR8302: Check for shadowing a template parameter when declaring a templateRichard Smith2013-06-251-23/+19
| | | | | | template parameter. llvm-svn: 184884
* Don't try to get the layout of an invalid decl in getDeclAlign.Matt Beaumont-Gay2013-06-252-17/+21
| | | | | | | | | | | When the decl that we're getting alignment for is a FieldDecl, and the field's parent record is invalid, skip the actual field alignment calculation (and return 1-byte alignment in the general case). Also, assert in in getASTRecordLayout that the decl is valid. This was inspired by PR16292; see also r184581 and r184751. llvm-svn: 184883
* Implement DR21David Majnemer2013-06-251-7/+9
| | | | | | | | | | A default template-argument shall not be specified in a friend template declaration. Interestingly, we properly handled default template arguments on friend class members but not on just friend classes. llvm-svn: 184882
* Fix null pointer dereference if we redeclare an unprototyped function. Patch byRichard Smith2013-06-251-9/+11
| | | | | | WenHan Gu! llvm-svn: 184875
* Fix a comment.Nico Weber2013-06-251-1/+1
| | | | llvm-svn: 184873
* More of N3652: don't add an implicit 'const' to 'constexpr' member functions ↵Richard Smith2013-06-251-1/+2
| | | | | | when checking for overloads in C++1y. llvm-svn: 184865
* Objective-C: Warn when IBOutletCollection propertyFariborz Jahanian2013-06-251-0/+2
| | | | | | | is declared to have 'assign' attribute. // rdar://14212998 llvm-svn: 184863
* Remove misplaced commentEli Bendersky2013-06-251-1/+0
| | | | llvm-svn: 184862
* In tooling, reenable freeing of datastructures in codegen, just as we do forNick Lewycky2013-06-251-0/+1
| | | | | | the frontend. We don't want to respect the -disable-free flag here. llvm-svn: 184861
* Use simpler version of llvm::sys::fs::exists.Rafael Espindola2013-06-251-14/+9
| | | | llvm-svn: 184857
* Don't use PathV1.h in Tools.cpp.Rafael Espindola2013-06-251-11/+7
| | | | llvm-svn: 184856
* Use the simpler version of llvm::sys::fs::exists.Rafael Espindola2013-06-251-8/+5
| | | | llvm-svn: 184855
* Use the new llvm::sys::EnvPathSeparator.Rafael Espindola2013-06-251-1/+2
| | | | llvm-svn: 184851
* Fix a couple of PPC predefined macros that I spotted while driving byChandler Carruth2013-06-251-2/+2
| | | | | | | | this code. These aren't technically standard predefines for the platform but apparantly lots of folks use them as they show up within LLVM's own codebase. ;] This may even fix some self host issues w/ the JIT!!! llvm-svn: 184830
* Add r184803 back now that the bug in unique_file has been fixed.Rafael Espindola2013-06-251-21/+6
| | | | | | | | Original message: Use the new PathV2 instead of implementing the logic in clang. llvm-svn: 184825
* Revert "Use the new PathV2 instead of implementing the logic in clang."Rafael Espindola2013-06-251-6/+21
| | | | | | This reverts commit 184803 while I debug the failures on the bots. llvm-svn: 184818
* [analyzer] Handle zeroing CXXConstructExprs.Jordan Rose2013-06-251-1/+32
| | | | | | | | | | | | | | | Re-apply r184511, reverted in r184561, with the trivial default constructor fast path removed -- it turned out not to be necessary here. Certain expressions can cause a constructor invocation to zero-initialize its object even if the constructor itself does no initialization. The analyzer now handles that before evaluating the call to the constructor, using the same "default binding" mechanism that calloc() uses, rather than simply ignoring the zero-initialization flag. <rdar://problem/14212563> llvm-svn: 184815
* [analyzer] Don't initialize virtual base classes more than once.Jordan Rose2013-06-251-1/+19
| | | | | | | | | | | | | | | In order to make sure virtual base classes are always initialized once, the AST contains initializers for the base class in /all/ of its descendents, not just the immediate descendents. However, at runtime, the most-derived object is responsible for initializing all the virtual base classes; all the other initializers will be ignored. The analyzer now checks to see if it's being called from another base constructor, and if so does not perform virtual base initialization. <rdar://problem/14236851> llvm-svn: 184814
* Fix regression from r184810.Eli Friedman2013-06-251-1/+3
| | | | | | | Specifically, CallExpr::getCalleeDecl() can return null, so make sure to handle that correctly. llvm-svn: 184813
* Make -vectorize-... proper cc1 flags instead of abusing -backend-option. FixesNick Lewycky2013-06-253-10/+12
| | | | | | usage of clang as a library. llvm-svn: 184812
* Fix deserializing of class template partial specializations. Assign sequenceRichard Smith2013-06-252-7/+6
| | | | | | | | | | numbers as we deserialize class template partial specializations. We can't assume that the old sequence numbers will work. The sequence numbers are still deterministic, but are now a lot less predictable for class template partial specializations in modules/PCH. llvm-svn: 184811
* Fix noexcept for delete expressions.Eli Friedman2013-06-251-6/+5
| | | | | | | Using "delete" on a pointer to an incomplete type can't throw. While I'm here, clean up the signature of the canCalleeThrow() helper. llvm-svn: 184810
* Remove PathV1.h from Driver.cpp.Rafael Espindola2013-06-251-2/+1
| | | | llvm-svn: 184807
* Formatter/ObjC: Correctly format casts in objc message send expressions.Nico Weber2013-06-251-3/+2
| | | | llvm-svn: 184804
* Use the new PathV2 instead of implementing the logic in clang.Rafael Espindola2013-06-251-20/+6
| | | | llvm-svn: 184803
* Delete a couple dead checks.Eli Friedman2013-06-251-82/+76
| | | | | | | | Use castAs<> where appropriate. Don't check conditionals which are always true. Delete a bit of dead code. Reindent a bunch of code which is no longer guarded by an if statement. llvm-svn: 184801
* Delete dead code.Eli Friedman2013-06-251-17/+0
| | | | llvm-svn: 184795
* Check for matching template-parameter-lists when merging template declarations.Richard Smith2013-06-241-3/+52
| | | | llvm-svn: 184791
* Tweak -Wdeprecated-objc-pointer-introspection to have a subgroup for results ↵Ted Kremenek2013-06-241-1/+14
| | | | | | | | | | | | | of using -performSelectorXXX. -performSelector: and friends return a value that is boxed as an Objective-C pointer. Sometimes it is an Objective-C pointer, sometimes it isn't. Some clients may wish to silence this warning based on calling this method. Fixes <rdar://problem/14147304> llvm-svn: 184789
* [libclang/codecompletion] Make sure the top-level decl hash takes into ↵Argyrios Kyrtzidis2013-06-241-1/+9
| | | | | | | | | | | account ImportDecls. The top-level hash is used to determine if we need to update the global code-completion results. ImportDecls did not affect the hash so a newly introduced ImportDecl would not trigger an update of the global results. rdar://14202797 llvm-svn: 184782
OpenPOWER on IntegriCloud