summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
Commit message (Collapse)AuthorAgeFilesLines
* Work-around wchar_t and __pragma problem in VC headersJohn Thompson2009-10-161-2/+11
| | | | llvm-svn: 84227
* Remove the ConstantArrayType subtypes. This information is preserved in theJohn McCall2009-10-162-41/+0
| | | | | | | | | | TypeLoc records for declarations; it should not be necessary to represent it directly in the type system. Please complain if you were using these classes and feel you can't replicate previous functionality using the TypeLoc API. llvm-svn: 84222
* Make sure temporary files get unlinked.Steve Naroff2009-10-151-2/+9
| | | | llvm-svn: 84208
* AuroraUX toolchain fixes.Edward O'Callaghan2009-10-151-0/+2
| | | | llvm-svn: 84176
* Better living through metaprogramming. Create a base class which abstractsJohn McCall2009-10-152-2/+8
| | | | | | | | | | | most of the unsafe boilerplate out of TypeLoc. Create a QualifiedLoc class to represent the idea that we *might* start representing source locations of qualifiers. Dealing with qualifiers explicitly like this also lets us efficiently ignore them in all the concrete cases. This should make it obvious and easy to add new TypeLoc subclasses. llvm-svn: 84168
* Add support for having different c++ search dirs with -m32 and -m64. So farRafael Espindola2009-10-141-24/+69
| | | | | | this is only used in darwin10, 64 bit ubuntu 9.10 and 64 bit openSUSE 11.1. llvm-svn: 84115
* Fixes pth.c on Windows.John Thompson2009-10-131-6/+5
| | | | llvm-svn: 84007
* Fixup windows include paths. Patch by John Thompson.Mike Stump2009-10-122-102/+119
| | | | llvm-svn: 83898
* Typo in AddGnuCPlusPlusIncludePaths.Edward O'Callaghan2009-10-121-1/+1
| | | | llvm-svn: 83847
* Efficiency refinements.Mike Stump2009-10-091-5/+5
| | | | llvm-svn: 83666
* Push all the way out to 80.Mike Stump2009-10-091-1/+1
| | | | llvm-svn: 83664
* Passing const Triple& is sufficient for AddDefaultSystemIncludePaths()Axel Naumann2009-10-091-1/+1
| | | | llvm-svn: 83663
* Add a refactor pointer...Mike Stump2009-10-081-0/+2
| | | | llvm-svn: 83599
* Set up include paths for VC++ and Cygwin headers, along with theMike Stump2009-10-081-80/+249
| | | | | | | existing MinGW headers, plus the newer 4.4.0 version. Patch by John Thompson. llvm-svn: 83594
* Installation of Clang libraries and headers, from Axel Naumann!Douglas Gregor2009-10-081-3/+0
| | | | llvm-svn: 83582
* Remove use of std::ofstream in HTMLDiagnostics.cpp.Ted Kremenek2009-10-081-20/+17
| | | | llvm-svn: 83560
* Refactor the c++ include path a bit.Rafael Espindola2009-10-061-68/+33
| | | | llvm-svn: 83357
* Encode the Clang branch and Subversion revision into a PCH file, andDouglas Gregor2009-10-052-4/+32
| | | | | | | assume that PCH files from different Clang revisions are not compatible. Addresses <rdar://problem/7266572>. llvm-svn: 83323
* Move the "needs exception support" logic to clang. This also fixesRafael Espindola2009-10-011-2/+3
| | | | | | | -fno-exceptions in C++ code. We used to always define __EXCEPTIONS in C++. llvm-svn: 83199
* Pull TypeLocVisitor into its own header file.Argyrios Kyrtzidis2009-09-292-2/+2
| | | | llvm-svn: 83112
* Introduce ObjCInterfaceLoc which provides type source information for ObjC ↵Argyrios Kyrtzidis2009-09-292-0/+6
| | | | | | interfaces. llvm-svn: 83097
* Introduce ObjCProtocolListLoc for keeping source location information for ↵Argyrios Kyrtzidis2009-09-292-0/+12
| | | | | | protocol references. llvm-svn: 83094
* Introduce ObjCProtocolListType type subclass.Argyrios Kyrtzidis2009-09-292-0/+20
| | | | | | | | | This is used only for keeping detailed type source information for protocol references, it should not participate in the semantics of the type system. Its protocol list is not canonicalized. llvm-svn: 83093
* Pass the formatted_raw_ostream to createPrintModulePass andDan Gohman2009-09-261-2/+2
| | | | | | | | | createBitcodeWriterPass instead of the underlying raw_ostream. This avoids trouble with formatted_raw_ostream's behavior of setting the underlying stream to be unbuffered, which resulted in clang -emit-llvm -S using unbuffered output. llvm-svn: 82857
* Hoist some branches in AnalysisManager::HandleTranslationUnit so weTed Kremenek2009-09-261-16/+19
| | | | | | | | avoid scanning for an "entry point" FunctionDecl if we (a) have no translation unit actions and (b) no entry point function has been specified. llvm-svn: 82846
* Don't try to dump invalid decls or forward decls.Anders Carlsson2009-09-261-0/+6
| | | | llvm-svn: 82827
* Who would have thought that empty classes were so tricky? Handle cases where ↵Anders Carlsson2009-09-251-0/+3
| | | | | | an empty virtual base class needs to be moved aside because it conflicts with the first field. llvm-svn: 82746
* Improve the record layout dumper.Anders Carlsson2009-09-241-2/+87
| | | | llvm-svn: 82733
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-244-49/+59
| | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705
* Add a -dump-record-layouts argument to clang-cc.Anders Carlsson2009-09-241-0/+50
| | | | llvm-svn: 82703
* Update PCH serialization of FunctionDecl flags.Daniel Dunbar2009-09-222-0/+6
| | | | llvm-svn: 82526
* Allow PCH files to be read from stdin.Daniel Dunbar2009-09-221-1/+6
| | | | llvm-svn: 82525
* Add StringLiteral::getString -> StringRef.Daniel Dunbar2009-09-221-2/+2
| | | | llvm-svn: 82514
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-214-16/+16
| | | | | | | | | | | Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. llvm-svn: 82501
* Add missing PCH support for -fstack-protector.Daniel Dunbar2009-09-212-1/+7
| | | | llvm-svn: 82435
* Change ASTUnit to only initialize the predefines buffer to the suggested ↵Daniel Dunbar2009-09-211-1/+1
| | | | | | | | predefines. - It isn't really clear what to do with the preprocessor here, but this is more sensible. llvm-svn: 82431
* Change ASTUnit to take the Diagnostic as an argument, the client should have ↵Daniel Dunbar2009-09-211-15/+7
| | | | | | control of this. llvm-svn: 82430
* Fix regression introduced by r82198 that caused functions/methods with ↵Ted Kremenek2009-09-181-1/+6
| | | | | | invalid CFGs to get analyzed. llvm-svn: 82297
* Introduce caching of diagnostics in BugReporter. This provides extraTed Kremenek2009-09-181-15/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | pruning of diagnostics that may be emitted multiple times. This is accomplished by adding FoldingSet profiling support to PathDiagnostic, and then having BugReporter record what diagnostics have been issued. This was motived to a serious bug introduced by moving the 'divide-by-zero' checking outside of GRExprEngine into a separate 'Checker' class. When analyzing code using the '-fobjc-gc' option, a given function would be analyzed twice, but the second time various "internal checks" would be disabled to avoid emitting multiple diagnostics (e.g., "null dereference") for the same issue. The problem is that such checks also effect path pruning and don't just emit diagnostics. This resulted in an assertion failure involving a real divide-by-zero in some analyzed code where we would get an assertion failure in APInt because the 'DivZero' check was disabled and didn't prune the logic that resulted in the divide-by-zero in the analyzer. The implemented solution is somewhat of a hack, and may not perform extremely well. This will need to be cleaned up over time. As a regression test, 'misc-ps.m' has been modified so that its tests are run using -fobjc-gc to test this diagnostic pruning behavior. llvm-svn: 82198
* PCH: When writing PCH files, tweak the predicate function deciding whether ↵Daniel Dunbar2009-09-171-3/+68
| | | | | | | | to mark a decl as "external" to be closer to reality. This still isn't perfect, but I believe it is conservatively accurate at marking decls which IRgen needs to see, while still keeping the "deserialization footprint" on Cocoa.h. llvm-svn: 82112
* PCH: When deserializing an explicit "external definition", don't pass it to ↵Daniel Dunbar2009-09-172-4/+5
| | | | | | | | HandleTopLevelDecl -- this is already being done inside the reader. This is something of a hack, since whether the reader actually did this depends on the "isConsumerInterestedIn" predicate. I think we need to rework how this works, but I need to discuss with Doug. llvm-svn: 82111
* Fix spelling.Mike Stump2009-09-161-1/+1
| | | | llvm-svn: 82078
* Rework the way we determine whether an externally visible symbol isDouglas Gregor2009-09-132-2/+0
| | | | | | | | generated for an inline function definition, taking into account C99 and GNU inline/extern inline semantics. This solution is simpler, cleaner, and fixes PR4536. llvm-svn: 81670
* Eliminate FunctionDecl::getBodyIfAvailableDouglas Gregor2009-09-121-2/+2
| | | | llvm-svn: 81588
* Update prototype.Daniel Dunbar2009-09-111-3/+3
| | | | llvm-svn: 81510
* Start to add a new transfer function that inlines callee. To be continued.Zhongxing Xu2009-09-111-0/+22
| | | | llvm-svn: 81501
* Non fragile ABI for GNU runtime. Patch bu David Chisnall.Fariborz Jahanian2009-09-101-3/+0
| | | | llvm-svn: 81462
* Make AnalysisManager stateless. Now other analyzer components only depends onZhongxing Xu2009-09-101-46/+55
| | | | | | local node information. llvm-svn: 81433
* Improve handling of initialization by constructor, by ensuring thatDouglas Gregor2009-09-092-0/+27
| | | | | | | | such initializations properly convert constructor arguments and fill in default arguments where necessary. This also makes the ownership model more clear. llvm-svn: 81394
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-0933-1944/+1862
| | | | llvm-svn: 81346
OpenPOWER on IntegriCloud