| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 125761
|
| |
|
|
|
|
| |
computed; no need to do so again at the end of the translation unit
llvm-svn: 125760
|
| |
|
|
|
|
| |
these patterns.
llvm-svn: 125759
|
| |
|
|
|
|
|
|
|
|
| |
Checkers.inc to be
included without '..', thus being compatible with build systems of *BSDs.
Patch by Joerg Sonnenberger!
llvm-svn: 125758
|
| |
|
|
| |
llvm-svn: 125757
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 125755
|
| |
|
|
| |
llvm-svn: 125754
|
| |
|
|
| |
llvm-svn: 125753
|
| |
|
|
| |
llvm-svn: 125752
|
| |
|
|
| |
llvm-svn: 125751
|
| |
|
|
| |
llvm-svn: 125750
|
| |
|
|
|
|
|
|
|
| |
the time but presumably my email got lost). Examples where the previous logic
got it wrong: (1) a signed i8 multiply of 64 by 2 overflows, but the high part is
zero; (2) a signed i8 multiple of -128 by 2 overflows, but the high part is all
ones.
llvm-svn: 125748
|
| |
|
|
|
|
| |
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way.
llvm-svn: 125747
|
| |
|
|
| |
llvm-svn: 125746
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 125743
|
| |
|
|
|
|
| |
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32.
llvm-svn: 125742
|
| |
|
|
| |
llvm-svn: 125741
|
| |
|
|
| |
llvm-svn: 125740
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 125738
|
| |
|
|
|
|
| |
heavyweight machinery and indirection that we don't need
llvm-svn: 125737
|
| |
|
|
| |
llvm-svn: 125736
|
| |
|
|
| |
llvm-svn: 125735
|
| |
|
|
|
|
|
|
|
| |
for some
variations (some of these were already present so I unified the code). Spotted by my
auto-simplifier as occurring a lot.
llvm-svn: 125734
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 125731
|
| |
|
|
| |
llvm-svn: 125730
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 125728
|
| |
|
|
| |
llvm-svn: 125727
|
| |
|
|
| |
llvm-svn: 125726
|
| |
|
|
|
|
|
|
|
|
| |
workaround [PR6745] for mingw's tests. Danil Malyshev suggested this.
FIXME: It does not improve MSVC's issue.
[Danil Malyshev] Defining PRINTF_EXPONENT_DIGITS env is the suggested way to make MinGW ANSI/POSIX compatible. This is not only about the case we are discussing, but in general, I'd like to have explicitly defined compatibility mode for all the tests running on MinGW.
llvm-svn: 125725
|
| |
|
|
| |
llvm-svn: 125724
|
| |
|
|
| |
llvm-svn: 125723
|
| |
|
|
| |
llvm-svn: 125722
|
| |
|
|
|
|
| |
Patch thanks to Zach Anderson.
llvm-svn: 125721
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
normal "expression" completion. Fixes the most annoying
code-completion bug I've found.
llvm-svn: 125715
|
| |
|
|
|
|
|
| |
function name used as the base of a member expression. Early feedback from
Chandler Carruth, and code review from Nick Lewycky.
llvm-svn: 125714
|
| |
|
|
|
|
|
|
| |
PR 9231.
Apparently we can blow out the number of builtin IDs on FreeBSD with only 10 bits.
llvm-svn: 125713
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 125711
|
| |
|
|
| |
llvm-svn: 125710
|
| |
|
|
| |
llvm-svn: 125709
|
| |
|
|
|
|
| |
feature.
llvm-svn: 125708
|
| |
|
|
|
|
| |
the only character that GCC escapes. PR9224.
llvm-svn: 125707
|
| |
|
|
| |
llvm-svn: 125706
|