History log of /external/clang/lib/Format/UnwrappedLineParser.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
33337ca4d89605025818daf83390ab4271d598d9 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master clang for rebase to r235153

Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/lib/Format/UnwrappedLineParser.cpp
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master clang for rebase to r233350

Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/lib/Format/UnwrappedLineParser.cpp
0e2c34f92f00628d48968dfea096d36381f494cb 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master clang for rebase to r230699.

Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/Format/UnwrappedLineParser.cpp
176edba5311f6eff0cad2631449885ddf4fbc9ea 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master Clang for rebase to r222490.

Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/Format/UnwrappedLineParser.cpp
c568f1e98938584c0ef0b12ae5018ff7d90a4072 21-Jul-2014 Stephen Hines <srhines@google.com> Update Clang for rebase to r212749.

This also fixes a small issue with arm_neon.h not being generated always.

Includes a cherry-pick of:
r213450 - fixes mac-specific header issue
r213126 - removes a default -Bsymbolic on Android

Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/Format/UnwrappedLineParser.cpp
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/Format/UnwrappedLineParser.cpp
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/Format/UnwrappedLineParser.cpp
45206cac6339a675348a5675b5744148d3aba2f4 22-Oct-2013 Manuel Klimek <klimek@google.com> Remove incorrect assert.

If we run into the second preprocessor branch chain, the first branch
chain might have already set the maximum branch count on that level to
something > 0.

Fixes PR17645.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
aabfb2712e180bb11e5dfc4f2a273890a6c5da66 13-Oct-2013 Manuel Klimek <klimek@google.com> Automatically munch semicolons after blocks.

While it is mostly a user error to have the extra semicolon,
formatting it graciously will correctly format in the cases
where we do not fully understand the code (macros).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
ac4d0181928e3e22fa3929ca1b24ae7f14fb7628 12-Oct-2013 Daniel Jasper <djasper@google.com> clang-format: Fix assertion on unterminated #ifs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
ae76f7f850a9101a20191b10241ca72c23dc40dd 11-Oct-2013 Manuel Klimek <klimek@google.com> Support formatting of preprocessor branches.

We now correctly format:
void SomeFunction(int param1,
#ifdef X
NoTemplate param2,
#else
template <
#ifdef A
MyType<Some> >
#else
Type1, Type2>
#endif
param2,
#endif
param3) {
f();
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
3d712898fcabf5747db25dac497747572d506c7a 07-Oct-2013 Manuel Klimek <klimek@google.com> Fix incorrect detection of class definitions with alignas specification.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
ac885cd60267afbe67c9ed61515be3816032bba2 13-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Detect braced lists in subscript expressions.

Before (even with Style.Cpp11BracedListStyle):
f(MyMap[{ composite, key }]);

After:
f(MyMap[{composite, key}]);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
5798120bc015360951d13a06e17501b909ecd21d 13-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Fix incorrect enum parsing / layouting.

Before:
enum {
Bar = Foo < int,
int > ::value
};

After:
enum {
Bar = Foo<int, int>::value
};

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
e27dc5d8ab967912b9a3d792ad32cad63981a974 06-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Format typed enums with nested names.

The explicit type specified for an enum can actually have a nested name
specifier.

This fixes llvm.org/PR17125.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
520cca87e38185872212849562951906be5068e9 06-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Don't confuse operator[] with lambdas.

Before:
double &operator[](int i) { return 0; } int i;

After:
double &operator[](int i) { return 0; }
int i;

This fixes llvm.org/PR17134.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d98927d76557653fc517f997db89378267f9bdf3 05-Sep-2013 Daniel Jasper <djasper@google.com> Add ATTRIBUTE_UNUSED to silence unused-function warning in release
builds.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
e11e45f624bf848315cf7b1862b69baf76cd5a38 05-Sep-2013 Manuel Klimek <klimek@google.com> Fixes PR 17106 (explicitly typed enums are formatted differently).

Before:
enum X : int { A, B, C };

After:
enum X : int {
A,
B,
C
};

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
2d65705ed0a72ab57b8a062c44c9caa377f9fd2a 05-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Quickfix for braced init lists detected as lambdas.

Before:
constexpr char hello [] { "hello" };

After:
constexpr char hello[]{ "hello" };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
ac2c974bc64d3767ad5e39451a874c50b3004b3a 05-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Fix parsing and indenting lambdas.

Before:
void f() {
other(x.begin(), x.end(), //
[&](int, int) { return 1; });
}

After:
void f() {
other(x.begin(), x.end(), //
[&](int, int) { return 1; });
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
567dcf95424d69657f75e4bfd028967ca1f9eb8d 05-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Enable formatting of nested blocks.

Among other things, this enables (better) formatting lambdas and
constructs like:
MACRO({
long_statement();
long_statement_2();
},
{
long_statement();
long_statement_2();
},
{ short_statement(); }, "");

This fixes llvm.org/PR15381.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
b7d98a1bd42601a745328e118ed38034a391cc92 04-Sep-2013 Manuel Klimek <klimek@google.com> Remove code duplication in unwrapped line parser.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
753a5114f9076c545c33cf3ced0d76e27bc0a2d5 04-Sep-2013 Manuel Klimek <klimek@google.com> Implement parsing of blocks (^{ ... }) in the unwrapped line parser.

This patch makes sure we produce the right number of unwrapped lines,
a follow-up patch will make the whitespace formatting consistent.

Before:
void f() {
int i = {[operation setCompletionBlock : ^{ [self onOperationDone];
}]
}
;
}

After:
void f() {
int i = {[operation setCompletionBlock : ^{
[self onOperationDone];
}] };
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
31e44f7a5d50ab8f7f623a7d2e18d5d877ef400d 04-Sep-2013 Manuel Klimek <klimek@google.com> Fix layout of lambda captures.

Before:
int c = [ &, &a, a]{
[ =, c, &d]{
return b++;
}();
}();

After:
int c = [&, &a, a] {
[=, c, &d] {
return b++;
}();
}();

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
b61a8afba4120f5f1f1af4c7d2a6646a65bd8020 03-Sep-2013 Manuel Klimek <klimek@google.com> First step towards correctly formatting lambdas.

Implements parsing of lambdas in the UnwrappedLineParser.
This introduces the correct line breaks; the formatting of
lambda captures are still incorrect, and the braces are also
still formatted as if they were braced init lists instead of
blocks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
67cf1dbdd2e1e167a34b849386916450649564cb 02-Sep-2013 Daniel Jasper <djasper@google.com> clang-format: Fix case-indentation in macros.

Before:
#define OPERATION_CASE(name) \
case OP_name: \
return operations::Operation##name

After:
#define OPERATION_CASE(name) \
case OP_name: \
return operations::Operation##name

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
4b434cf0c913a853cb5fd5011a631447836563b2 30-Aug-2013 Daniel Jasper <djasper@google.com> clang-format: Improve recovery from enums with errors.

Before:
namespace n {
enum Type {
One,
Two, // missing };
int i;
} void g() {
}

After:
namespace n {
enum Type {
One,
Two, // missing };
int i;
}
void g() {}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
7186ccc86ee5802c33886d6dd4c5386c7e9fd1aa 28-Aug-2013 Daniel Jasper <djasper@google.com> clang-format: Fix corner case in ObjC interface definitions.

In
@implementation ObjcClass
- (void)method;
{
}
@end
the ObjC compiler seems to accept the superfluous comma after "method",
but clang-format used to assert on the subsequent "{".

This fixes llvm.org/PR16604.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f439dcb4ecb444df538c42b3284c093886fc7ab1 28-Aug-2013 Daniel Jasper <djasper@google.com> clang-format: Improve braced init list detection:

Before:
std::this_thread::sleep_for(std::chrono::nanoseconds{
std::chrono::seconds { 1 }
} /
5);

After:
std::this_thread::sleep_for(
std::chrono::nanoseconds{ std::chrono::seconds{ 1 } } / 5);

This fixes llvm.org/PR16554.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
cbeb1c6f337f73fe7d1135b379e45fbda0c4766d 20-Aug-2013 Daniel Jasper <djasper@google.com> clang-format: Format enum struct/class like enum.

Patch by Joe Hermaszewski. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d3a247cc4e136af6b71dc5968ca6190e6c68f4c5 07-Aug-2013 Manuel Klimek <klimek@google.com> Fixes a couple of bugs with the Allman brace breaking.

In particular, left braces after an enum declaration now occur on their
own line. Further, when short ifs/whiles are allowed these no longer
cause the left brace to be on the same line as the if/while when a
brace is included.

Patch by Thomas Gibson-Robinson.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
e490705e6678a2e830cecacbe8142d9b369d8341 02-Aug-2013 Manuel Klimek <klimek@google.com> Implement Allman style.

Patch by Frank Miller.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
eff18b9b6f1218a6bbe4869989b08867823a4e75 01-Aug-2013 Daniel Jasper <djasper@google.com> clang-format: Add more options to namespace indentation.

With this patch, clang-format can be configured to:
* not indent in namespace at all (former behavior).
* indent in namespace as in other blocks.
* indent only in inner namespaces (as required by WebKit style).

Also fix alignment of access specifiers in WebKit style.

Patch started by Marek Kurdej. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
e865cc5e183a25983bc79aca2c9bc9a6fb775ab2 25-Jul-2013 Daniel Jasper <djasper@google.com> clang-format: Fix switch/case interaction with macros.

Before:
#define OPERATION_CASE(name) \
case OP_name: \
return operations::Operation##name

switch (OpCode) {
CASE(Add);
CASE(Subtract);
default:
return operations::Unknown;
}

After:
#define OPERATION_CASE(name) \
case OP_name: \
return operations::Operation##name;

switch (OpCode) {
CASE(Add);
CASE(Subtract);
default:
return operations::Unknown;
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
0de1c4d152b5fbf0b383e9fa8396e334f029c716 09-Jul-2013 Daniel Jasper <djasper@google.com> Fix alignment of closing brace in braced initializers.

Before:
someFunction(OtherParam, BracedList{
// comment 1 (Forcing intersting break)
param1, param2,
// comment 2
param3, param4
});
After:
someFunction(OtherParam, BracedList{
// comment 1 (Forcing intersting break)
param1, param2,
// comment 2
param3, param4
});

To do so, the UnwrappedLineParser now stores the information about the
kind of brace in the FormatToken.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f50dbfae1c5801d72d57fe5af90ad58871cea321 01-Jul-2013 Daniel Jasper <djasper@google.com> Fix incorrect token counting introduced by r185319.

This lead to weird formatting.
Before:
DoSomethingWithVector({ {} /* No data */ }, {
{ 1, 2 }
});
After:
DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } });

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
02eacc2cf85fe11577bf6ff20f6c203e87147c57 01-Jul-2013 Daniel Jasper <djasper@google.com> Fix braced-list detection in lieu of trailing comments.

Before:
DoSomethingWithVector({
} /* No data */);
After:
DoSomethingWithVector({} /* No data */);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
e50947fcb029475f87578fb40f94982cec46c0c0 01-Jul-2013 Craig Topper <craig.topper@gmail.com> Put helper classes in an anonymous namespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
2726877196b41b922f10f794801b313980e1a8ad 26-Jun-2013 Nico Weber <nicolasweber@gmx.de> Run clang-format on lib/Format code after r184894. No other changes.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f7ec1cc7f931833b2cb9876a5e7dfd6bf8681c6a 31-May-2013 Daniel Jasper <djasper@google.com> Improve clang-format's error recovery.

If a "}" is found inside parenthesis, this is probably a case of
missing parenthesis. This enables continuing to format after stuff code
like:

class A {
void f(
};
..

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
eb48366d41a6dcca236f1e28aea61efd569a3374 31-May-2013 Daniel Jasper <djasper@google.com> Fix detection/formatting of braced lists in ternary expressions.

Before:
foo = aaaaaaaaaaa ? vector<int> {
aaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa, aaaaa
}
: vector<int>{ bbbbbbbbbbbbbbbbbbbbbbbbbbb, bbbbbbbbbbbbbbbbbbbb, bbbbb };

After:
foo = aaaaaaaaaaa ? vector<int>{ aaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaa, aaaaa }
: vector<int>{ bbbbbbbbbbbbbbbbbbbbbbbbbbb,
bbbbbbbbbbbbbbbbbbbb, bbbbb };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
c76d59d8ff564f918833c97caede7dce2d8cfe60 29-May-2013 Daniel Jasper <djasper@google.com> Add return missing in r182855.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
7e70f4c09c5e10c2690eac04d9d812fb8e4a0c0d 29-May-2013 Daniel Jasper <djasper@google.com> Leave some macros on their own line

If an identifier is on its own line and it is all upper case, it is highly
likely that this is a macro that is meant to stand on a line by itself.

Before:
class A : public QObject {
Q_OBJECT A() {}
};

Ater:
class A : public QObject {
Q_OBJECT

A() {}
};

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
bac4681dd92a6bafe358f3bffaf81354cb5ef11c 28-May-2013 Daniel Jasper <djasper@google.com> Remove obsolete variable as discovered in post-commit review.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
88959b764ede8aac9118434f6c21c15463dff595 28-May-2013 Daniel Jasper <djasper@google.com> Support uniform inits in braced lists.

This made it necessary to remove an error detection which would let us
bail out of braced lists in certain situations of missing "}". However,
as we always entirely escape from the braced list on finding ";", this
should not be a big problem.

With this, we can no format braced lists with uniformat inits:

return { arg1, SomeType { parameter } };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
dcb3f2aab329c80e97a44312d15299df4dc059be 28-May-2013 Manuel Klimek <klimek@google.com> Make UnwrappedLines and AnnotatedToken contain pointers to FormatToken.

The FormatToken is now not copyable any more.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
96e888b0dd3f114eee7e4455a74b8cb5f52e071d 28-May-2013 Manuel Klimek <klimek@google.com> A first step towards giving format tokens pointer identity.

With this patch, we create all tokens in one go before parsing and pass
an ArrayRef<FormatToken*> to the UnwrappedLineParser. The
UnwrappedLineParser is switched to use pointer-to-token internally.

The UnwrappedLineParser still copies the tokens into the UnwrappedLines.
This will be fixed in an upcoming patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
6fb46b02599493d16e5130eff61050c72f65f89e 24-May-2013 Alexander Kornienko <alexfh@google.com> Ignore contents of #if 0 blocks.

Summary:
Added stack of preprocessor branching directives, and ignore all tokens
inside #if 0 except for preprocessor directives.

Reviewers: klimek, djasper

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D855

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
de0d61fbe8bb0ba287eeed183bb98361d4e10c68 23-May-2013 Daniel Jasper <djasper@google.com> Increase test coverage for braced init lists.

Also fix a minor bug for constructor initializers with braced init lists.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
ad3094b7d85a4f8eeaf3f60364d5e8796537f061 23-May-2013 Manuel Klimek <klimek@google.com> Use a SourceRange for the whitespace location in FormatToken.

Replaces the use of WhitespaceStart + WhitspaceLength.
This made a bug in the formatter obvous where we would incorrectly
calculate the next column.

FIXME: There's a similar bug left regarding TokenLength. We should
probably also move to have a TokenRange instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
80829bd8c3161cb706e28f29ac17a871f5eaaa5b 23-May-2013 Manuel Klimek <klimek@google.com> Expand parsing of braced init lists.

Allows formatting of C++11 braced init list constructs, like:
vector<int> v { 1, 2, 3 };
f({ 1, 2 });

This involves some changes of how tokens are handled in the
UnwrappedLineFormatter. Note that we have a plan to evolve the
design of the token flow into one where we create all tokens
up-front and then annotate them in the various layers (as we
currently already have to create all tokens at once anyway, the
current abstraction does not help). Thus, this introduces
FIXMEs towards that goal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
caf42a3ef114900fd2ab927d1a13b4db000515e8 15-May-2013 Daniel Jasper <djasper@google.com> Remove diagnostics from clang-format.

We only ever implemented one and that one is not actually all that
helpful (e.g. gets incorrectly triggered by macros).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
44135b8836fc3ffb84e540d8a097955271ccbc23 13-May-2013 Manuel Klimek <klimek@google.com> Implements brace breaking styles.

We now support "Linux" and "Stroustrup" brace breaking styles, which
gets us one step closer to support formatting WebKit, KDE & Linux code.

Linux brace breaking style:
namespace a
{
class A
{
void f()
{
if (x) {
f();
} else {
g();
}
}
}
}

Stroustrup brace breaking style:
namespace a {
class A {
void f()
{
if (x) {
f();
} else {
g();
}
}
}
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
67d080dafa74c7d126da522fec333a6e52a5ae35 12-Apr-2013 Manuel Klimek <klimek@google.com> Revamps structural error detection / handling.

Previously we'd only detect structural errors on the very first level.
This leads to incorrectly balanced braces not being discovered, and thus
incorrect indentation.

This change fixes the problem by:
- changing the parser to use an error state that can be detected
anywhere inside the productions, for example if we get an eof on
SOME_MACRO({ some block <eof>
- previously we'd never break lines when we discovered a structural
error; now we break even in the case of a structural error if there
are two unwrapped lines within the same line; thus,
void f() { while (true) { g(); y(); } }
will still be re-formatted, even if there's missing braces somewhere
in the file
- still exclude macro definitions from generating structural error;
macro definitions are inbalanced snippets

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
423dd93c8011aa8bca9b761b0b121ea8bce0fd03 10-Apr-2013 Manuel Klimek <klimek@google.com> Fixes recovering from errors when parsing braced init lists.

Before we would build huge unwrapped lines which take a long time
to optimze.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
99b0e14691b61d8db4f1d239a11615957071fb45 09-Apr-2013 Alexander Kornienko <alexfh@google.com> Again macros without trailing semicolons: don't care about declaration context.

Summary:
Some codebases use these kinds of macros in functions, e.g. Chromium's
IPC_BEGIN_MESSAGE_MAP, IPC_BEGIN_MESSAGE_HANDLER, etc.

Reviewers: djasper, klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D645

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
3d713a72a01bf1d270d00040a3fb195121012c61 09-Apr-2013 Alexander Kornienko <alexfh@google.com> Recognize function-like macro usages without semicolon in declaration context.

Summary:
Preserve line breaks after function-like macro usages without
semicolon, e.g.:

QQQ(xxx)
class X {
};

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D638

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
4128e19d6f3ae42e840bc6aaf6ce6d052a46f7e4 03-Apr-2013 Alexander Kornienko <alexfh@google.com> Even better way to handle comments adjacent to preprocessor directives.

Summary:
It turns out that we don't need to store CommentsBeforeNextToken in the
line state, but rather flush them before we start parsing preprocessor
directives. This fixes wrong comment indentation in code blocks in macro calls
(the test is included).

Reviewers: klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D617

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f52d52790708132cc1a3b5c3aef1bed17eb6ff13 02-Apr-2013 Alexander Kornienko <alexfh@google.com> Alternative handling of comments adjacent to preprocessor directives.

Summary: Store comments in ScopedLineState

Reviewers: klimek, djasper

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D609

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
9fdc00a237fe19b892f22780321ddfd1a3691d61 28-Mar-2013 Alexander Kornienko <alexfh@google.com> Fixed handling of comments before preprocessor directives.

Comments before preprocessor directives used to be stored with InPPDirective
flag set, which prevented correct comment splitting in this case. Fixed by
flushing comments before switching on InPPDirective. Added a new test and fixed
one of the existing tests.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
627707b9360597b65a9a0953d0ead2a08c3a0d5d 22-Mar-2013 Daniel Jasper <djasper@google.com> Better fix for r177725.

It turns out that

-foo;

can be an objective C method declaration. So instead of the previous
solution, recognize objective C methods only if we are in a declaration
scope.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
6fe554eb4e7075cbfda927c4747d7346a27637f1 20-Mar-2013 Daniel Jasper <djasper@google.com> Fix infinite-loop in unwrapped line parser.

Discovered when accidentally formatting a python file :-).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f9955d309d3de328e65563baf2d34571249dccbb 20-Mar-2013 Daniel Jasper <djasper@google.com> Add extra indentation for multiline comparisons.

This seems to be generally more desired.

Before:
if (aaaaaaaa &&
bbbbbbbb >
cccccccc) {}
After:
if (aaaaaaaa &&
bbbbbbbb >
cccccccc) {}

Also: Some formatting cleanup on clang-format's files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
bcca7e484117f3155ff98f9560996e760ca4f786 20-Mar-2013 Daniel Jasper <djasper@google.com> Don't remove all indentation when in #defines.

Otherwise, this can become hard to read.

Before: #define A \
case 1:
After: #define A \
case 1:

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
c30eb51b639e132af458fbf7647eefae6edb93ac 19-Mar-2013 Daniel Jasper <djasper@google.com> Fix indentation for case: // comment.

Before:
switch (x) {
case 1:
// Do amazing stuff
{
g();
f();
}
}

After:
switch (x) {
case 1:
// Do amazing stuff
{
g();
f();
}
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
516fb31d0536040334032e2af6b62cd6a5479d1c 01-Mar-2013 Daniel Jasper <djasper@google.com> Remove whitespace at end of file.

This fixes the rest of llvm.org/PR15062.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
89a0daa0ec1fbc43489e3bb9e9648c816258f00f 12-Feb-2013 Daniel Jasper <djasper@google.com> Fix crash for incomplete labels in macros.

Still the formatting can be improved, but at least we don't assert any
more. This happened when trying to format lib/Sema/SemaType.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
3f4535e44965f46cf603146141d2d27a1cef1f7f 11-Feb-2013 Manuel Klimek <klimek@google.com> Get rid of manual debug output, now that the test runner supports it.

You can run tests with -debug instead now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
a28fc067e3ee8eb84368530e878ce094f39651d3 11-Feb-2013 Manuel Klimek <klimek@google.com> Fixes handling of empty lines in macros.

Now correctly formats:
#define A \
\
b;
to
#define A b;

Added the state whether an unwrapped line is a macro to the debug
output.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d74fcdb630dad817f5d462edd6d12bb95e3f27f1 10-Feb-2013 Nico Weber <nicolasweber@gmx.de> Formatter: Initial support for ObjC dictionary literals.

Before:
@{
foo:
bar
}
;

Now:
@{ foo : bar };

parseBracedList() already does the right thing from an UnwrappedLineParser
perspective, so check for "@{" in all loops that process constructs that can
contain expressions and call parseBracedList() if found.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
2afbe523648eb591709ac9262f024457eb019bd6 10-Feb-2013 Nico Weber <nicolasweber@gmx.de> Reformat formatter code. No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
b3507cd01ead99113eed92a815b826f26f6dbadb 06-Feb-2013 Manuel Klimek <klimek@google.com> Fix handling of comments in macros.

We now correctly format:
// Written as a macro, it is reformatted from:
#define foo(a) \
do { \
/* Initialize num to zero. */ \
int num = 10; \
/* This line ensures a is never zero. */ \
int i = a == 0 ? 1 : a; \
i = num / i; /* This division is OK. */ \
return i; \
} while (false)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
7fc2db0acd3fb0f38db19764eef137ae3a9edc9f 06-Feb-2013 Manuel Klimek <klimek@google.com> Much semicolon after namespaces.

We now leave the semicolon in the line of the closing brace in:
namespace {
...
};

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
b8b1ce12362860e55590c55fd43db875c9193357 06-Feb-2013 Manuel Klimek <klimek@google.com> Parse record declarations with token pasted identifiers.

This is pretty common in macros:
#define A(X, Y) class X##Y {};

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
bd04f2aa2247f2fda3fd8f3fee90479ba2c94499 31-Jan-2013 Manuel Klimek <klimek@google.com> Never break inside something that was a preprocessor directive.

Just put it in one unwrapped line and let the formatter handle it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
32d28ee6061930b2a9c170cbaaeea028c88a7b89 29-Jan-2013 Daniel Jasper <djasper@google.com> Move the token annotator into separate files.

No functional changes. Also removed experimental-warning from all of
clang-format's files, as it is no longer accurate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
7ccbc2156bfe473f080b585130d70e51c4b62bb0 23-Jan-2013 Manuel Klimek <klimek@google.com> Fix handling of macro definitions.

Now correctly formats:
#define A (1)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
a32a7fda316289dca6aac1352fde3caf14a1cb2f 23-Jan-2013 Manuel Klimek <klimek@google.com> Fixes layouting regression and invalid-read.

Layouting would prevent breaking before + in
a[b + c] = d;
Regression detected by code review.

Also fixes an invalid-read found by the valgrind bot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
836b58f564e07e806d3d0b41a193fde0921013c7 23-Jan-2013 Manuel Klimek <klimek@google.com> Fixes incorrect handling of the declaration context stack.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
70b03f4edaefcc5b9aa2e084d1c12e9d91b32a77 23-Jan-2013 Manuel Klimek <klimek@google.com> Allow us to better guess the context of an unwrapped line.

This gives us the ability to guess better defaults for whether a *
between identifiers is a pointer dereference or binary operator.

Now correctly formats:
void f(a *b);
void f() { f(a * b); }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
86721d2a4610ac0a4b162952ec409df1fe397d58 22-Jan-2013 Manuel Klimek <klimek@google.com> Implements more principled comment parsing.

Changing nextToken() in the UnwrappedLineParser to get the next
non-comment token. This allows us to correctly layout a whole class of
snippets, like:

if /* */(/* */ a /* */) /* */
f() /* */; /* */
else /* */
g();

Fixes a bug in the formatter where we would assume there is a previous
non-comment token.
Also adds the indent level of an unwrapped line to the debug output in
the parser.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
308232c0aef773d24693f9e456dc3bc983934f7f 21-Jan-2013 Manuel Klimek <klimek@google.com> Fixes various problems around enum parsing.

Very similar to what we do for record definitions:
- tighten down what is an enum definition, so that we don't mistake a
function for an enum
- allow common idioms around declarations (we'll want to handle that
more centrally in the future)

We now correctly format:
enum X f() {
a();
return 42;
}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
2f1ac41a6d8d202dcc39ab8eb56ccea823dc062e 21-Jan-2013 Manuel Klimek <klimek@google.com> Fixes formatting of empty blocks.

We now only put empty blocks into a single line, if all of:
- all tokens of the structural element fit into a single line
- we're not in a control flow statement

Note that we usually don't put record definitions into a single line, as
there's usually at least one more token (the semicolon) after the
closing brace. This doesn't hold when we are in a context where there is
no semicolon, like "enum E {}".

There were some missing tests around joining lines around the corner
cases of the allowed number of columns, so this patch adds some.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d19dc2ddf3f8630cfdbefec490c0000c14bee6bd 21-Jan-2013 Manuel Klimek <klimek@google.com> Fixes indent in linkage specification blocks.

We now indent:
extern "C" {
int a;
}

without additional indent inside the extern "C" block.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
3a3408cceb438af7cdebb5b3d938abb916162bb4 21-Jan-2013 Manuel Klimek <klimek@google.com> Fixes detection of class template specializations.

Now correctly formats:
template <> class A<int> {} a;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
7f5b025e9b9a981a257d83063064ac6e58239d76 21-Jan-2013 Manuel Klimek <klimek@google.com> Allow for nested name specifiers in record declarations.

Now correctly formats:
class A::B {} n;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
c44ee89cb448e34aada006b707eb45a1280f31e3 21-Jan-2013 Manuel Klimek <klimek@google.com> Fix parsing of return statements.

Previously, we would not detect brace initializer lists in return
statements, thus:
return (a)(b) { 1, 2, 3 };
would put the semicolon onto the next line.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
b1ba0efc3d1dc1daa5d82c40bc504e1f368c4fa0 19-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Re-sort all the headers. Lots of regressions have crept in here.
Manually fix the order of UnwrappedLineParser.cpp as that one didn't
have its associated header as the first header.

This also uncovered a subtle inclusion order dependency as CLog.h didn't
include LLVM.h to pick up using declarations it relied upon.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
525fe168c25a8273899281c5d2326c722fc3f2a5 18-Jan-2013 Manuel Klimek <klimek@google.com> Fixes problems with line merging in the face of preprocessor directives.

This patch prepares being able to test for and fix more problems (see
FIXME in the test for example).

Previously we would output unwrapped lines for preprocessor directives
at the point where we also parsed the hash token. Since often
projections only terminate (and thus output their own unwrapped line)
after peeking at the next token, this would lead to the formatter seeing
the preprocessor directives out-of-order (slightly earlier). To be able
to correctly identify lines to merge, the formatter needs a well-defined
order of unwrapped lines, which this patch introduces.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
94fb72932c806c549f5c51f4bfa99fa7b481324a 18-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatter: After case blocks, "break" goes on the same line as the "}", PR14907.

Before:
switch (foo) {
case a: {
int a = g();
h(a);
}
break;
}

Now:
switch (foo) {
case a: {
int a = g();
h(a);
} break;
}



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
ca547dbbb1e10c801158f2eecaf3d49e1071b0e3 16-Jan-2013 Manuel Klimek <klimek@google.com> Add debugging support for split penalties.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
8fa37999164844a926448ef4656bbf7c42070235 16-Jan-2013 Manuel Klimek <klimek@google.com> Use standard llvm Debug.h support for debugging output.

Leave a quick "// Uncomment this." hint to enable the debug output in
tests. FIXME: figure out whether we want to enable debug command line
handling for all tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d881875b6c78386c4f0da911c1110f9ed1235c6a 16-Jan-2013 Alexander Kornienko <alexfh@google.com> Clang Format: Handle missing semicolon

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
cbb6c41f3cec4a940201a8e2e65743c9f26c3673 16-Jan-2013 Daniel Jasper <djasper@google.com> Change the datastructure for UnwrappedLines.

It was quite convoluted leading to us accidentally introducing O(N^2)
complexity while copying from UnwrappedLine to AnnotatedLine. We might
still want to improve the datastructure in AnnotatedLine (most
importantly not put them in a vector where they need to be copied on
vector resizing but that will be done as a follow-up.

This fixes most of the regression in llvm.org/PR14959.

No formatting changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
47ea7f64108163491ed74dc746c8d94e10764704 15-Jan-2013 Manuel Klimek <klimek@google.com> Fixes various bugs around the keywords class, struct and union.

This switches to parsing record definitions only if we can clearly
identify them. We're specifically allowing common patterns for
visibility control through macros and attributes, but we cannot
currently fix all instances. This fixes all known bugs we have though.

Before:
static class A f() {
return g();
} int x;

After:
static class A f() {
return g();
}
int x;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
1774603d8b34f86bd254d85a125592fcb323a488 13-Jan-2013 Daniel Jasper <djasper@google.com> Format unions like structs and classes.

Note that I don't know whether we should put {} on a single line in this
case, but it is probably a theoretical issue as in practice such
structs, classes or unions won't be empty.

Before: union A {}
a;
After: union A {} a;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
6eca03fcac1e408470d48e6309a280d3681f717d 11-Jan-2013 Manuel Klimek <klimek@google.com> Fix crashes in UnwrappedLineParser on missing parens.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d465843f5376c7c1574fe61338cbf3dc50684d5b 11-Jan-2013 Manuel Klimek <klimek@google.com> Fix crash on invalid.

if { foo; }
would previously crash clang-format.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
606e07ecc0b7b0e01d23baa833b4b4c73af0d4f4 11-Jan-2013 Manuel Klimek <klimek@google.com> Fix parsing of initializer lists with elaborated type specifier.

Now we correctly parse and format:
verifyFormat("struct foo a = { bar };
int n;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
276a209451b8724807f2741f49c90bf27fc280c7 11-Jan-2013 Alexander Kornienko <alexfh@google.com> clang-format: a bit nicer error message.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
3048aeae0654b34dcae561494c1b28872c88a5c8 10-Jan-2013 Alexander Kornienko <alexfh@google.com> Basic support for diagnostics.

Summary: Uses DiagnosticsEngine to output diagnostics.

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D278

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
36fab8d70eee342d66e03c9b09c029f126196103 10-Jan-2013 Manuel Klimek <klimek@google.com> Do not add newline in empty blocks.

void f() {}
now gets formatted in one line.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
bb42bf1a8bfd18fa2beec7fcbcb73f738fb455ba 10-Jan-2013 Manuel Klimek <klimek@google.com> Fix layout of blocks inside statements.

Previously, we would not indent:
SOME_MACRO({
int i;
});
correctly. This is fixed by adding the trailing }); to the unwrapped
line starting with SOME_MACRO({, so the formatter can correctly match
the braces and indent accordingly.

Also fixes incorrect parsing of initializer lists, like:
int a[] = { 1 };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
4c60fc6cb9928fe03b6b4794260edb779b2c44e1 10-Jan-2013 Manuel Klimek <klimek@google.com> Introduce a define to switch on debug output.

After re-writing the same loop multiple times, we deicided it's time to
add this as an optional debugging help.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
b530fa374a8d4d96e61bf1dae8f4a73f4b3d2436 10-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatter: @optional and @required go on their own line.

Previously:
@protocol myProtocol
- (void)mandatoryWithInt:(int)i;
@optional - (void) optional;
@required - (void) required;
@end

Now:
@protocol myProtocol
- (void)mandatoryWithInt:(int)i;
@optional
- (void)optional;
@required
- (void)required;
@end



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
50767d8c8f2f667255bdb99692c0467ce992bc67 10-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatter: Add support for @implementation.

Just reuse the @interface code for this. It accepts slightly more than
necessary (@implementation cannot have protocol lists), but that's ok.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
049c44767370b7257d17a5c32d407f19efa01c6f 09-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatter: Make parseObjCUntilAtEnd() actually work.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
1abe6ea5b8961a0fc14c2e0bdbd7451f643ca065 09-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatting: Add support for @protocol.

Pull pieces of the @interface code into reusable methods.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
27d1367871a6eab347346497e87ea1adb2fd15a5 09-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatter: Add support for @interface.

Previously:
@interface Foo + (id)init; @end

Now:
@interface Foo
+ (id)init;
@end

Some tweaking remains, but this is a good first step.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
526ed11ad9743c773df76bd1649d33fb92c2b8cb 09-Jan-2013 Manuel Klimek <klimek@google.com> Enables layouting unwrapped lines around preprocessor directives.

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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
26f7e78018ed6ce8aa11b5eef94c772ca4ee48bf 08-Jan-2013 Daniel Jasper <djasper@google.com> Change the data structure used in clang-format.

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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
6092d4ed09a2368871993d9a45717f24394329ce 07-Jan-2013 Nico Weber <nicolasweber@gmx.de> Formatter: Support @public/@protected/@package/@private.

@package is an Objective-C 2 feature, so turn on ObjC2 as well.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
de7685487c5d628dd9fe64c4f861cd1888f50fc7 07-Jan-2013 Manuel Klimek <klimek@google.com> Fix parsing of variable declarations directly after a class / struct.

Previous indent:
class A {
}
a;
void f() {
};

With this patch:
class A {
} a;
void f() {
}
;

The patch introduces a production for classes and structs, and parses
the rest of the line to the semicolon after the class scope.
This allowed us to remove a long-standing wart in the parser that would
just much the semicolon after any block.
Due to this suboptimal formating some tests were broken.

Some unrelated formatting tests broke; those hit a bug in the ast
printing, and need to be fixed separately.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f0ab0a38d9482eef5495db845ff53ee689f9c80e 07-Jan-2013 Manuel Klimek <klimek@google.com> s/parseStatement/parseStructuralElement/g in the UnwrappedLineParser.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
cd162384a552ef4e4913244f4f14b9a3e5a791e1 07-Jan-2013 Daniel Jasper <djasper@google.com> Reformat clang-formats source code.

All changes done by clang-format itself. No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
dd5b1018d97a9666da92d320485a727ac63ee89a 07-Jan-2013 Manuel Klimek <klimek@google.com> Fix incorrect FIXME.

The case that we wanted to write a test for cannot happen, as the
UnwrappedLineParser already protects against it. Added an assert to
prevent regressions of that assumption.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
c3d0c82ab0ce17c684c0192f14059d8e4d63156c 07-Jan-2013 Manuel Klimek <klimek@google.com> Remove outdated FIXME and add explanation for error handling strategy
while parsing #define's.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
a5342db6fcc6ee3fae084f584ecb019726de9cca 06-Jan-2013 Manuel Klimek <klimek@google.com> Fixes handling of unbalances braces.

If we find an unexpected closing brace, we must not stop parsing, as
we'd otherwise not layout anything beyond that point.

If we find a structural error on the highest level we'll not re-indent
anyway, but we'll still want to format within unwrapped lines.

Needed to introduce a differentiation between an expected and unexpected
closing brace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
f6fd00b12ae7d89436d32851c9bcc8dd3d046ad3 05-Jan-2013 Manuel Klimek <klimek@google.com> Fixes parsing of hash tokens in the middle of a line.

To parse # correctly, we need to know whether it is the first token in a
line - we can deduct this either from the whitespace or seeing that the
token is the first in the file - we already calculate this information.
This patch moves the identification of the first token into the
getNextToken method and stores it inside the FormatToken, so the
UnwrappedLineParser can stay independent of the SourceManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
c37b4d60f926bf440dfcc312bd6482fed3176e33 05-Jan-2013 Manuel Klimek <klimek@google.com> Fixes PR14801 - preprocessor directives shouldn't be indented

Uses indent 0 for macros for now and resets the indent state to the
level prior to the preprocessor directive.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
6f8424b79863fc9810393c95ecdee97895ab6f26 05-Jan-2013 Manuel Klimek <klimek@google.com> Fixes PR14811: Crash when formatting some macros

A preprocessor directive cannot be started while we're parsing one.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d4397b99e2fcb189002d04410d7c3bf85ab4bba3 05-Jan-2013 Manuel Klimek <klimek@google.com> Various fixes to clang-format's macro handling.

Some of this is still pretty rough (note the load of FIXMEs), but it is
strictly an improvement and fixes various bugs that were related to
macro processing but are also imporant in non-macro use cases.

Specific fixes:
- correctly puts espaced newlines at the end of the line
- fixes counting of white space before a token when escaped newlines are
present
- fixes parsing of "trailing" tokens when eof() is hit
- puts macro parsing orthogonal to parsing other structure
- general support for parsing of macro definitions

Due to the fix to format trailing tokens, this change also includes a
bunch of fixes to the c-index tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
a080a187fa7e538da3212c7d5e678e4b7ae03253 02-Jan-2013 Manuel Klimek <klimek@google.com> Fixes use of unescaped newlines when formatting preprocessor directives.

This is the first step towards handling preprocessor directives. This
patch only fixes the most pressing issue, namely correctly escaping
newlines for tokens within a sequence of a preprocessor directive.

The next step will be to fix incorrect format decisions on #define
directives.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
1f94f2b484dc74e09fe31dd5ea9d3f715be6c133 30-Dec-2012 Dmitri Gribenko <gribozavr@gmail.com> Formatter: parse and format inline namespaces like regular namespaces

This changes formatting from:

inline namespace X {
class A {
};
}

to:

inline namespace X {
class A {
};
}



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
d7610b8a744b2459ce2e66fea7d3a3d56ce23dba 24-Dec-2012 Daniel Jasper <djasper@google.com> Let clang-format format itself.

Apply all formatting changes that clang-format would apply to its own source
code. All choices seem to improve readability (or at least not make it worse).
No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
05b1ac8791ee89fdf0b275631ab8118febc7c33d 17-Dec-2012 Daniel Jasper <djasper@google.com> Fix several formatting problems.

More specifically:
- Improve formatting of static initializers.
- Fix formatting of lines comments in enums.
- Fix formmating of trailing line comments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
56e49c5cc2b05e805c7aa9dc53672711e540d58b 10-Dec-2012 Alexander Kornienko <alexfh@google.com> Clang-format: error recovery for access specifiers

Reviewers: klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D198

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
469a21b14c8d00001ad30a925020ee5a81c9b8b5 07-Dec-2012 Alexander Kornienko <alexfh@google.com> Clang-format: extracted FormatTokenSource from UnwrappedLineParser.

Summary: FormatTokenLexer is here, FormatTokenBuffer is on the way. This will allow to re-parse unwrapped lines when needed.

Reviewers: djasper, klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D186

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
15757316d67cb7a854d53a0402d67ad58347600a 06-Dec-2012 Alexander Kornienko <alexfh@google.com> Clang-format: IndentCaseLabels option, proper namespace handling

Summary: + tests arranged in groups, as their number is already quite large.

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D185

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
a3a2b3a1e86a93d2044106046a4dca13a3558fba 06-Dec-2012 Alexander Kornienko <alexfh@google.com> Clang-format: detect unbalanced braces.

Reviewers: klimek, djasper

Reviewed By: klimek

CC: cfe-commits, silvas

Differential Revision: http://llvm-reviews.chandlerc.com/D176

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
2e97cfc78743fcaa988e3c45f7af1002063f780c 05-Dec-2012 Alexander Kornienko <alexfh@google.com> Clang-format: parse for and while loops

Summary: Adds support for formatting for and while loops.

Reviewers: djasper, klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D174

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
33182dd0f7d5b5e913b1957c2cb6dc04942efd46 05-Dec-2012 Daniel Jasper <djasper@google.com> Indentation fixes for clang-format.

- Fix behavior of memoization together with optimization
- Correctly attribute the PenaltyIndentLevel (breaking directly after "(" did
not count towards the inner level)
- Recognize more tokens as assignments

Review: http://llvm-reviews.chandlerc.com/D172

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
720ffb644400661b927c6359aac5677dab036ed4 05-Dec-2012 Alexander Kornienko <alexfh@google.com> Follow-up to r169286, addresses comments in http://llvm-reviews.chandlerc.com/D164#comment-4 : comments and a method rename

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
cff563c0123bbb8d959c93ed371d27cbc6bc4a29 04-Dec-2012 Alexander Kornienko <alexfh@google.com> Error recovery part 2

Summary: Adds recovery for structural errors in clang-format.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, silvas

Differential Revision: http://llvm-reviews.chandlerc.com/D164

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
393b008bcebb0a678a5a0a93ad69e28a30a62e84 04-Dec-2012 Alexander Kornienko <alexfh@google.com> Clang-format error recovery part 1

Reviewers: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D163

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
a166e73d39d2f554d0f35f94c9804284d1ff804a 04-Dec-2012 Alexander Kornienko <alexfh@google.com> Enum formatting implementation

Reviewers: djasper, klimek

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D161

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
55fc873017f10f6f566b182b70f6fc22aefa3464 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.

I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp
bac016bd3f67ca2f4db1ddc619e611759352b84d 03-Dec-2012 Daniel Jasper <djasper@google.com> Initial version of formatting library.

This formatting library will be used by a stand-alone clang-format tool
and can also be used when writing other refactorings.

Manuel's original design document:
https://docs.google.com/a/google.com/document/d/1gpckL2U_6QuU9YW2L1ABsc4Fcogn5UngKk7fE5dDOoA/edit

The library can already successfully format itself.

Review: http://llvm-reviews.chandlerc.com/D80

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Format/UnwrappedLineParser.cpp