summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove PathV1.h from CompilerInvocation.cpp.Rafael Espindola2013-06-261-8/+7
| | | | llvm-svn: 184918
* Use llvm::sys::fs::getMainExecutable.Rafael Espindola2013-06-265-15/+16
| | | | 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 forward declarations of sys::Path.Rafael Espindola2013-06-262-4/+0
| | | | llvm-svn: 184911
* 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-262-8/+8
| | | | 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-268-7/+47
| | | | | | | 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-264-1/+121
| | | | | | | | | | | | | | | | | | | | | | | | 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-264-42/+39
| | | | 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-262-1/+3
| | | | | | | | | | | | | 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-252-2/+24
| | | | | | answer until after instantiation. Fixes PR16061! llvm-svn: 184890
* Implement DR136David Majnemer2013-06-256-15/+67
| | | | | | | Friend declarations that specify a default argument must be a definition and the only declaration in the translation unit. llvm-svn: 184889
* Make this test properly test both things it's trying to test.Richard Smith2013-06-251-0/+3
| | | | llvm-svn: 184887
* Missing test update from r184884.Richard Smith2013-06-251-1/+1
| | | | llvm-svn: 184885
* PR8302: Check for shadowing a template parameter when declaring a templateRichard Smith2013-06-252-23/+32
| | | | | | template parameter. llvm-svn: 184884
* Don't try to get the layout of an invalid decl in getDeclAlign.Matt Beaumont-Gay2013-06-253-18/+30
| | | | | | | | | | | 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-254-12/+14
| | | | | | | | | | 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-252-10/+18
| | | | | | 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-253-1/+50
| | | | | | when checking for overloads in C++1y. llvm-svn: 184865
* Objective-C: Warn when IBOutletCollection propertyFariborz Jahanian2013-06-254-2/+15
| | | | | | | 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-252-2/+10
| | | | | | | | 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
* Revert r184787: "Added arm_neon intrinsic tests."Chandler Carruth2013-06-251-11624/+0
| | | | | | | This test doesn't actually pass when run with llvm-lit for me or in a bot that actually always tries to run it. llvm-svn: 184817
* [analyzer] Handle zeroing CXXConstructExprs.Jordan Rose2013-06-252-1/+123
| | | | | | | | | | | | | | | 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-252-1/+53
| | | | | | | | | | | | | | | 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-252-1/+7
| | | | | | | 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-255-10/+21
| | | | | | usage of clang as a library. llvm-svn: 184812
* Fix deserializing of class template partial specializations. Assign sequenceRichard Smith2013-06-258-21/+47
| | | | | | | | | | 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-252-7/+9
| | | | | | | 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-252-3/+6
| | | | 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
* Formatter/Objc: Add a test that checks that @import is formatted correctly.Nico Weber2013-06-251-0/+3
| | | | llvm-svn: 184796
* Delete dead code.Eli Friedman2013-06-251-17/+0
| | | | llvm-svn: 184795
* Reorder builds based by ordering.Eric Christopher2013-06-251-4/+4
| | | | llvm-svn: 184794
* Check for matching template-parameter-lists when merging template declarations.Richard Smith2013-06-244-3/+86
| | | | llvm-svn: 184791
OpenPOWER on IntegriCloud