| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
when they actually do.
llvm-svn: 194156
|
| |
|
|
|
|
|
|
| |
- Use the 'libclang.exports' file.
- Pass -Wl,-current_version
- Set install name to "@rpath"
llvm-svn: 194134
|
| |
|
|
| |
llvm-svn: 194132
|
| |
|
|
| |
llvm-svn: 194124
|
| |
|
|
| |
llvm-svn: 194119
|
| |
|
|
|
|
|
| |
earlier 'non-constant' diagnostic with a later one if the earlier one was from
a side-effect we thought we could evaluate past.
llvm-svn: 194117
|
| |
|
|
|
|
|
|
|
|
| |
bitfield
This patch adds the same behavior to clang.
Differential Revision: http://llvm-reviews.chandlerc.com/D2103
llvm-svn: 194115
|
| |
|
|
|
|
|
|
|
| |
These functions can generally be applied to multiple kinds of AST node,
so it makes sense to add them to DynTypedNode.
Differential Revision: http://llvm-reviews.chandlerc.com/D2096
llvm-svn: 194113
|
| |
|
|
|
|
|
|
|
| |
The purpose of this function is to allow clients of the dynamic AST matcher
to enumerate each binding.
Differential Revision: http://llvm-reviews.chandlerc.com/D2095
llvm-svn: 194112
|
| |
|
|
|
|
| |
on smart pointers. -Wthread-safety-beta only.
llvm-svn: 194103
|
| |
|
|
|
|
|
|
| |
NS_RETURNS_INNER_POINTER under -objcmt-returns-innerpointer-property
flag (off by default), as older compilers do not support such annotations.
// rdar://15396636
llvm-svn: 194100
|
| |
|
|
|
|
| |
checking an expression for constant overflow.
llvm-svn: 194099
|
| |
|
|
|
|
|
|
|
| |
bit more robust against future changes. This includes a slight diagnostic
improvement: if we know we're only trying to form a constant expression, take
the first diagnostic which shows the expression is not a constant expression,
rather than preferring the first one which makes the expression unfoldable.
llvm-svn: 194098
|
| |
|
|
|
|
|
|
|
|
|
| |
hack of passing -fconst-strings to -cc1, but at least the driver uses
the regular warning checking code path.
Since we don't support a warning that is DefaultIgnore in one language
but not in another, this patch creates a dummy C only warning in the same
group as the existing one to get the desired effect.
llvm-svn: 194097
|
| |
|
|
|
|
|
| |
This is a small optimization on linux, but should help more on windows
where msvc only outputs one destructor if there would be two identical ones.
llvm-svn: 194095
|
| |
|
|
|
|
|
|
| |
another typo in a comment, and update formatting of some comments to
use Doxygen \brief annotations instead of repeating the name of the
documented entity.
llvm-svn: 194092
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, clang-format would always format entire nested blocks, which
can be unwanted e.g. for long DEBUG({...}) statements. Also
clang-format would not allow to merge lines in nested blocks (e.g. to
put "if (a) return;" on one line in Google style).
This is the first step of several refactorings mostly focussing on the
additional functionality (by reusing the "format many lines" code to
format the children of a nested block). The next steps are:
* Pull out the line merging into its own class.
* Seperate the formatting of many lines from the formatting of a single
line (and the analysis of the solution space).
llvm-svn: 194090
|
| |
|
|
|
|
|
| |
Revert this patch until cases of rejected valid code (e.g. identifiers
that require ADL to be resolved properly) are fixed.
llvm-svn: 194088
|
| |
|
|
| |
llvm-svn: 194086
|
| |
|
|
| |
llvm-svn: 194082
|
| |
|
|
|
|
| |
Third time's the charm, sorry for the noise.
llvm-svn: 194076
|
| |
|
|
|
|
| |
XFAIL wasn't enough for some of the build servers.
llvm-svn: 194073
|
| |
|
|
|
|
|
|
|
|
|
| |
Turns out this has always been crashing since the test landed in
r186647:
Assertion failed: (Access != AS_none && "Access specifier is AS_none inside a record decl"), function CheckAccessDeclContext, file clang/lib/AST/DeclBase.cpp, line 690.
Needs attention.
llvm-svn: 194072
|
| |
|
|
|
|
|
|
| |
llc waits for input on stdin, which was not provided in this test. It
was running only thanks to a quirk in the way lit concatenates
commands.
llvm-svn: 194071
|
| |
|
|
| |
llvm-svn: 194070
|
| |
|
|
| |
llvm-svn: 194069
|
| |
|
|
| |
llvm-svn: 194068
|
| |
|
|
| |
llvm-svn: 194061
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'##'
After lexing a '##', we would look ahead and check to see if it was
followed by '__VA_ARGS__'. After doing so, we would then go ahead and
lex the token.
However we would fail in the case where the '##' was followed by a '#'
followed by an identifier because we would have lexed the '#' separately
from the identifier, bypassing our parameter validation logic.
Instead, lex the tokens coming after the '##' later.
This fixes PR17804.
llvm-svn: 194059
|
| |
|
|
| |
llvm-svn: 194056
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
deallocation function (and the corresponding unsized deallocation function has
been declared), emit a weak discardable definition of the function that
forwards to the corresponding unsized deallocation.
This allows a C++ standard library implementation to provide both a sized and
an unsized deallocation function, where the unsized one does not just call the
sized one, for instance by putting both in the same object file within an
archive.
llvm-svn: 194055
|
| |
|
|
| |
llvm-svn: 194054
|
| |
|
|
| |
llvm-svn: 194052
|
| |
|
|
| |
llvm-svn: 194050
|
| |
|
|
| |
llvm-svn: 194049
|
| |
|
|
|
|
|
| |
This reverts commit r194046.
Debugging a bootstrap issue.
llvm-svn: 194047
|
| |
|
|
|
|
|
| |
This is a small optimization on linux, but should help more on windows
where msvc only outputs one destructor if there would be two identical ones.
llvm-svn: 194046
|
| |
|
|
| |
llvm-svn: 194042
|
| |
|
|
|
|
|
| |
"Missing call to Super" in the overriding method and
not in the method itself. // rdar://15385981.
llvm-svn: 194031
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes Richard's testcase for r193815. Now we include non-explicit
submodules into the list of exports.
The test failed previously because:
- recursive_visibility_a1.inner is not imported (only recursive_visibility_a1 is),
- thus the 'inner' submodule is not showing up in any of the import lists,
- and because of this getExportedModules() is not returning the
correct module set -- it only considers modules that are imported.
The fix is to make Module::getExportedModules() include non-explicit submodules
into the list of exports.
llvm-svn: 194018
|
| |
|
|
| |
llvm-svn: 194005
|
| |
|
|
|
|
| |
The analyzer cannot reason about the internal invariances of the data structure (radar://15194597).
llvm-svn: 194004
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Similar C code isn't caught as it seems to hit a different code path.
Also, as the check is only done for record pointers, cases involving
an overloaded operator-> are not handled either. Note that the reason
this check is done in the parser instead of Sema is not related to
having enough knowledge about the current state as it is about being
able to fix up the parser's state to be able to recover and traverse the
correct code paths.
llvm-svn: 194002
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch we produce alias for cases like
template<typename T>
struct foobar {
foobar() {
}
};
template struct foobar<void>;
We just have to be careful to produce the same aliases in every TU because
of comdats.
llvm-svn: 194000
|
| |
|
|
| |
llvm-svn: 193997
|
| |
|
|
| |
llvm-svn: 193995
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A while ago EmitForStmt was changed to explicitly evaluate the
condition expression and create a branch instead of using
EmitBranchOnBool, so that the condition expression could be used for
some cleanup logic. The cleanup stuff has since been reorganized, and
this is no longer necessary.
In EmitCXXForRange, the evaluated condition was never used for
anything else. The logic was presumably modeled on EmitForStmt.
llvm-svn: 193994
|
| |
|
|
|
|
|
|
| |
An initialization somehow found its way in between a comment and the
block of code the comment is about. Moving the initialization makes
this less confusing.
llvm-svn: 193993
|
| |
|
|
|
|
| |
ClangAttrTypeArg is required here.
llvm-svn: 193991
|
| |
|
|
| |
llvm-svn: 193990
|