| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 47285
|
|
|
|
|
|
|
|
| |
--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.
llvm-svn: 47146
|
|
|
|
|
|
| |
Moved driver logic for --grsimple to GRSimpleVals.cpp.
llvm-svn: 47137
|
|
|
|
| |
llvm-svn: 46868
|
|
|
|
| |
llvm-svn: 46867
|
|
|
|
| |
llvm-svn: 46855
|
|
|
|
|
|
| |
Modified the driver to pass the Diagnostic object to GRConstants.
llvm-svn: 46847
|
|
|
|
|
|
|
| |
eliminating a bunch of forwarding methods and generally
simplifying things.
llvm-svn: 46792
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 46791
|
|
|
|
|
|
| |
simplify the code and generally make it more robust.
llvm-svn: 46745
|
|
|
|
|
|
|
|
|
| |
and now we require a FunctionDecl* object so that we can also keep track of
all of the ParmDecls.
Modified clients of LiveVariables to conform to the new interface.
llvm-svn: 46490
|
|
|
|
|
|
|
| |
Refactoring: for GREngine and GRConstants, pushed references to CFG, ASTContext,
and the top-level FunctionDecl into ExplodedGraphImpl.
llvm-svn: 46475
|
|
|
|
|
|
| |
Added initial support for integer casting operations to GRConstants.
llvm-svn: 46298
|
|
|
|
|
|
|
| |
Fixed some compilation errors with GREngine that showed up during
template instantiation.
llvm-svn: 46074
|
|
|
|
|
|
| |
extern "C" in C++ mode. Patch by Mike Stump!
llvm-svn: 45904
|
|
|
|
| |
llvm-svn: 45808
|
|
|
|
|
|
| |
constant propagation analysis.
llvm-svn: 45747
|
|
|
|
|
|
|
| |
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
|
|
|
|
| |
llvm-svn: 45497
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
| |
llvm-svn: 45348
|
|
|
|
| |
llvm-svn: 45346
|
|
|
|
| |
llvm-svn: 45345
|
|
|
|
| |
llvm-svn: 45340
|
|
|
|
| |
llvm-svn: 45339
|
|
|
|
|
|
|
|
|
|
|
| |
Created include/clang/Analysis/Analyses directory.
- Moved LiveVariables.h and UninitializedValues.h into this dir.
Moved ExprDeclBitVector.h into Analysis/Support.
Updated all clients who use these headers to reflect the new paths.
llvm-svn: 45292
|
|
|
|
| |
llvm-svn: 45265
|
|
|
|
|
|
|
| |
which serializes ASTs to a common output directory. This ASTConsumer
is invoked using a combination of "-o" and "-serialize" from the driver.
llvm-svn: 45241
|
|
|
|
|
|
|
|
| |
BuildSerializer. The former serializes a single translation unit to a
corresponding .ast file. The second serializes ASTs to a common emission
direction. The latter is not fully implemented yet.
llvm-svn: 45232
|
|
|
|
|
|
|
|
|
| |
both Preprocessor and ASTContext, we no longer need to explicitly pass
MainFileID around in function calls that also pass either Preprocessor or
ASTContext. This resulted in some nice cleanups in the ASTConsumers and the
driver.
llvm-svn: 45228
|
|
|
|
|
|
|
| |
be available by querying the SourceManager within the ASTContext referenced by
the TranslationUnit.
llvm-svn: 45223
|
|
|
|
|
|
|
|
|
|
| |
Added "SourceFile" string to TranslationUnit to record corresponding
source file.
Updated serialization of TranslationUnits and logic in the driver to
correctly pass the source file information to the serializer.
llvm-svn: 45211
|
|
|
|
|
|
| |
CreateASTSerializer.
llvm-svn: 45201
|
|
|
|
|
|
|
| |
the standalone functions ReadASTBitcodeFile and EmitASTBitcodeFile
respectively.
llvm-svn: 45180
|
|
|
|
| |
llvm-svn: 45175
|
|
|
|
|
|
|
|
| |
create a .ast file in the current working directory. This mirrors the behavior
of the -c option for gcc. Later we should add the ability to write the
serialized file anywhere.
llvm-svn: 45004
|
|
|
|
| |
llvm-svn: 45003
|
|
|
|
|
|
| |
and is a work in progress.
llvm-svn: 44967
|
|
|
|
| |
llvm-svn: 44930
|
|
|
|
|
|
| |
to some classes and use iterators instead.
llvm-svn: 44927
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager is passed by reference, allowing the SourceManager to be
associated with a specific translation unit, and not the entire execution
of the driver.
Modified all users of Diagnostics to comply with this new interface.
Integrated SourceManager as a member variable of TargetInfo. TargetInfo will
eventually be associated with a single translation unit (just like
SourceManager).
Made the SourceManager reference in ASTContext private. Provided accessor
getSourceManager() for clients to use instead. Modified clients to comply with
new interface.
llvm-svn: 44878
|
|
|
|
| |
llvm-svn: 44550
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
t.c:3322:5: warning: cannot codegen this yet
__asm__ ("bswap %0" : "+r" (_data));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
instead of:
Unimplemented stmt!
(AsmStmt 0x80eaa0 <t.c:3331:5, line:3334:28>)
llvm-svn: 44501
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following code...
typedef struct cssm_data {} CSSM_DATA, *CSSM_DATA_PTR;
struct Y { int A; };
struct X { int A; } D;
struct X E, F;
...now produces the following output...
> ../../Debug/bin/clang xx.c -ast-print
Read top-level tag decl: 'cssm_data'
typedef struct cssm_data CSSM_DATA;
typedef struct cssm_data *CSSM_DATA_PTR;
Read top-level tag decl: 'Y'
Read top-level tag decl: 'X'
Read top-level variable decl: 'D'
Read top-level variable decl: 'E'
Read top-level variable decl: 'F'
...which is much more accurate than the previous -ast-print output...
typedef struct cssm_data CSSM_DATA;
typedef struct cssm_data CSSM_DATA;
Read top-level variable decl: 'D'
Read top-level variable decl: 'E'
Read top-level variable decl: 'E'
llvm-svn: 44421
|
|
|
|
|
|
|
|
|
| |
a bug where the statement pretty-printer used iostreams but the AST printer
did not. This was an issue when dumping ASTs to something other than stderr.
Updated SerializationTest to use the new iostreams interface for the AST printer.
llvm-svn: 44417
|
|
|
|
|
|
| |
merge string literals when it is not provided.
llvm-svn: 44394
|
|
|
|
|
|
|
|
|
|
| |
which is now used (or subclasssed) by the ASTConsumers. This new class
stores a FILE* that is used for writing, instead of just hardwiring output
to stderr (it defaults to stderr if no FILE* is provided).
Modified CreateASTPrinter() to accept a FILE* for printing.
llvm-svn: 44377
|
|
|
|
|
|
|
|
| |
type.
Adding basic printing to StmtPrinter::PrintRawDecl().
llvm-svn: 44208
|
|
|
|
| |
llvm-svn: 44088
|
|
|
|
|
|
| |
Cedric Venet.
llvm-svn: 44050
|