Ted Kremenek
8f5ec29b91
Add missing header file change.
...
llvm-svn: 67871
2009-03-27 22:00:38 +00:00
Sebastian Redl
ec74096050
Better overload resolution for rvalue references.
...
llvm-svn: 67870
2009-03-27 21:36:42 +00:00
Ted Kremenek
7a621b9747
BugReporter: For control-flow edges from 'if', 'for', 'do', 'while' to
...
successor, using 'getEnclosingStmt()' to have the end location be the top-level
Stmt* enclosing the target Expr*.
llvm-svn: 67869
2009-03-27 21:16:25 +00:00
Eli Friedman
7044b76707
Finish off semantic analysis for regparm, and remove the warning. Also
...
remove a redundant error in CodeGen.
llvm-svn: 67868
2009-03-27 21:06:47 +00:00
Eli Friedman
6ecb5afcd6
Fix test failures caused by reading memory after freeing it. My fix is
...
rather nasty, but I can't think of a better fix off the top of my head.
llvm-svn: 67867
2009-03-27 20:56:17 +00:00
Ted Kremenek
41d865cbaa
BugReporter: PathDiagnosticBuilder::ExecutionContinues now returns a
...
PathDiagnosticLocation.
llvm-svn: 67866
2009-03-27 20:55:39 +00:00
Chris Lattner
8e097198fc
minor cleanups: make getIdentifierNamespace() be a single load
...
instead of a load + large inlined switch.
llvm-svn: 67864
2009-03-27 20:18:19 +00:00
Mike Stump
e5fdfd5930
Fixup -fcommon and -fno-common to be more gcc compatible.
...
llvm-svn: 67863
2009-03-27 20:15:22 +00:00
Chris Lattner
17a1bfa9d8
reduce # const_casts, no functionality change.
...
llvm-svn: 67861
2009-03-27 19:19:59 +00:00
Anders Carlsson
af06b977f9
It is OK to cast to a private base class if the current member belongs to the class that the private base class is a base of:
...
class A {};
class B : private A {
void f(B *b) { A* a = b; }
};
llvm-svn: 67860
2009-03-27 19:01:12 +00:00
Anders Carlsson
93d35acb28
Add a Class field to the base path element structure. This holds the record decl of the class taht the base is a base of.
...
llvm-svn: 67859
2009-03-27 18:54:29 +00:00
Chris Lattner
586c66d5ba
change Decl::DeclCtx to use a PointerIntPair instead of hand bitmangling.
...
llvm-svn: 67858
2009-03-27 18:46:15 +00:00
Fariborz Jahanian
a2d609e2f1
Besides the warning, issue unsupported diagnostics in
...
ir gen. No intended change in functionality.
llvm-svn: 67857
2009-03-27 18:38:55 +00:00
Chris Lattner
839150e0d2
push line markers through -E mode.
...
llvm-svn: 67854
2009-03-27 17:13:49 +00:00
Ted Kremenek
b3e8f6531d
Update "Getting Started" with more current information about 'clang-cc' and 'clang'.
...
llvm-svn: 67850
2009-03-27 16:32:57 +00:00
Ted Kremenek
15b3753858
analyzer plist: For PathDiagnosticControlFlowPieces, now output an array of
...
start-end points, where start and end are source ranges.
llvm-svn: 67847
2009-03-27 15:53:20 +00:00
Ted Kremenek
073da05fa4
Emit aggregate "location" for PathDiagnostic to plist. This fixes <rdar://problem/6729558>.
...
llvm-svn: 67845
2009-03-27 15:31:11 +00:00
Ted Kremenek
d10307debb
Move declaration of 'PathDiagnostic' to the end of PathDiagnostic.h and add PathDiagnostic::getLocation().
...
llvm-svn: 67842
2009-03-27 15:24:36 +00:00
Daniel Dunbar
a21c833d74
Driver: Pass -f[no-]pascal-strings on to clang, even if it has been
...
turned into -m[no-]pascal-strings by the tool chain.
- This still has issue that derived arguments don't propogate "used"
information correctly so spurious "argument unused" warnings will
still show up.
llvm-svn: 67841
2009-03-27 15:22:28 +00:00
Ted Kremenek
33e6f91ec3
PathDiagnostic: replace 'std::list' with 'std::deque'
...
llvm-svn: 67840
2009-03-27 14:59:04 +00:00
Ted Kremenek
b630d5b2c9
Add iterators to PathDiagnosticControlFlowDiagnostic for iterating over the
...
multiple location vectors.
llvm-svn: 67838
2009-03-27 14:54:49 +00:00
Daniel Dunbar
565eefd4ab
Driver: -print-libgcc-file-name was searching wrong path list.
...
llvm-svn: 67837
2009-03-27 14:26:33 +00:00
Anders Carlsson
733d77f1b4
Implement checking for base class access. Right now it's overly conservative but that will change. (Also, protected isn't implemented right now).
...
llvm-svn: 67827
2009-03-27 06:03:27 +00:00
Douglas Gregor
0b08ba44a1
If the user is trying to apply the -> or . member reference operator
...
to a function or function pointer, it's probably because the user
forgot to put in parentheses () to call the function.
llvm-svn: 67826
2009-03-27 06:00:30 +00:00
Zhongxing Xu
17e28b7a54
remove dead code.
...
llvm-svn: 67825
2009-03-27 05:31:12 +00:00
Douglas Gregor
43f1bdbdc3
Update CMake
...
llvm-svn: 67824
2009-03-27 05:18:33 +00:00
Douglas Gregor
ae0fb56aaa
Remove the code insertion hint for implicit int. Too often, we're wrong about this hint, so it loses its usefulness. Maybe some day we can make the hint smart enough to be useful.
...
llvm-svn: 67823
2009-03-27 05:10:56 +00:00
Ted Kremenek
a7ec0ded63
BugReporter:
...
- Added an internal helper class 'PathDiagnosticBuilder' which now bundles the
'ExecutionContinues' methods.
- Added preliminary diagnostics for short-circuit '&&' and '||'
llvm-svn: 67822
2009-03-27 05:06:10 +00:00
Anders Carlsson
4742a9c19a
Add a stubbed out CheckBaseClassAccess method.
...
llvm-svn: 67821
2009-03-27 05:05:05 +00:00
Anders Carlsson
17941120d6
Move Sema::SetMemberAccessSpecifier to SemaAccess.cpp
...
llvm-svn: 67820
2009-03-27 04:54:36 +00:00
Anders Carlsson
8ed6f3645b
Add SemaAccess.cpp
...
llvm-svn: 67819
2009-03-27 04:43:36 +00:00
Douglas Gregor
f4d17c4f22
Improve recovery when a constructor fails to type-check. Test case from Anders
...
llvm-svn: 67818
2009-03-27 04:38:56 +00:00
Douglas Gregor
fdca4a7967
Tests and fixes for templates declared within (non-template)
...
classes. Test case from Anders Carlsson, fix from Piotr Rak!
llvm-svn: 67817
2009-03-27 04:21:56 +00:00
Chris Lattner
9eac931b5f
Fix rdar://6719156 - clang should emit a better error when blocks are disabled but are used anyway
...
by changing blocks from being disabled in the parser to being disabled
in Sema.
llvm-svn: 67816
2009-03-27 04:18:06 +00:00
Zhongxing Xu
c1c09b1f35
remove the updated notes.
...
llvm-svn: 67813
2009-03-27 02:22:41 +00:00
Ted Kremenek
0e34da42c5
- Fix thinko in implementation of PathDiagnosticLocation::asStmt(). Thanks to
...
Anders Johnsen for pointing this out.
- Have PathDiagnosticControlFlowPiece take PathDiagnosticLocation for the
arguments to its constructors.
llvm-svn: 67812
2009-03-27 02:22:03 +00:00
Mike Stump
db65737b1c
Fix searching for gcc, we only want executable files.
...
llvm-svn: 67806
2009-03-27 00:40:20 +00:00
Douglas Gregor
f53c47ecc2
Clarify that QualifiedNameType is sugar-only. This will matter once we can parse typename-specifiers
...
llvm-svn: 67803
2009-03-27 00:03:43 +00:00
Fariborz Jahanian
c35c9d87a9
Put back __OBJC2__ definition.
...
llvm-svn: 67802
2009-03-26 23:57:56 +00:00
Douglas Gregor
c23500ebb3
Simplify CXXScopeSpec a lot. No more weird SmallVector-like hacks here
...
llvm-svn: 67800
2009-03-26 23:56:24 +00:00
Douglas Gregor
f21eb49a04
Revamp our representation of C++ nested-name-specifiers. We now have a
...
uniqued representation that should both save some memory and make it
far easier to properly build canonical types for types involving
dependent nested-name-specifiers, e.g., "typename T::Nested::type".
This approach will greatly simplify the representation of
CXXScopeSpec. That'll be next.
llvm-svn: 67799
2009-03-26 23:50:42 +00:00
Anders Carlsson
e6224e7913
I said _fix_ the build, don't break it.
...
llvm-svn: 67797
2009-03-26 23:48:49 +00:00
Anders Carlsson
e3f92270e6
Fix build.
...
llvm-svn: 67796
2009-03-26 23:47:48 +00:00
Anders Carlsson
6750d16002
Add
...
const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
AccessSpecifier AS);
so we can easily add access specifiers to diagnostics.
llvm-svn: 67795
2009-03-26 23:46:50 +00:00
Ted Kremenek
46dee7b0f6
- Add class PathDiagosticLocationPair.
...
- Have PathDiagnosticControlFlowPiece use a vector of PathDiagnosticLocationPairs to represent transitions.
llvm-svn: 67786
2009-03-26 23:12:02 +00:00
Ted Kremenek
96110d5920
Implement PathDiagnosticLocation::asRange() and PathDiagnosticLocation::asStmt().
...
llvm-svn: 67777
2009-03-26 21:48:17 +00:00
Ted Kremenek
c25116576f
Add comment.
...
llvm-svn: 67776
2009-03-26 21:42:51 +00:00
Ted Kremenek
7c36d902d0
Restructure code to silence bogus GCC warning.
...
llvm-svn: 67775
2009-03-26 21:42:00 +00:00
Ted Kremenek
bade06e7d7
- Implement PathDiagnosticLocation::asLocation.
...
- Switch PathDiagnosticEventPiece and PathDiagnosticMacroPiece to use
PathDiagnosticLocation.
llvm-svn: 67774
2009-03-26 21:39:39 +00:00
Ted Kremenek
2d6a1dec5d
Because of the use of 'cast<TagDecl>', ASTContext.h now depends on Decl.h.
...
llvm-svn: 67773
2009-03-26 21:36:37 +00:00