aboutsummaryrefslogtreecommitdiff
path: root/Driver
AgeCommit message (Collapse)Author
2008-03-12Remove more dependencies on C "flexible array member" idiom (when generating ↵Steve Naroff
meta-data). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48271 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Make ivar rewrite C++ friendly (since C++ forces a unified namespace for ↵Steve Naroff
typedefs/structures). The previous version of the rewriter generated both a type def and structure def for each class (which doesn't fly in C++). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48266 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11Make "super" rewrite for class methods C++ friendly (follow-up from last ↵Steve Naroff
commit). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48235 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11Make "super" rewrite C++ friendly (since it doesn't support Compound Literals).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48230 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11Generate meta-data in a C++ compatible way (remove 2 dependencies on C ↵Steve Naroff
"flexible array member" idiom and perform some extra casts). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10Missed a couple "_IMPL" suffixes.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48191 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10Fix dangling pointer and give the implementation struct for a class a unique ↵Steve Naroff
name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48190 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10Pass LangOptions to RewriteTest().Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48172 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10Add some missing #includes for GCC mainline, patch by Shantonu Sen!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48153 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09Fix a ted-oChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48089 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09simplify triple processing code now that there can be only one arch specified.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48066 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-07Added --trim-path-graph to the driver to trim paths from the ExplodedGraphTed Kremenek
that are not related to error nodes. Fixed bug where we did not detect some NULL dereferences. Added "ExplodedGraph::Trim" to trim all nodes that cannot transitively reach a set of provided nodes. Fixed subtle bug in ExplodedNodeImpl where we could create predecessor iterators that included the mangled "sink" bit. The better fix is to integrate this bit into the void* for the wrapped State, not the NodeGroups representing a node's predecessors and successors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48036 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-06Added boilerplate to execute the CF reference count checker (which isn't yet ↵Ted Kremenek
implemented). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05remove the source location arguments to various target query methods.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05Remove the first layer of support for "portability" warnings. This is Chris Lattner
theoretically useful, but not useful in practice. It adds a bunch of complexity, and not much value. It's best to nuke it. One big advantage is that it means the target interfaces will soon lose their SLoc arguments and target queries can never emit diagnostics anymore (yay). Removing this also simplifies some of the core preprocessor which should make it slightly faster. Ted, I didn't simplify TripleProcessor, which can now have at most one triple, and can probably just be removed. Please poke at it when you have time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47930 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03avoid a warning.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47839 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03Find clang headers in the clang headers dir, search it before Chris Lattner
the system headers dir. This produces an annoying warning: clang.cpp:883: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object I'm not sure how to remove it. :( git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47836 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01Add support for the CPATH, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH,Chris Lattner
OBJC_INCLUDE_PATH, and OBJCPLUS_INCLUDE_PATH environment variables. Patch by Sam Bishop! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47785 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26fix an interaction between -isystem . and isysroot.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47646 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-25convert tabs to spaces, patch by Mike Stump!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-25enable digraphs for C94, thanks to Neil for pointing this out.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47543 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22Modified clang driver option -dump-live-variables to (optionally) use theTed Kremenek
--analyze-function option to analyze specific functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47498 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22clang driver options --dump-cfg and --view-cfg now (optionally) use theTed Kremenek
--analyze-function option to dump/view the CFGs of specific functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47497 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-22When running the GRSimpleVals analysis, skip functions that do notTed Kremenek
appear in a file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47491 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19For now, --grsimple skips analyzing functions in header files.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47303 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19--grsimple now reports the number of nodes in the ExplodedGraph forTed Kremenek
an analyzed function. GRExprEngine now records stores to "uninitialized lvalues" (which are sinks in the ExplodedGraph). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47293 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Running -grsimple now emits diagnostics about the time spent analyzing each ↵Ted Kremenek
function. Will probably make this a separate command line option later. Added "--analyze-function" option to the driver to (gradually) allow different analyses to only be run on specific functions. Currently only --grsimple uses this option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16A couple of msvc compile fixes from the ml; I haven't tested with msvc, Eli Friedman
but the fixes are reasonable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Set Ubuntu 7.10 c++ include path.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47186 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15Added --grsimple-view option to clang driver; this is the same asTed Kremenek
--grsimple except that it visualizes the ExplodedGraph using dot and outputs the current function being analyzed. --grsimple is now silent except when it emits diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47146 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14Renamed GRConstants => GRSimpleVals.Ted Kremenek
Moved driver logic for --grsimple to GRSimpleVals.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47137 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11Move policy on unnamed fields (a Microsoft extension) from ↵Steve Naroff
Parser::ParseStructDeclaration() to the driver. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46974 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11Fix http://llvm.org/bugs/show_bug.cgi?id=2013.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08A bunch-o changes to fix <rdar://problem/5716046> incomplete implementation ↵Steve Naroff
of ObjC class warning is incomplete As part of this fix, I made a low-level change to the text diagnostics machinery (to basically avoid printing duplicate source lines/carets when you have multiple diagnostics that refer to the same exact place). For now, this only happens with we don't have a source range (could be extended to support source ranges as well). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46897 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08Put back the top-level asm code; all tests pass now.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46868 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08Back out 46855 for now, it causes test failures on Darwin.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07Handle top-level asm declarations.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46855 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07Added proof-of-concept NULL pointer diagnostics to GRConstants.Ted Kremenek
Modified the driver to pass the Diagnostic object to GRConstants. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46847 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07Implement -fms-extensions. This allows us to fuzzy parse non-standard MS ↵Steve Naroff
constructs used in "windows.h". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46838 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06Make sure to propagate qualifiers through the member operator.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46830 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06move the codegen ASTConsumer out of the driver into libcodegen,Chris Lattner
eliminating a bunch of forwarding methods and generally simplifying things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46792 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06pull .ll and .bc writing out of the ASTConsumer destructors into some topChris Lattner
level code in clang. This is a cleanup, but does implement "-o" for -emit-llvm. One effect of this is that "clang foo.c -emit-llvm" will now emit into foo.ll instead of stdout. Use "clang foo.c -emit-llvm -o -" or "clang < foo.c -emit-llvm" to get the old behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46791 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06rename ASTSTreamer.{h|cpp} -> ParseAST.{h|cpp}Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46786 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05rewrite some of the type refinement code to eliminate dangling pointersChris Lattner
simplify the code and generally make it more robust. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46745 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-03Fix PR1966 by ignoring non-error diagnostics from system headers even if ↵Chris Lattner
they are *mapped* onto errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46686 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Minor API cleanup...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46649 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Remove temporary workaround (thanks to Ted for fixing ObjCAtCatchStmt so ↵Steve Naroff
quickly:-). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46648 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Fix two rewriter bugs with @catch.Steve Naroff
- Support @catch(...), rather than crash:-) - Make sure all catch bodies get rewritten. This "fix" is really a workaround until the iterator for the "try" AST is fixed. Will fix this in a separate commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46644 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-31add some helper methods for removing and replacing text, this makes theChris Lattner
rewriter more robust. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46622 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-31Add a new InsertText method that does the check to see if the insertion was ↵Chris Lattner
valid. This fixes crashes where the insertion point was in a macro. Instead of crashing, we want to emit a warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46621 91177308-0d34-0410-b5e6-96231b3b80d8