aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend
AgeCommit message (Collapse)Author
2010-01-30Even more AsmStmt cleanup.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94921 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30Combine AsmStmt::setOutputsAndInputs and AsmStmt::setClobbers.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94918 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30PCHReader doesn't implement classof so dyn_casting it will do really weird ↵Benjamin Kramer
stuff. Use a static_cast instead. I don't know if this hack is the right fix. Doug, please take a look. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94895 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29Fixes rewriter bug rewriting byref related API where a structFariborz Jahanian
definition comes after where it is needed. Fixes radar 7589385. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-28Introduce serialization and deserialization of diagnostic informationDouglas Gregor
so that CIndex can report diagnostics through the normal mechanisms even when executing Clang in a separate process. This applies both when performing code completion and when using ASTs as an intermediary for clang_createTranslationUnitFromSourceFile(). The serialized format is not perfect at the moment, because it does not encapsulate macro-instantiation information. Instead, it maps all source locations back to the instantiation location. However, it does maintain source-range and fix-it information. To get perfect fidelity from the serialized format would require serializing a large chunk of the source manager; at present, it isn't clear if this code will live long enough for that to matter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-28Fixes a rewrite bug rewriting nested ivars reference.Fariborz Jahanian
(Radar 7583971). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94724 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Remove ModuleProviders from clang after r94686 removed them from LLVM.Jeffrey Yasskin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94688 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Move 'LocalCheckers.h' to the 'Checkers' subdirectory.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94609 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Added assert to the rewrite.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94584 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Refix rewriting of an ivar access when it isFariborz Jahanian
type-cast to its sub-class (radar 7575882). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94559 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Fix a regression caused by my rewriting of cast of ivarFariborz Jahanian
access (was radar 7575882). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94481 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25Fixes a rewriting bug of access ivar of a variable castFariborz Jahanian
to subclass. (Fixes radar 7575882). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25Move BugReporter.h, PathDiagnostic.h, and BugType.h to ↵Ted Kremenek
'include/Checker/BugReporter' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94428 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25Update C++ include paths for Exherbo, by Ingmar Vanhassel.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94420 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25Split libAnalysis into two libraries: libAnalysis and libChecker.Ted Kremenek
(1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94406 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25ASTUnit: Don't check that input files exist when parsing ASTs from the commandDaniel Dunbar
line -- they may be remapped (fake) files. This is useful for testing parsing entirely from memory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24-fno-rtti is now the default.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24Implement instantiation of AsmStmts (Crazy, I know)Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94361 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-23Extend clang_createTranslationUnitFromSourceFile() to support creatingDouglas Gregor
translation units that include unsaved files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94258 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22(1) Rename getClangSubversionRevision() to getClangRevision(), andTed Kremenek
have it return a StringRef instead of an integer (to be more VCS agnostic). (2) Add getClangFullRepositoryVersion(), which contains an amalgamation of the repository name and the revision. (3) Change PCH to only emit the string returned by getClangFullRepositoryVersion() instead of also emitting the value of getClangSubversionRevision() (which has been removed). This is functionally equivalent. More cleanup to version string generation pending... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94231 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Rename pch::SVN_BRANCH_REVISION to pch::VERSION_CONTROL_BRANCH_REVISION.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94214 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Rename getClangSubversionPath() -> getClangRepositoryPath() and have it ↵Ted Kremenek
return a StringRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21Patch to implement rewriting of properties.Fariborz Jahanian
Fixes radar 7562952. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94087 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Make some helper functions static.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94004 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Don't store a Twine temporary, it's unsafe.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94003 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Move the MacroBuilder utilitiy to its own header. Update references.Chandler Carruth
Comments and/or improvements to the documentation are welcome. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93982 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Fix an invalid Twine use spotty by abbeyj, it isn't safe to use TwineDaniel Dunbar
temporaries (this is one reason I'm nervous about propagating their use beyond particularly performance critical places). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93981 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Add a missing case for DeclContext printer.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93973 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Also handle CXXConstructor, CXXDestructor and CXXConversion in CFGMike Stump
printing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93968 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Use the llvm coding convention for indentation for switch.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93966 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19add support for Fedora 10 x86_64, there really should be a better way to ↵Chris Lattner
handle this. patch by Dmitry git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93948 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19The type of a compound literal expression is not necessarily the same as theJohn McCall
type which was syntactically written. Fixes PR 6080. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93933 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19Rewriteing of gnu extension __typeof in objective-c rewriter.Fariborz Jahanian
Fixes radar 6358225. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93917 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19Avoid an instantiation of std::sort.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93882 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-18Preserve type source information in compound literal expressions.John McCall
Patch by Enea Zaffanella! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93752 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-18Print fix-it hints properly around tabs, from Christian Adåker!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93750 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-18Improve source-location information for builtin TypeLocs, from EneaDouglas Gregor
Zaffanella (with a couple of my tweaks). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93733 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-18Encoding calling conventions in the type system, from Charles Davis!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93726 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-17PR6055: fix FreeBSD c++ include path. patch by Roman DivackyNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93668 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-16Add PCH support for CXXStaticCastExpr, CXXDynamicCastExpr, ↵Sam Weinig
CXXReinterpretCastExpr, CXXConstCastExpr and CXXFunctionalCastExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93658 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-16Fix a rewriting crash and correct rewriting of __blockFariborz Jahanian
declaration where its initializer has a type-cast. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93650 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-16Improve location information for Objective-C category declarations. WeDouglas Gregor
previously only had a single location (the @ in @interface); now we know where the @ is (for the start of the declaration), where the class name is (that's the normal "location" now for diagnostics), and where the category name is. Also, eliminated the redundant "end" location, since ObjCContainerDecl already has better @end information. The only XFAIL'd test is temporary; will un-XFAIL-it once I've taught CIndex how to use the new locations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93639 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-16Keep track of the source locations for each protocol reference inDouglas Gregor
Objective-C classes, protocol definitions, forward protocol declarations, and categories. This information isn't actually used yet; that's coming next. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93636 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-15define __weak to null in rewritten source for Fariborz Jahanian
-fms-extensions as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93569 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-15Preserve type source information in explicit cast expressions.John McCall
Patch by Enea Zaffanella. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93522 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-15Do not do the block-specific rewrite when there is no block literals.Fariborz Jahanian
Fixes radar 7546096. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93519 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-14Patch to avoid duplicate declaration of byref structsFariborz Jahanian
for __block variables of same name declared in multiple scopes. Fixes radar 7540194 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93474 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-14Fix a bug in rewrite whereby functions using blocks put extern "C" in wrong ↵Fariborz Jahanian
place. Fixes radar 7284618. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add type source information for both kinds of typeof types.John McCall
Patch by Enea Zaffanella. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Predefine __weak attribute when doing objective-cFariborz Jahanian
rewriting for any target. (refixes radar 7530235). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93331 91177308-0d34-0410-b5e6-96231b3b80d8