- Feb 17, 2011
-
-
Chandler Carruth authored
especially C++ code, and generally expand the test coverage. Logic adapted from a patch by Kaelyn Uhrain <rikka@google.com> and another Googler. llvm-svn: 125775
-
Chandler Carruth authored
of Clang, and reflows the code a bit to make it easier to read. llvm-svn: 125773
-
Chris Lattner authored
llvm-svn: 125772
-
Chris Lattner authored
making them be template instantiated in a more normal way and make them handle attributes like other decls. This fixes the used/unused label handling stuff, making it use the same infrastructure as other decls. llvm-svn: 125771
-
Chris Lattner authored
client, making room for future hacking. llvm-svn: 125770
-
Chris Lattner authored
and findInstantiationOf can never return null, even on invalid code. llvm-svn: 125769
-
Chris Lattner authored
llvm-svn: 125768
-
Douglas Gregor authored
Eliminate the internal command-line option for viewing inheritance in C++ classes, since it's only really worked for the trivial cases anyway due to lame pseudo-parsing of the class name. The viewInheritance() function is still available for use in the debugger, where this is far more useful llvm-svn: 125762
-
John McCall authored
llvm-svn: 125761
-
Douglas Gregor authored
The internal -fdump-record-layouts flag already dumps the layout when it was computed; no need to do so again at the end of the translation unit llvm-svn: 125760
-
Argyrios Kyrtzidis authored
included without '..', thus being compatible with build systems of *BSDs. Patch by Joerg Sonnenberger! llvm-svn: 125758
-
Douglas Gregor authored
llvm-svn: 125757
-
Douglas Gregor authored
reducing the size of all declarations by one pointer. For a 64-bit Clang parsing Cocoa.h, this saves ~630k of memory (about 3.5% of ASTContext's memory usage for this header). llvm-svn: 125756
-
Douglas Gregor authored
llvm-svn: 125755
-
Douglas Gregor authored
llvm-svn: 125754
-
Fariborz Jahanian authored
llvm-svn: 125752
-
Douglas Gregor authored
llvm-svn: 125751
-
Douglas Gregor authored
llvm-svn: 125750
-
Chandler Carruth authored
specifically targets literals which are implicitly converted, a those are more often unintended and trivial to fix. This can be especially helpful for diagnosing what makes 'const int x = 1e6' not an ICE. Original patch authored by Jim Meehan with contributions from other Googlers and a few cleanups from myself. llvm-svn: 125745
-
John McCall authored
class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs. Change OVEs to not be a "temporary object" in the sense that copy elision is permitted. This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right. I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work. llvm-svn: 125744
-
NAKAMURA Takumi authored
llvm-svn: 125743
-
NAKAMURA Takumi authored
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. llvm-svn: 125742
-
NAKAMURA Takumi authored
llvm-svn: 125741
-
Douglas Gregor authored
llvm-svn: 125740
-
Chandler Carruth authored
different types. We omit the warning when the enum types are anonymous. Unlike GCC, this warning does not distinguish between C++ and C/ObjC for controling whether it is on by default, it is always on by default. Original patch contributed by Richard Trieu (@ Google), I fixed some style issues, and cleaned it up for submission. llvm-svn: 125739
-
Douglas Gregor authored
Simple little optimization to Decl::getCanonicalDecl(), eliminating some heavyweight machinery and indirection that we don't need llvm-svn: 125737
-
Douglas Gregor authored
llvm-svn: 125736
-
Douglas Gregor authored
llvm-svn: 125735
-
Chris Lattner authored
LabelDecl and LabelStmt. There is a 1-1 correspondence between the two, but this simplifies a bunch of code by itself. This is because labels are the only place where we previously had references to random other statements, causing grief for AST serialization and other stuff. This does cause one regression (attr(unused) doesn't silence unused label warnings) which I'll address next. This does fix some minor bugs: 1. "The only valid attribute " diagnostic was capitalized. 2. Various diagnostics printed as ''labelname'' instead of 'labelname' 3. This reduces duplication of label checking between functions and blocks. Review appreciated, particularly for the cindex and template bits. llvm-svn: 125733
-
Douglas Gregor authored
llvm-svn: 125731
-
Douglas Gregor authored
llvm-svn: 125730
-
Douglas Gregor authored
parameter type to see what's behind it, so that we don't end up printing silly things like "float const *" when "const float *" would make more sense. Also, replace the pile of "isa" tests with a simple switch enumerating all of the cases, making a few more obvious cases use prefix qualifiers. llvm-svn: 125729
-
Chris Lattner authored
llvm-svn: 125724
-
Chris Lattner authored
llvm-svn: 125723
-
Douglas Gregor authored
llvm-svn: 125722
-
Douglas Gregor authored
I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. I will not hold on to temporary StringRefs. llvm-svn: 125718
-
Douglas Gregor authored
normal "expression" completion. Fixes the most annoying code-completion bug I've found. llvm-svn: 125715
-
Matt Beaumont-Gay authored
function name used as the base of a member expression. Early feedback from Chandler Carruth, and code review from Nick Lewycky. llvm-svn: 125714
-
Ted Kremenek authored
Apparently we can blow out the number of builtin IDs on FreeBSD with only 10 bits. llvm-svn: 125713
-
Ted Kremenek authored
We now rely on 'clang --analyze' to provide the default set of checkers. We're still working on the new '-analyzer-checker <checker>' interface, and once that's ready we'll wire it up to scan-build. llvm-svn: 125712
-