| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
is specified.
For GCC compatibility.
llvm-svn: 171991
|
| |
|
|
|
|
|
|
| |
imaginary and real parts yet.
Fixes false positive reported in <rdar://problem/12964481>.
llvm-svn: 171987
|
| |
|
|
|
|
| |
Modified from a patch by David Greene.
llvm-svn: 171982
|
| |
|
|
|
|
| |
Fixes pr14861.
llvm-svn: 171978
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, we'd always start at indent level 0 after a preprocessor
directive, now we layout the following snippet (column limit 69) as
follows:
functionCallTo(someOtherFunction(
withSomeParameters, whichInSequence,
areLongerThanALine(andAnotherCall,
B
withMoreParamters,
whichStronglyInfluenceTheLayout),
andMoreParameters),
trailing);
Note that the different jumping indent is a different issue that will be
addressed separately.
This is the first step towards handling #ifdef->#else->#endif chains
correctly.
llvm-svn: 171974
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes llvm.org/PR14870 and we no longer mess up:
template <typename T1, typename T2 = char, typename T3 = char,
typename T4 = char>
void f();
It removes the nice aligment for assignments inside other expressions,
but I am not sure those are actually practically relevant. If so, we can
fix those later.
llvm-svn: 171966
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This addresses llvm.org/PR14847.
We can now format something like:
int aaaaaaaaaaaaaaaaaaaaaaaaaaa =
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
clang-format unavoidably exceeds the column limit, but does not just
flush everything into a single line. Moreover, it tries to minimize the
number of characters beyond the column limit.
llvm-svn: 171964
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes llvm.org/PR14846.
Before:
template <typename T>
void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
int aaaaaaaaaaaaaaaaa);
After:
template <typename T>
void aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
int aaaaaaaaaaaaaaaaa);
llvm-svn: 171963
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This fixes llvm.org/PR14860.
Before, we messed up the format of:
if (DeclaratorInfo.isFunctionDeclarator() &&
//getDeclSpecContextFromDeclaratorContext(Context) == DSC_top_level &&
Tok.is(tok::semi) && NextToken().is(tok::l_brace)) {
}
llvm-svn: 171961
|
| |
|
|
|
|
| |
Before: int ( ^ Block1) (int, int) = ^ (int i, int j)
After: int (^Block1) (int, int) = ^(int i, int j)
llvm-svn: 171959
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This addresses llvm.org/PR14864.
We used to completely mess this up and now format as:
Diag(NewFD->getLocation(),
getLangOpts().MicrosoftExt ? diag::ext_function_specialization_in_class :
diag::err_function_specialization_in_class)
<< NewFD->getDeclName();
llvm-svn: 171957
|
| |
|
|
| |
llvm-svn: 171947
|
| |
|
|
|
|
|
|
| |
-P" mode. <rdar://problem/12774044>
llvm-svn: 171944
|
| |
|
|
|
|
| |
<rdar://problem/12748859>.
llvm-svn: 171939
|
| |
|
|
|
|
|
|
|
|
| |
(because they are part of some module) but have not been made visible
(because they are in a submodule that wasn't imported), filter out
those declarations unless both the old declaration and the new
declaration have external linkage. When one or both has internal
linkage, there should be no conflict unless both are imported.
llvm-svn: 171925
|
| |
|
|
|
|
| |
in lambdas.
llvm-svn: 171921
|
| |
|
|
| |
llvm-svn: 171917
|
| |
|
|
| |
llvm-svn: 171915
|
| |
|
|
| |
llvm-svn: 171913
|
| |
|
|
|
|
|
|
| |
struct variables with flexiable array members in
blocks (and lambdas). Issue error instead of
crashing in IRGen. // rdar://12655829
llvm-svn: 171912
|
| |
|
|
| |
llvm-svn: 171908
|
| |
|
|
| |
llvm-svn: 171906
|
| |
|
|
| |
llvm-svn: 171902
|
| |
|
|
| |
llvm-svn: 171899
|
| |
|
|
| |
llvm-svn: 171895
|
| |
|
|
| |
llvm-svn: 171894
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa, *
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
After:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaa, *aaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
llvm-svn: 171890
|
| |
|
|
|
|
| |
Thanks to Dmitri Gribenko for the suggestion.
llvm-svn: 171889
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the source
static void f();
static void f();
template<typename T>
static void g() {
f();
}
static void f() {
}
void h() {
g<int>();
}
the call to f refers to the second decl, but it is only marked used at the end
of the translation unit during instantiation, after the third f decl has been
linked in.
With this patch we mark all subsequent decls used, so that it is easy to check
if a symbol is used or not.
llvm-svn: 171888
|
| |
|
|
|
|
| |
work.
llvm-svn: 171887
|
| |
|
|
|
|
|
| |
This makes us more optimistic when matching reports in a changing code
base. Addresses Jordan's feedback for r171825.
llvm-svn: 171884
|
| |
|
|
|
|
|
| |
attribute when determining whether we need to see an implementation of
a property. Fixes <rdar://problem/12958191>.
llvm-svn: 171877
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Clang/LLVM this seems to be the more common formatting for ##s. There
might still be case that we miss, but we'll fix those as we go along.
Before:
#define A(X)
void function ## X();
After:
#define A(X)
void function##X();
llvm-svn: 171862
|
| |
|
|
|
|
| |
Fixes pr14835.
llvm-svn: 171857
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a first step towards supporting more complex structures such
as #ifs inside unwrapped lines. This patch mostly converts the array-based
UnwrappedLine into a linked-list-based UnwrappedLine. Future changes will
allow multiple children for each Token turning the UnwrappedLine into a
tree.
No functional changes intended.
llvm-svn: 171856
|
| |
|
|
|
|
|
| |
The availability implies default visibility, so it can change the computed
visibility.
llvm-svn: 171840
|
| |
|
|
|
|
| |
Fixes <rdar://problem/12322000>.
llvm-svn: 171831
|
| |
|
|
|
|
|
|
|
| |
statements,
that the case does not "contain" a declaration that is referenced "outside" of it,
otherwise we will emit un-compilable code.
llvm-svn: 171828
|
| |
|
|
|
|
|
| |
bits from the number of parameters. This brings the bitfields down from 33 bits
to 32 bits, reducing the size of Types by 4 bytes on 32-bit systems.
llvm-svn: 171827
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The issue here is that if we have 2 leaks reported at the same line for
which we cannot print the corresponding region info, they will get
treated as the same by issue_hash+description. We need to AUGMENT the
issue_hash with the allocation info to differentiate the two issues.
Add the "hash" (offset from the beginning of a function) representing
allocation site to solve the issue.
We might want to generalize solution in the future when we decide to
track more than just the 2 locations from the diagnostics.
llvm-svn: 171825
|
| |
|
|
|
|
| |
This gives more flexibility to what could be stored as issue_hash.
llvm-svn: 171824
|
| |
|
|
|
|
|
| |
perform the semantic checks associated with the destruction of that temporary.
It'll be destroyed at the end of the constructor.
llvm-svn: 171818
|
| |
|
|
| |
llvm-svn: 171817
|
| |
|
|
|
|
|
|
|
|
| |
This is in preparation for using this to construct the function type for
pointers to member functions to include the implicit/artificial 'this'
parameter in that case as well. (feedback from GDB indicates that this might be
all that's necessary to get it to behave well with Clang's pointer-to-member
function debug output)
llvm-svn: 171809
|
| |
|
|
| |
llvm-svn: 171801
|
| |
|
|
|
|
| |
No (intended) functional change.
llvm-svn: 171800
|
| |
|
|
|
|
| |
related to // rdar://12958878
llvm-svn: 171792
|
| |
|
|
|
|
| |
can create a VLA of class type. Fixes <rdar://problem/12151822>.
llvm-svn: 171783
|
| |
|
|
| |
llvm-svn: 171782
|
| |
|
|
|
|
| |
Patch by Nick Lewycky. Fixes pr8703.
llvm-svn: 171781
|