| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
passing -Wunknown-warning-option will re-enable warnings about -Wno-foo.
llvm-svn: 132570
|
| |
|
|
|
|
|
|
|
|
| |
Warn in cases such as "x + someCondition ? 42 : 0;",
where the condition expression looks arithmetic, and has
a right-hand side that looks boolean.
This (partly) addresses http://llvm.org/bugs/show_bug.cgi?id=9969
llvm-svn: 132565
|
| |
|
|
|
|
|
|
| |
In code such as "char* volatile const j()", Clang warns that "volatile
const" will be ignored. Make it point to the first ignored qualifier,
and simplify the code a bit.
llvm-svn: 132563
|
| |
|
|
| |
llvm-svn: 132560
|
| |
|
|
| |
llvm-svn: 132557
|
| |
|
|
|
|
|
|
|
|
| |
we look in /usr/lib to find crt1.o, and that depends only on where libc
is installed.
This fixes the case of using a different gcc installation in a distro
without multilib.
llvm-svn: 132551
|
| |
|
|
| |
llvm-svn: 132550
|
| |
|
|
| |
llvm-svn: 132548
|
| |
|
|
|
|
|
| |
Sema::RequireCompleteExprType() a bit more, setting the point of
instantiation if needed, and skipping explicit specializations entirely.
llvm-svn: 132547
|
| |
|
|
| |
llvm-svn: 132546
|
| |
|
|
| |
llvm-svn: 132544
|
| |
|
|
| |
llvm-svn: 132543
|
| |
|
|
|
|
| |
places this is a problem.
llvm-svn: 132542
|
| |
|
|
|
|
|
|
| |
Patch by Tobias Hunger!
Fixes PR10008
llvm-svn: 132541
|
| |
|
|
|
|
| |
Found by valgrind.
llvm-svn: 132540
|
| |
|
|
|
|
|
|
|
|
|
| |
(tested on Windows and Darwin).
This fixes a bug on Windows:
clang c:\test.cpp
Here the call stat("c:") is not recognized as a directory (must be "c:\").
llvm-svn: 132539
|
| |
|
|
|
|
| |
I'll try to implement this functionality again soon.
llvm-svn: 132536
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
diagnostic group to cover the cases where we have definitively bad
behavior: dynamic classes.
It also rips out the existing support for POD-based checking. This
didn't work well, and triggered too many false positives. I'm looking
into a possibly more principled way to warn on the fundamental buggy
construct here. POD-ness isn't the critical aspect anyways, so a clean
slate is better. This also removes some silliness from the code until
the new checks arrive.
llvm-svn: 132534
|
| |
|
|
| |
llvm-svn: 132531
|
| |
|
|
|
|
|
|
|
| |
of incomplete array type, attempt to complete the array type. This was
made much easier by Chandler's addition of RequireCompleteExprType(),
which I've tweaked (slightly) to improve the consistency of the
DeclRefExpr. Fixes PR7985.
llvm-svn: 132530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the template parameter, perform the checking as a "specified" template
argument rather than a "deduced" template argument; the latter implies
stricter type checking that is not permitted for default template
arguments.
Also, cleanup our handling of substitution of explicit template
arguments for a function template. We were actually performing some
substitution of default arguments at this point!
Fixes PR10069.
llvm-svn: 132529
|
| |
|
|
|
|
|
| |
DeclRefExprs, IntegerLiterals, and others, reducing Cocoa PCH size by
~1% and C++ header size by ~2.5%. From Jonathan Turner!
llvm-svn: 132528
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch we would still link with the system libstdc++. It worked
fine most of the time, but would break if the used headers were a lot newer
than the system libraries.
This patch changes the driver to use the libraries corresponding to the
headers the user selected.
This fixes, for example, using 4.5 headers in a system with gcc 4.1.
llvm-svn: 132497
|
| |
|
|
| |
llvm-svn: 132489
|
| |
|
|
|
|
|
|
|
|
| |
in ASTReader::validateFileEntries().
This avoids going through all source location entries and fixes the performance regression.
Many thanks to Doug for the hint!
(rdar://9530587)
llvm-svn: 132481
|
| |
|
|
| |
llvm-svn: 132474
|
| |
|
|
| |
llvm-svn: 132468
|
| |
|
|
| |
llvm-svn: 132462
|
| |
|
|
| |
llvm-svn: 132460
|
| |
|
|
|
|
|
|
| |
+keyPathsForValuesAffecting<Key> completion was mislabeled as an
instance method, and +automaticallyNotifiesObserversOf<Key> was
missing entirely. Fixes <rdar://problem/9516762>.
llvm-svn: 132452
|
| |
|
|
| |
llvm-svn: 132447
|
| |
|
|
| |
llvm-svn: 132443
|
| |
|
|
|
|
| |
nested types, from Michael Han!
llvm-svn: 132431
|
| |
|
|
|
|
|
| |
idea at some point to split out the directories where we install our runtime
libraries.
llvm-svn: 132425
|
| |
|
|
|
|
|
| |
constant-expression, and, therefore, an unevaluated operand. Make it
so.
llvm-svn: 132400
|
| |
|
|
|
|
| |
pointers. Fixes PR10052.
llvm-svn: 132397
|
| |
|
|
|
|
| |
function might need to clean up its temporaries. Fixes PR10057.
llvm-svn: 132390
|
| |
|
|
|
|
|
|
| |
a file was modified since the time the PCH was created.
The parser is not fit to deal with stale PCHs, too many invariants do not hold up. rdar://9530587.
llvm-svn: 132389
|
| |
|
|
| |
llvm-svn: 132387
|
| |
|
|
|
|
|
|
|
|
|
| |
tools that match on the C++ ASTs. The main interface is in ASTMatchers.h,
an example implementation of a tool that removes redundant .c_str() calls
is in the example RemoveCStrCalls.cpp.
Various contributions:
Zhanyong Wan, Chandler Carruth, Marcin Kowalczyk, Wei Xu, James Dennett.
llvm-svn: 132374
|
| |
|
|
|
|
| |
pointed out a better/simpler way to do it.
llvm-svn: 132369
|
| |
|
|
|
|
| |
parameters directly.
llvm-svn: 132368
|
| |
|
|
| |
llvm-svn: 132361
|
| |
|
|
| |
llvm-svn: 132357
|
| |
|
|
|
|
| |
expression. Fixes bug raised by hhinnant to cfe-dev
llvm-svn: 132350
|
| |
|
|
| |
llvm-svn: 132338
|
| |
|
|
|
|
| |
declaration. This should fix the asserting buildbot.
llvm-svn: 132333
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
declaration if the tag name is not already declared. The tag name is declared in the next outermost non record scope.
Example:
class A {
friend class B;
B* b;
};
B* global_b;
llvm-svn: 132332
|
| |
|
|
|
|
|
|
|
| |
vtables! Fixes PR10020
This also allows us to revert the part of r130023 which added a big loop around
the template instantiation.
llvm-svn: 132331
|
| |
|
|
|
|
|
|
|
|
|
|
| |
return f() || -1;
where the user meant to write '|'.
This bootstraps without any additional warnings.
Patch by Richard Trieu.
llvm-svn: 132327
|