Edwin Vane [Mon, 14 Jan 2013 14:20:19 +0000 (14:20 +0000)]
Adding a .gitignore to tools-extra
Reviewers: klimek
llvm-svn: 172414
Daniel Jasper [Mon, 14 Jan 2013 14:14:23 +0000 (14:14 +0000)]
Put short if statements on a single line.
Before: if (a)
return;
After: if (a) return;
Not yet sure, whether this is always desired, but we can add options and
make this a style parameter as we go along.
llvm-svn: 172413
Timur Iskhodzhanov [Mon, 14 Jan 2013 14:13:06 +0000 (14:13 +0000)]
Revert r171829 "Split changeset_ty using iterators instead of loops" as it breaks the VS2008 build
llvm-svn: 172411
Evgeniy Stepanov [Mon, 14 Jan 2013 14:08:25 +0000 (14:08 +0000)]
Build rules for sanitizer_common tests on Android.
llvm-svn: 172410
Alexander Kornienko [Mon, 14 Jan 2013 14:07:11 +0000 (14:07 +0000)]
Dump comments in -ast-dump.
http://llvm-reviews.chandlerc.com/D269
"Added dumping of declaration comments in ASTDumper. This required moving the
comment dumping code from CommentDumper so that the indentation is correct."
Patch by Philip Craig!
llvm-svn: 172409
Evgeniy Stepanov [Mon, 14 Jan 2013 14:06:58 +0000 (14:06 +0000)]
Remove thread-locals from sanitizer_common tests.
Not supported on Android.
llvm-svn: 172408
Alexander Kornienko [Mon, 14 Jan 2013 13:57:05 +0000 (13:57 +0000)]
Added a test for clang-format diagnostics.
llvm-svn: 172407
Alexander Kornienko [Mon, 14 Jan 2013 13:40:44 +0000 (13:40 +0000)]
Fix: correct file name in diagnostics.
llvm-svn: 172405
NAKAMURA Takumi [Mon, 14 Jan 2013 13:16:02 +0000 (13:16 +0000)]
clang/test/SemaCXX/cxx11-gnu-attrs.cpp: Add explicit -triple x86_64-unknown-unknown, or it doesn't work for targetting win32.
llvm-svn: 172404
Daniel Jasper [Mon, 14 Jan 2013 13:08:07 +0000 (13:08 +0000)]
Refactor datastructure used in clang-format.
Main difference, add an AnnotatedLine class to hold information about a
line while formatting. At the same time degrade the UnwrappedLine class
to a class solely used for communicating between the UnwrappedLineParser
and the Formatter.
No functional changes intended.
llvm-svn: 172403
Daniel Jasper [Mon, 14 Jan 2013 12:18:19 +0000 (12:18 +0000)]
Improve understanding post increment and decrement.
Before: (a->f()) ++;
a[42] ++;
After: (a->f())++;
a[42]++;
llvm-svn: 172400
Alexander Kornienko [Mon, 14 Jan 2013 11:34:14 +0000 (11:34 +0000)]
Custom DiagnosticConsumer parameter of reformat() + silence diagnostics in unit tests.
Summary:
Added tests for clang-format diagnostics. Added DiagnosticConsumer
argument to clang::format::reformat().
Reviewers: klimek, djasper
Reviewed By: djasper
CC: cfe-commits, thakis, rafael.espindola
Differential Revision: http://llvm-reviews.chandlerc.com/D290
llvm-svn: 172399
Alexey Samsonov [Mon, 14 Jan 2013 11:07:59 +0000 (11:07 +0000)]
ASan: Disable alloc/dealloc mismatch test on Android. It's not supposed to work there
llvm-svn: 172398
Kostya Serebryany [Mon, 14 Jan 2013 11:01:34 +0000 (11:01 +0000)]
[asan] use the slow CFI-based unwinder when reporting an error. Still use the fast unwinder for malloc/free. Linux-x86-only for now.
llvm-svn: 172397
Manuel Klimek [Mon, 14 Jan 2013 10:58:01 +0000 (10:58 +0000)]
Adds some more tests for * and &.
While reviewing r172303 I noticed that I wasn't sure whether we still
format those correctly and didn't see any tests.
llvm-svn: 172396
Dmitry Vyukov [Mon, 14 Jan 2013 10:49:11 +0000 (10:49 +0000)]
asan/tsan: mmap shadow memory before allocating memory (otherwise other threads can access non yet allocated shadow)
llvm-svn: 172395
Alexey Samsonov [Mon, 14 Jan 2013 10:18:38 +0000 (10:18 +0000)]
ASan: Disable alloc/dealloc-mismatch checker on Mac for now (it produces weird false positives on googletest)
llvm-svn: 172394
Dmitry Vyukov [Mon, 14 Jan 2013 10:00:03 +0000 (10:00 +0000)]
tsan: describe stack and TLS addresses
llvm-svn: 172393
Dmitry Vyukov [Mon, 14 Jan 2013 09:03:24 +0000 (09:03 +0000)]
asan: enable allocator version 1 by default
llvm-svn: 172392
Richard Smith [Mon, 14 Jan 2013 08:57:42 +0000 (08:57 +0000)]
Add extra tests for [[gnu::...]] attributes, missed from r172382.
llvm-svn: 172391
Dmitry Vyukov [Mon, 14 Jan 2013 08:51:08 +0000 (08:51 +0000)]
asan/tsan: fix memory allocator statistics
llvm-svn: 172390
Dmitry Vyukov [Mon, 14 Jan 2013 08:48:26 +0000 (08:48 +0000)]
asan: fix Android build
llvm-svn: 172389
Dmitry Vyukov [Mon, 14 Jan 2013 08:23:34 +0000 (08:23 +0000)]
asan/tsan: faster memory allocator
1. Increase size classes from 32k to 128k
2. Use lock-free stack in central cache
3. Use blocking mutex when allocate new memory with mmap
llvm-svn: 172388
Dmitry Vyukov [Mon, 14 Jan 2013 08:21:34 +0000 (08:21 +0000)]
tsan: fix cmake warning (unused private field)
llvm-svn: 172387
Dmitry Vyukov [Mon, 14 Jan 2013 08:12:47 +0000 (08:12 +0000)]
tsan: add the FIXME
llvm-svn: 172386
Dmitry Vyukov [Mon, 14 Jan 2013 08:01:58 +0000 (08:01 +0000)]
asan: fix compilation errors in mutex
llvm-svn: 172385
Richard Smith [Mon, 14 Jan 2013 08:00:39 +0000 (08:00 +0000)]
Fix regression in r172376. Don't try to detect missing 'constexpr' specifiers
on redeclarations, since that makes us pick wrong prior declarations under
some circumstances.
llvm-svn: 172384
Kostya Serebryany [Mon, 14 Jan 2013 07:59:09 +0000 (07:59 +0000)]
[asan] add more frames to standalone_malloc_test
llvm-svn: 172383
Richard Smith [Mon, 14 Jan 2013 07:53:01 +0000 (07:53 +0000)]
Accept [[gnu::*]] for all __attribute__((*))s which are:
1) Supported by Clang, and
2) Supported by GCC, and
3) Documented in GCC's manual.
g++ allows its C++11-style attributes to appertain only to the entity being
declared, and never to a type (even for a type attribute), so we do the same.
llvm-svn: 172382
Dmitry Vyukov [Mon, 14 Jan 2013 07:52:01 +0000 (07:52 +0000)]
asan: add missing file
llvm-svn: 172381
Dmitry Vyukov [Mon, 14 Jan 2013 07:51:39 +0000 (07:51 +0000)]
asan/tsan: move blocking mutex from asan to sanitizer_common
llvm-svn: 172380
Craig Topper [Mon, 14 Jan 2013 07:46:34 +0000 (07:46 +0000)]
Simplify nested strconcats in X86 td files since strconcat can take more than 2 arguments.
llvm-svn: 172379
Craig Topper [Mon, 14 Jan 2013 07:26:58 +0000 (07:26 +0000)]
Create a single multiclass for SSE and AVX version of MOVL/MOVH. Prevents needing to specify everything twice. No functional change intended
llvm-svn: 172378
Nico Weber [Mon, 14 Jan 2013 05:49:49 +0000 (05:49 +0000)]
Formatter: Add a test for bitfields.
They work fine, but this fifth use of colons (after labels, in ?:,
in initalizer lists in constructors, in objc method expressions, and in
bitfields) wasn't covered by tests yet.
llvm-svn: 172377
Richard Smith [Mon, 14 Jan 2013 05:37:29 +0000 (05:37 +0000)]
PR12008: defer adding the implicit 'const' to a constexpr member function until
we know whether it is static.
llvm-svn: 172376
Richard Smith [Mon, 14 Jan 2013 01:55:13 +0000 (01:55 +0000)]
*this is const in a trailing-return-type for a constexpr member function.
llvm-svn: 172375
Michael Gottesman [Mon, 14 Jan 2013 01:47:53 +0000 (01:47 +0000)]
Fixed some 80+ violations.
llvm-svn: 172374
Dmitri Gribenko [Mon, 14 Jan 2013 00:46:27 +0000 (00:46 +0000)]
libclang: remove a few const_casts
llvm-svn: 172373
Dmitri Gribenko [Mon, 14 Jan 2013 00:36:42 +0000 (00:36 +0000)]
Constify argument of Preprocessor::getMacroInfoHistory and propagate to
callers, removing unneeded const_cast
llvm-svn: 172372
Michael Gottesman [Mon, 14 Jan 2013 00:35:14 +0000 (00:35 +0000)]
Updated the documentation in ObjCARC.cpp to fit the style guide better (i.e. use doxygen). Still some work to do though.
llvm-svn: 172371
Dmitri Gribenko [Mon, 14 Jan 2013 00:25:25 +0000 (00:25 +0000)]
Remove an unneeded const_cast
llvm-svn: 172370
Michael Gottesman [Sun, 13 Jan 2013 22:17:22 +0000 (22:17 +0000)]
Added bugzilla PR number to test case.
llvm-svn: 172369
Michael Gottesman [Sun, 13 Jan 2013 22:12:06 +0000 (22:12 +0000)]
Fixed an infinite loop in the block escape in analysis in ObjCARC caused by 2x blocks each assigned a value via a phi-node causing each to depend on the other.
A test case is provided as well.
llvm-svn: 172368
Dmitri Gribenko [Sun, 13 Jan 2013 20:46:02 +0000 (20:46 +0000)]
ArrayRef'ize Sema APIs related to format string checking
llvm-svn: 172367
Tim Northover [Sun, 13 Jan 2013 19:18:02 +0000 (19:18 +0000)]
Implement __aeabi_lcmp and ulcmp
Patch contributed by Andrew Turner.
llvm-svn: 172366
Tim Northover [Sun, 13 Jan 2013 19:18:00 +0000 (19:18 +0000)]
Correct name of __aeabi_f2lz.
Patch contributed by Andrew Turner.
llvm-svn: 172365
Nick Lewycky [Sun, 13 Jan 2013 19:03:55 +0000 (19:03 +0000)]
Fix typo in comment.
llvm-svn: 172364
Nuno Lopes [Sun, 13 Jan 2013 18:02:57 +0000 (18:02 +0000)]
fix compile-time regression report by Joerg Sonnenberger:
cache result of Size/OffsetVisitor to speedup analysis of PHI nodes
llvm-svn: 172363
Dmitri Gribenko [Sun, 13 Jan 2013 16:37:18 +0000 (16:37 +0000)]
Document behavior of -Wformat-nonliteral, it is different from GCC
llvm-svn: 172362
Daniel Jasper [Sun, 13 Jan 2013 16:10:20 +0000 (16:10 +0000)]
Stronger respect the input codes line breaks wrt. comments.
clang-format should not change whether or not there is a line break
before a line comment as this strongly influences the percieved binding.
User input: void f(int a,
// b is awesome
int b);
void g(int a, // a is awesome
int b);
Before: void f(int a, // b is awesome
int b);
void g(int a, // a is awesome
int b);
After: <unchanged from input>
llvm-svn: 172361
Dmitri Gribenko [Sun, 13 Jan 2013 16:07:49 +0000 (16:07 +0000)]
Documentation: use monospaced font for intrinsics' names
llvm-svn: 172360
Dmitri Gribenko [Sun, 13 Jan 2013 16:06:11 +0000 (16:06 +0000)]
Fix broken link to LangRef
llvm-svn: 172359
Dmitri Gribenko [Sun, 13 Jan 2013 16:01:15 +0000 (16:01 +0000)]
Remove redundant 'llvm::' qualifications
llvm-svn: 172358
Michael J. Spencer [Sun, 13 Jan 2013 16:00:51 +0000 (16:00 +0000)]
Fix LLP64 build.
llvm-svn: 172357
Dmitri Gribenko [Sun, 13 Jan 2013 15:53:09 +0000 (15:53 +0000)]
Update links to "Itanium C++ ABI: Exception Handling" document
llvm-svn: 172356
Daniel Jasper [Sun, 13 Jan 2013 14:39:04 +0000 (14:39 +0000)]
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;
llvm-svn: 172355
Chandler Carruth [Sun, 13 Jan 2013 11:46:33 +0000 (11:46 +0000)]
Refactor the x86 CPU name logic in the driver and pass -march and -mcpu
flag information down from the Clang driver into the Gold linker plugin
for LTO. This allows specifying -march on the linker commandline and
should hopefully have it pass all the way through to the LTO optimizer.
Fixes PR14697.
llvm-svn: 172354
Benjamin Kramer [Sun, 13 Jan 2013 11:37:04 +0000 (11:37 +0000)]
X86: Add patterns for X86ISD::VSEXT in registers.
Those can occur when something between the sextload and the store is on the same
chain and blocks isel. Fixes PR14887.
llvm-svn: 172353
NAKAMURA Takumi [Sun, 13 Jan 2013 11:26:44 +0000 (11:26 +0000)]
CGBuiltin.cpp: Fix abuse of ArrayRef in EmitOverflowIntrinsic().
In ArrayRef<T>(X), X should not be temporary value. It could be rewritten more redundantly;
llvm::Type *XTy = X->getType();
ArrayRef<llvm::Type *> Ty(XTy);
llvm::Value *Callee = CGF.CGM.getIntrinsic(IntrinsicID, Ty);
Since it is safe if both XTy and Ty are temporary value in one statement, it could be shorten;
llvm::Value *Callee = CGF.CGM.getIntrinsic(IntrinsicID, ArrayRef<llvm::Type*>(X->getType()));
ArrayRef<T> has an implicit constructor to create uni-entry of T;
llvm::Value *Callee = CGF.CGM.getIntrinsic(IntrinsicID, X->getType());
MSVC-generated clang.exe crashed.
llvm-svn: 172352
Daniel Jasper [Sun, 13 Jan 2013 08:19:51 +0000 (08:19 +0000)]
Always put a space after ",".
I am not aware of a case where that would be wrong. The specific case I
am fixing are function parameters wrapped in parenthesis (e.g. in
macros).
Before: function(a,(b));
After: function(a, (b));
llvm-svn: 172351
Daniel Jasper [Sun, 13 Jan 2013 08:12:18 +0000 (08:12 +0000)]
Don't put spaces around hyphens in include paths.
Before: #include <a - a>
After: #include <a-a>
llvm-svn: 172350
Daniel Jasper [Sun, 13 Jan 2013 08:01:36 +0000 (08:01 +0000)]
Improve identification of c-style casts.
A ")" before any of "=", "{" or ";" won't be a cast. This fixes issues
with the formatting of unnamed parameters.
Before: void f(int *){}
After: void f(int *) {}
llvm-svn: 172349
Nadav Rotem [Sun, 13 Jan 2013 07:56:29 +0000 (07:56 +0000)]
Fix PR14547. Handle induction variables of small sizes smaller than i32 (i8 and i16).
llvm-svn: 172348
Michael Gottesman [Sun, 13 Jan 2013 07:47:32 +0000 (07:47 +0000)]
[ObjCARC] Even more debug messages!
llvm-svn: 172347
Michael Gottesman [Sun, 13 Jan 2013 07:00:51 +0000 (07:00 +0000)]
[ObjCARC] More debug messages.
llvm-svn: 172346
Michael Gottesman [Sun, 13 Jan 2013 04:35:31 +0000 (04:35 +0000)]
Updated documentation to reflect new multiprecision builtin functions.
llvm-svn: 172345
NAKAMURA Takumi [Sun, 13 Jan 2013 03:55:21 +0000 (03:55 +0000)]
clang/test/CodeGen/builtins-multiprecision.c: Enhance for each test to run on theree targets, i686, amd64, win64.
llvm-svn: 172344
Michael Gottesman [Sun, 13 Jan 2013 03:44:31 +0000 (03:44 +0000)]
Fixed spelling of test name: builtins-multipercision.c => builtins-multiprecision.c.
llvm-svn: 172343
Michael Gottesman [Sun, 13 Jan 2013 03:40:23 +0000 (03:40 +0000)]
Added a triple to the test builtins-multiprecision.c.
llvm-svn: 172342
Michael Gottesman [Sun, 13 Jan 2013 02:22:39 +0000 (02:22 +0000)]
Added builtins for multiprecision adds.
We lower all of these intrinsics into a 2x chained usage of
uadd.with.overflow.
llvm-svn: 172341
Richard Smith [Sun, 13 Jan 2013 02:11:23 +0000 (02:11 +0000)]
Remove some duplication in the handling of __attribute__((ext_vector_size(N))).
llvm-svn: 172340
Michael J. Spencer [Sun, 13 Jan 2013 01:09:51 +0000 (01:09 +0000)]
[test] Fix tests on Windows.
llvm-svn: 172339
Michael J. Spencer [Sun, 13 Jan 2013 01:09:39 +0000 (01:09 +0000)]
[YAML] Fix undefined behavior.
llvm-svn: 172338
Nico Weber [Sat, 12 Jan 2013 23:48:49 +0000 (23:48 +0000)]
Formatter: Don't insert a space before unary operators after selector names.
Before:
[color getRed: &r green: &g blue: &b alpha: &a];
Now:
[color getRed:&r green:&g blue:&b alpha:&a];
llvm-svn: 172337
Chandler Carruth [Sat, 12 Jan 2013 23:46:04 +0000 (23:46 +0000)]
Fix an editor goof in r171738 that Bill spotted. He may even have a test
case, but looking at the diff this was an obviously unintended change.
Thanks for the careful review Bill! =]
llvm-svn: 172336
Nico Weber [Sat, 12 Jan 2013 23:41:33 +0000 (23:41 +0000)]
Formatter: Add a test for @selector in an ObjC method expression, which happens to work already.
llvm-svn: 172335
Nico Weber [Sat, 12 Jan 2013 22:51:13 +0000 (22:51 +0000)]
Formatter: Remove debugging junk I accidentally landed in r172333.
llvm-svn: 172334
Nico Weber [Sat, 12 Jan 2013 22:48:47 +0000 (22:48 +0000)]
Formatter: Prefer breaking before ObjC selector names over breaking at their ':'
Before:
if ((self = [super initWithContentRect:contentRect styleMask:
styleMask backing:NSBackingStoreBuffered defer:YES])) {
Now:
if ((self = [super initWithContentRect:contentRect styleMask:styleMask
backing:NSBackingStoreBuffered defer:YES])) {
llvm-svn: 172333
Dmitri Gribenko [Sat, 12 Jan 2013 22:39:30 +0000 (22:39 +0000)]
Add a comment to test to clarify the intention here
Comment is taken from the commit message of r151080, by Jean-Daniel Dupas
llvm-svn: 172332
Dmitri Gribenko [Sat, 12 Jan 2013 21:58:21 +0000 (21:58 +0000)]
Prune an unused diagnostic, detected after improving the script in r172330
llvm-svn: 172331
Benjamin Kramer [Sat, 12 Jan 2013 21:39:06 +0000 (21:39 +0000)]
Speed up find-unused-diagnostics. Now runs in less than a second instead of more than a minute.
llvm-svn: 172330
Dmitri Gribenko [Sat, 12 Jan 2013 20:32:43 +0000 (20:32 +0000)]
Remove unused diagnostics
llvm-svn: 172326
Tim Northover [Sat, 12 Jan 2013 19:54:21 +0000 (19:54 +0000)]
Use more canonical exception-handling link in docs.
llvm-svn: 172325
Bob Wilson [Sat, 12 Jan 2013 19:33:08 +0000 (19:33 +0000)]
Fix cross-compiling problems in build-llvm.pl script. <rdar://problem/
12986905>
As with llvm svn r172138, this patch is basically copying some changes that
we've been using for building clang at Apple. Besides cleaning it up to use
xcrun to locate the proper versions of tools, especially for cross compiling,
it fixes the build to work with newer versions of clang that honor SDKROOT
settings in the environment.
llvm-svn: 172324
Dmitri Gribenko [Sat, 12 Jan 2013 19:30:44 +0000 (19:30 +0000)]
Remove useless 'llvm::' qualifier from names like StringRef and others that are
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
Benjamin Kramer [Sat, 12 Jan 2013 19:06:44 +0000 (19:06 +0000)]
When lowering an inreg sext first shift left, then right arithmetically.
Shifting right two times will only yield zero. Should fix
SingleSource/UnitTests/SignlessTypes/factor.
llvm-svn: 172322
Arnaud A. de Grandmaison [Sat, 12 Jan 2013 18:37:52 +0000 (18:37 +0000)]
Fix spurious output in JSONCompilationDatabase
llvm-svn: 172321
Dmitri Gribenko [Sat, 12 Jan 2013 16:54:37 +0000 (16:54 +0000)]
Add missing includes and forward declarations so that headers don't depend on
other headers included before them.
llvm-svn: 172320
NAKAMURA Takumi [Sat, 12 Jan 2013 15:37:00 +0000 (15:37 +0000)]
MipsDisassembler.cpp: Prune DecodeHWRegs64RegisterClass() to suppress a warning. [-Wunused-function]
llvm-svn: 172319
Benjamin Kramer [Sat, 12 Jan 2013 15:34:31 +0000 (15:34 +0000)]
GlobalOpt: Avoid jump on uninitialized value.
Found by valgrind.
llvm-svn: 172318
Rafael Espindola [Sat, 12 Jan 2013 15:27:44 +0000 (15:27 +0000)]
comment
llvm-svn: 172317
Rafael Espindola [Sat, 12 Jan 2013 15:27:43 +0000 (15:27 +0000)]
bar
llvm-svn: 172316
NAKAMURA Takumi [Sat, 12 Jan 2013 15:19:10 +0000 (15:19 +0000)]
MipsAsmParser: Try to unbreak tests to add extra check.
llvm-svn: 172315
Rafael Espindola [Sat, 12 Jan 2013 14:22:42 +0000 (14:22 +0000)]
Remove unused private field.
llvm-svn: 172314
Benjamin Kramer [Sat, 12 Jan 2013 14:13:45 +0000 (14:13 +0000)]
Add a unit test to verifies that attribute uniquing works so it doesn't break again.
The folding set details can be subtle and broke twice in the last couple of weeks.
llvm-svn: 172313
Tim Northover [Sat, 12 Jan 2013 12:38:54 +0000 (12:38 +0000)]
Fix broken links around Itanium C++ ABI in documentation.
llvm-svn: 172312
Jason Molenda [Sat, 12 Jan 2013 08:32:28 +0000 (08:32 +0000)]
Recognize LOG_WATCHPOINTS in the QSetLogging gdb-remote packet.
llvm-svn: 172311
Daniel Jasper [Sat, 12 Jan 2013 07:36:22 +0000 (07:36 +0000)]
Fix incorrect comparison operator causing loooong formatting times.
llvm-svn: 172308
Nico Weber [Sat, 12 Jan 2013 07:05:25 +0000 (07:05 +0000)]
Formatter: Remove an always-false condition.
canBreakBefore() does not allow breaking after ':' for LT_ObjCMethodDecl lines,
so if Newline is true in addTokenToState() for ':' then LT_ObjCMethodDecl
cannot be set. No functionality change.
llvm-svn: 172307
Nico Weber [Sat, 12 Jan 2013 07:00:16 +0000 (07:00 +0000)]
Formatter: Remove a redundant CurrentLineType check.
The containing if checks for this already. No functionality change.
llvm-svn: 172306