aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-03-16Perform access control for the implicit calls to base and member destructorsJohn McCall
that occur in constructors (on the unwind path). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98681 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16at least give the Apple ABI a name that reflects Apple in prep for other ABI ↵Blaine Garst
specs that might come along git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98678 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16rev existing doc to account for recent ABI changesBlaine Garst
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98676 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Update get*LineNumber() and get*ColumnNumber() functions to pass theDouglas Gregor
Invalid bit through; there are no safety-critical callers of these functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98674 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Audit all callers of SourceManager::getCharacterData(); update some ofDouglas Gregor
them to recover more gracefully on failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98672 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Audit all callers of SourceManager::getBufferData(); fix the one thatDouglas Gregor
needs better error recovery. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98667 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Audit all getBuffer() callers (for both the FullSourceLoc andDouglas Gregor
SourceManager versions), updating those callers that need to recover gracefully from failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98665 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Teach the one caller of SourceManager::getMemoryBufferForFile() to cope with ↵Douglas Gregor
errors git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98664 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16accept and ignore __gcc_tdiag__ so we don't produce warningsChris Lattner
building mainline GCC, PR6542 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98661 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Make sure we actually override ReadHeaderFileInfo when we meant toDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98655 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Driver: Fix forwarding of -fno-lax-vector-conversions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98639 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Fix header-search problems with precompiled headers, where theDouglas Gregor
presence or absence of header map arguments when using the precompiled header would cause Clang to get confused about which headers had already been included/imported, along with their controlling macros. The fundamental problem is that the serialization of the header search information was relying on the UIDs of FileEntry objects at PCH generation time and PCH load time to be equivalent, which effectively means that we had to probe the same files in the same order. Differing header map arguments caused an extra FileEntry lookup, but it's easy to imagine other minor command-line arguments triggering this problem. Header-search information is now encoded along with the source-location entry for a file, so that we register information about a file's properties as a header at the same time we create the FileEntry for that file. Fixes <rdar://problem/7743243>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98636 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Switch another function to StringRef instead of char pointer pairs.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98631 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Let SourceManager::getBufferData return StringRef instead of a pair of two ↵Benjamin Kramer
const char*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98630 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Add VisitCXXContructExpr logic to the analyzer. This still has not fully workedZhongxing Xu
since RemoveDeadBinding mistakenly remove the binding to CXXThisRegion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98629 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Access control for implicit calls to copy assignment operators and copyJohn McCall
constructors from implicitly-defined members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98614 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Don't consume tokens past the end-of-file in an @interface. FixesDouglas Gregor
<rdar://problem/7735566>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98613 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Perform access control even for the implicit destructor calls from implicitJohn McCall
destructor definitions. Remove some code duplication. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98611 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Perform access control for the implicit base and member destructor callsJohn McCall
required when emitting a destructor definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98609 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Introduce optional "Invalid" parameters to routines that invoke theDouglas Gregor
SourceManager's getBuffer() and, therefore, could fail, along with Preprocessor::getSpelling(). Use the Invalid parameters in the literal parsers (string, floating point, integral, character) to make them robust against errors that stem from, e.g., PCH files that are not consistent with the underlying file system. I still need to audit every use caller to all of these routines, to determine which ones need specific handling of error conditions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98608 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Use SourceManager's Diagnostic object for all file-reading errors,Douglas Gregor
simplifying the SourceManager interfaces somewhat. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98598 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Give SourceManager a Diagnostic object with which to report errors,Douglas Gregor
and start simplifying the interfaces in SourceManager that can fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98594 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Add some <cstdio> includes to unbreak the buildbotsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98591 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Add remaining sse4.1 intrinsics and builtins.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98587 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Introduce a new BufferResult class to act as the return type ofDouglas Gregor
SourceManager's getBuffer() (and similar) operations. This abstract can be used to force callers to cope with errors in getBuffer(), such as missing files and changed files. Fix a bunch of callers to use the new interface. Add some very basic checks for file consistency (file size, modification time) into ContentCache::getBuffer(), although these checks don't help much until we've updated the main callers (e.g., SourceManager::getSpelling()). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98585 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Move method FindPropertyVisibleInPrimaryClass() from ObjCContainerDecl to ↵Ted Kremenek
ObjCInterfaceDecl. Also change this method to lookup property declarations using DeclContext::lookup(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98574 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Change ObjCCategoryDecl::FindPropertyDeclaration() to lookupTed Kremenek
property decls using DeclContext::lookup(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98571 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Make 'findPropertyDecl()' a static method of ObjCPropertyDecl.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98570 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Add 'expected-note'Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98560 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Correctly determine if the @property has been previously declared. IfTed Kremenek
a property has the same name as the ivar it wraps then the old logic wouldn't find the previous property declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98559 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15objective-c++ must take into account qualifiers when Fariborz Jahanian
considering valid objc pointer converions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98557 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Add comment to CFG to 'buildCFG()' arguments indicating that scopeTed Kremenek
support is not fully implemented. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98555 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Rename clang_constructUSR_ObjCategory to clang_constructUSR_ObjCCategory.Ted Kremenek
(there was a missing 'C'). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98554 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Remove useless forward decl.Kovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98553 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15During C++ name lookup, use DeclContext::Equals() rather thanDouglas Gregor
comparing DeclContext pointers, to avoid having to remember to call getPrimaryContext() everywhere. This is the last part PR6594. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98546 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Implement C++ [temp.local]p8, which specifies that a templateDouglas Gregor
parameter hides a namespace-scope declararion with the same name in an out-of-line definition of a template. The lookup requires a strange interleaving of lexical and semantic scopes (go C++), which I have not yet handled in the typo correction/code completion path. Fixes PR6594. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98544 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Add support for -Wwrite-strings. Patch by Mike M! Fixes PR 4804.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98541 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Remember declaration scope qualifiers in the AST. Imposes no memory overheadJohn McCall
on unqualified declarations. Patch by Enea Zaffanella! Minimal adjustments: allocate the ExtInfo nodes with the ASTContext and delete them during Destroy(). I audited a bunch of Destroy methods at the same time, to ensure that the correct teardown was being done. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98540 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Remember access paths for visible conversion decls.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98539 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Fix thinko and enable clang build on mingw again (hopefully)Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Add EmitString helper methodKovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Unbreak last commit. This should have been part of r98478.Kovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98480 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Pass file string by referenceKovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98478 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Path related cleanup. Remove unnecessary variables.Kovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98473 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Use makeAbsolute()Kovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98472 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Move to anonymous namespaceKovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13Fixed copy-and-paste error causing categories to contain the protocols ↵David Chisnall
declared on the class, not the protocols declared on the category. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98455 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13Revert 98439. There is a bad race condition in sys::Path::makeUnique on win32.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98452 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13Add missing space.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98448 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13Give explicit template instantiations weak ODR linkage. FormerDouglas Gregor
iterations of this patch gave explicit template instantiation link-once ODR linkage, which permitted the back end to eliminate unused symbols. Weak ODR linkage still requires the symbols to be generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98441 91177308-0d34-0410-b5e6-96231b3b80d8