| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
with constructors don't have a matching constructor.
llvm-svn: 76913
|
|
|
|
| |
llvm-svn: 76911
|
|
|
|
| |
llvm-svn: 76908
|
|
|
|
|
|
| |
the union.
llvm-svn: 76907
|
|
|
|
| |
llvm-svn: 76906
|
|
|
|
| |
llvm-svn: 76905
|
|
|
|
| |
llvm-svn: 76903
|
|
|
|
| |
llvm-svn: 76901
|
|
|
|
|
|
|
| |
This implements <rdar://problem/6336718> and checks for CERT secure coding
advisory FLP30-C.
llvm-svn: 76900
|
|
|
|
| |
llvm-svn: 76898
|
|
|
|
| |
llvm-svn: 76897
|
|
|
|
|
|
|
|
|
|
|
|
| |
regardless of the architecture).
- This is a good default for development & testing; for example without this
any tests using 'clang' in the test suite will fail on PowerPC, since the
driver will avoid using clang.
- We don't want to actually ship something built this way, but that should be
handled via some sort of configuration file.
llvm-svn: 76886
|
|
|
|
| |
llvm-svn: 76885
|
|
|
|
|
|
| |
is packed or not. Fixes PR4610.
llvm-svn: 76884
|
|
|
|
|
|
| |
since it's meaning is completely different than for non-bit fields.
llvm-svn: 76882
|
|
|
|
|
|
|
|
|
| |
point that covers templates and non-templates. This should eliminate
the flood of warnings I introduced yesterday.
Removed the ActOnClassTemplate action, which is no longer used.
llvm-svn: 76881
|
|
|
|
| |
llvm-svn: 76878
|
|
|
|
|
|
|
| |
- Root is the main function or 0.
- ExternalCallingNode has edges to all external functions.
llvm-svn: 76876
|
|
|
|
|
|
|
| |
- change the DenseMap used in callgraph to std::map, since DenseMap cannot
be used with mapped_iterator and friends.
llvm-svn: 76874
|
|
|
|
| |
llvm-svn: 76873
|
|
|
|
| |
llvm-svn: 76862
|
|
|
|
|
|
|
| |
- As it happens, this also fixes a use-of-uninitialized memory that was causing
non-deterministic test failures.
llvm-svn: 76857
|
|
|
|
| |
llvm-svn: 76856
|
|
|
|
|
|
| |
contain a single element and either a single i8 element or an array of i8s, there's no reason to use a packed struct.
llvm-svn: 76854
|
|
|
|
|
|
|
|
| |
--- Reverse-merging r76831 into '.':
U include/clang/Analysis/PathSensitive/GRExprEngine.h
U lib/Analysis/GRExprEngine.cpp
llvm-svn: 76851
|
|
|
|
| |
llvm-svn: 76847
|
|
|
|
| |
llvm-svn: 76846
|
|
|
|
|
|
| |
layout code. (Yay, no more packed structs unless absolutely necessary). We currently don't use the layouts being built but that will change when the new code is mature enough :)
llvm-svn: 76845
|
|
|
|
|
|
|
| |
Technically we could still do a bit more to avoid deferred generation of statics
which we know are used, but I seriously doubt this is important.
llvm-svn: 76844
|
|
|
|
|
|
| |
counter.
llvm-svn: 76833
|
|
|
|
| |
llvm-svn: 76831
|
|
|
|
|
|
|
|
| |
- Move Sema::ObjCQualifiedIdTypesAreCompatible(), Sema::QualifiedIdConformsQualifiedId(), and a couple helper functions to ASTContext.
- Change ASTContext::canAssignObjCInterfaces() to use ASTContext:: ObjCQualifiedIdTypesAreCompatible().
- Tweak several test cases to accommodate the new/improved type checking.
llvm-svn: 76830
|
|
|
|
|
|
|
| |
CXXBaseOrMemberInitializer AST node. Needed by
its clients to do the initialization.
llvm-svn: 76826
|
|
|
|
|
|
| |
filesystems.
llvm-svn: 76824
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
value. This is on by default, and controlled by -Wreturn-type (-Wmost
-Wall). I believe there should be very few false positives, though
the most interesting case would be:
int() { bar(); }
when bar does:
bar() { while (1) ; }
Here, we assume functions return, unless they are marked with the
noreturn attribute. I can envision a fixit note for functions that
never return normally that don't have a noreturn attribute to add a
noreturn attribute.
If anyone spots other false positives, let me know!
llvm-svn: 76821
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
templates, e.g.,
template<typename T>
struct Outer {
struct Inner;
};
template<typename T>
struct Outer<T>::Inner {
// ...
};
Implementing this feature required some extensions to ActOnTag, which
now takes a set of template parameter lists, and is the precursor to
removing the ActOnClassTemplate function from the parser Action
interface. The reason for this approach is simple: the parser cannot
tell the difference between a class template definition and the
definition of a member of a class template; both have template
parameter lists, and semantic analysis determines what that template
parameter list means.
There is still some cleanup to do with ActOnTag and
ActOnClassTemplate. This commit provides the basic functionality we
need, however.
llvm-svn: 76820
|
|
|
|
| |
llvm-svn: 76816
|
|
|
|
| |
llvm-svn: 76814
|
|
|
|
|
|
|
|
|
|
|
|
| |
Educate GRExprEngine::VisitGraph() about 'PreStmt'.
Mark the constructor of 'PostStmt' to be explicit, preventing implicit
conversions and the selection of the wrong 'generateNode' method in
GRStmtNodeBuilder.
Constify a bunch of arguments, which falls out of the changes to ProgramPoint.
llvm-svn: 76809
|
|
|
|
| |
llvm-svn: 76807
|
|
|
|
|
|
| |
the order of evaluation of their arguments to be correct.
llvm-svn: 76804
|
|
|
|
|
|
|
|
|
| |
'Checker' interface. An updated test case illustrates that after calling a
function with the 'nonnull' attribute we now register the fact that the passed
pointer must be non-null. This retention of information was not possible with
the previously used GRSimpleAPICheck interface.
llvm-svn: 76797
|
|
|
|
|
|
|
|
| |
definitions.
I'm not very familiar with this code, so please review.
llvm-svn: 76796
|
|
|
|
| |
llvm-svn: 76795
|
|
|
|
|
|
| |
Add a 'previsit' stage (that dispatches to registered Checkers) when evaluating the effects of CallExprs.
llvm-svn: 76794
|
|
|
|
| |
llvm-svn: 76792
|
|
|
|
|
|
|
|
| |
real. It turns out that we need to actually move all of the qualifiers
up to the array type itself, then recanonicalize the deduced template
argument type.
llvm-svn: 76788
|
|
|
|
| |
llvm-svn: 76783
|
|
|
|
| |
llvm-svn: 76779
|
|
|
|
| |
llvm-svn: 76777
|