| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
This boils down to us sending invalid function decls to
CheckFunctionDeclaration becauswe we did not consider that CheckMain
could cause the decl to be invalid. Instead, interogate the new decl's
main-validity and *then* send it over to get CheckFunctionDeclaration'd
if it was still valid after calling CheckMain.
llvm-svn: 185745
|
| |
|
|
| |
llvm-svn: 185736
|
| |
|
|
|
|
| |
class type. // rdar://14261999
llvm-svn: 185734
|
| |
|
|
|
|
|
| |
Include a test that clang now produces output files with permissions matching
the umask.
llvm-svn: 185727
|
| |
|
|
|
|
|
|
| |
declaration was affected by "@optional"
rdar://14348525.
llvm-svn: 185722
|
| |
|
|
|
|
|
|
| |
As it turns out, the NoFunction bit for local class mangling needed to be
propagated into more places. r185450 turned what used to be an incorrect
mangling into an assertion.
llvm-svn: 185713
|
| |
|
|
|
|
| |
abstract class type. // rdar://14261999
llvm-svn: 185710
|
| |
|
|
| |
llvm-svn: 185708
|
| |
|
|
| |
llvm-svn: 185679
|
| |
|
|
| |
llvm-svn: 185668
|
| |
|
|
|
|
|
| |
Some versions of python will expand the glob used in the test, others wont,
causing the test to fail when run with LIT_USE_INTERNAL_SHELL=1.
llvm-svn: 185653
|
| |
|
|
|
|
|
| |
This is at least good documentation, but also opens the possibility of
using pipefail.
llvm-svn: 185652
|
| |
|
|
| |
llvm-svn: 185650
|
| |
|
|
| |
llvm-svn: 185649
|
| |
|
|
|
|
| |
This avoids depending on pipefail not being used.
llvm-svn: 185648
|
| |
|
|
| |
llvm-svn: 185647
|
| |
|
|
| |
llvm-svn: 185645
|
| |
|
|
| |
llvm-svn: 185644
|
| |
|
|
| |
llvm-svn: 185643
|
| |
|
|
| |
llvm-svn: 185641
|
| |
|
|
| |
llvm-svn: 185639
|
| |
|
|
| |
llvm-svn: 185637
|
| |
|
|
| |
llvm-svn: 185636
|
| |
|
|
| |
llvm-svn: 185635
|
| |
|
|
|
|
|
|
| |
The test was passing because clang would still print the ast before exiting
with an error. Since that didn't seem to be the intent of the test, I change
the test instead of adding 'not' to the command line.
llvm-svn: 185634
|
| |
|
|
|
|
|
| |
It was trivially passing because of the tcl quotes and we have better datalayout
tests.
llvm-svn: 185630
|
| |
|
|
|
|
|
| |
It was not clear what was being tested and the test was trivially passing
by getting grep confused with tcl quotes.
llvm-svn: 185629
|
| |
|
|
| |
llvm-svn: 185628
|
| |
|
|
| |
llvm-svn: 185614
|
| |
|
|
| |
llvm-svn: 185613
|
| |
|
|
|
|
|
|
|
|
|
| |
The motivation is to suppresses false use-after-free reports that occur when calling
std::list::pop_front() or std::list::pop_back() twice. The analyzer does not
reason about the internal invariants of the list implementation, so just do not report
any of warnings in std::list.
Fixes radar://14317928.
llvm-svn: 185609
|
| |
|
|
|
|
|
| |
This suppresses a false positive in std::hash_map.
Fixes radar://14255587.
llvm-svn: 185608
|
| |
|
|
|
|
|
|
|
| |
substitution failed, report that as a substitution failure rather than
pretending that there was no default argument.
The test cases in PR15673 have exposed some pre-existing poor diagnostics here.
llvm-svn: 185604
|
| |
|
|
| |
llvm-svn: 185602
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
previously didn't work if a mem-initializer-id had a template argument which
contained parentheses or braces.
We now implement a simple rule: just look for a ') {' or '} {' that is not
nested. The '{' is assumed to start the function-body. There are still two
cases which we misparse, where the ') {' comes from a compound literal or
from a lambda. The former case is not valid C++, and the latter will probably
not be valid C++ once DR1607 is resolved, so these seem to be of low value,
and we do not regress on them with this change. EDG and g++ also misparse
both of these cases.
llvm-svn: 185598
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR16456 reported that Clang implements a hybrid between AltiVec's
"Keyword and Predefine Method" and its "Context Sensitive Keyword
Method," where "bool" is always a keyword, but "vector" and "pixel"
are context-sensitive keywords. This isn't permitted by the AltiVec
spec. For consistency with gcc, this patch implements the Context
Sensitive Keyword Method for bool, and stops treating true and false
as keywords in Altivec mode.
The patch removes KEYALTIVEC as a trigger for defining these keywords
in include/clang/Basic/TokenKinds.def, and adds logic for "vector
bool" that mirrors the existing logic for "vector pixel." The test
case is taken from the bug report.
llvm-svn: 185580
|
| |
|
|
| |
llvm-svn: 185578
|
| |
|
|
| |
llvm-svn: 185577
|
| |
|
|
|
|
| |
It's not the case on ie. FreeBSD.
llvm-svn: 185572
|
| |
|
|
|
|
|
|
|
|
|
| |
Without fmath-errno, Clang currently generates calls to @llvm.pow.* intrinsics
when it sees pow*(). This may not be suitable for all targets (for
example le32/PNaCl), so the attached patch adds a target hook that CodeGen
queries. The target can state its preference for having or not having the
intrinsic generated. Non-PNaCl behavior remains unchanged;
PNaCl-specific test added.
llvm-svn: 185568
|
| |
|
|
|
|
| |
<stdint.h> (which might not exist or might not work).
llvm-svn: 185565
|
| |
|
|
|
|
| |
Verify that assembling an empty file does not auto-include altivec.h.
llvm-svn: 185563
|
| |
|
|
| |
llvm-svn: 185543
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The analyzer incorrectly handled noreturn destructors which were hidden inside
function calls. This happened because NoReturnFunctionChecker only listened for
PostStmt events, which are not executed for destructor calls. I've changed it to
listen to PostCall events, which should catch both cases.
Reviewers: jordan_rose
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1056
llvm-svn: 185522
|
| |
|
|
| |
llvm-svn: 185493
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The removal is tried by retrying the failed lookup of a correction
candidate with either the MemberContext or SS (CXXScopeSpecifier) or
both set to NULL if they weren't already. If the candidate identifier
is then looked up successfully, make a note in the candidate that the
SourceRange should include any existing nested name specifier even if
the candidate isn't adding a different one (i.e. the candidate has a
NULL NestedNameSpecifier).
Also tweak the diagnostic messages to differentiate between a suggestion
that just replaces the identifer but leaves the existing nested name
specifier intact and one that replaces the entire qualified identifier,
in cases where the suggested replacement is unqualified.
llvm-svn: 185487
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
NestedNameSpecifier.
CorrectTypo will now see and consider those corrections that are effectively
shadowed by other declarations in a closer context when resolved via an
unqualified lookup. This involves adding any parent namespaces to the set of
namespaces as fully-qualified name specifiers, and also adding potential
corrections that passed name lookup but were rejected by the given
CorrectionCandidateCallback into the set of failed corrections that should be
tried with the set of namespace specifiers.
llvm-svn: 185486
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Darwin systems currently do not support dwarf version 3 or above. When we are
ready, we can bump the default to gdwarf-4 for Darwin.
For other systems, the default is dwarf version 3, if everything goes smoothly,
we can bump the version to 4.
rdar://13591116
llvm-svn: 185483
|
| |
|
|
|
|
| |
the test environment.
llvm-svn: 185470
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unlike Itanium, there is no code to indicate the beginning of a
parameter pack. I tested this with MSVC 2013, which is the only version
that implements variadic templates so far.
This is needed to compile APInt.cpp for the MS C++ ABI.
Reviewers: timurrrr
Differential Revision: http://llvm-reviews.chandlerc.com/D1077
llvm-svn: 185454
|