platform/upstream/llvm.git
11 years ago[msan] Change va_start/va_copy shadow memset alignment to 8.
Peter Collingbourne [Thu, 10 Jan 2013 22:36:33 +0000 (22:36 +0000)]
[msan] Change va_start/va_copy shadow memset alignment to 8.

This fixes va_start/va_copy of a va_list field which happens to not
be laid out at a 16-byte boundary.

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

llvm-svn: 172128

11 years agoToolChains: Minor touchup to use correct type, avoid truncation.
Will Dietz [Thu, 10 Jan 2013 22:20:02 +0000 (22:20 +0000)]
ToolChains: Minor touchup to use correct type, avoid truncation.

Truncation happens regularly when find_first_not_of returns npos,
strings long enough to trigger bug here are implausible.

No functionality change intended (ignoring absurd string lengths).

llvm-svn: 172127

11 years agoDeclare +new instead of -new in test.
Fariborz Jahanian [Thu, 10 Jan 2013 22:17:49 +0000 (22:17 +0000)]
Declare +new instead of -new in test.

llvm-svn: 172126

11 years agoRemove trailing spaces.
Jakub Staszak [Thu, 10 Jan 2013 22:14:33 +0000 (22:14 +0000)]
Remove trailing spaces.

llvm-svn: 172125

11 years agoPR14896: Handle memcpy from constant string where the memcpy size is larger than...
Evan Cheng [Thu, 10 Jan 2013 22:13:27 +0000 (22:13 +0000)]
PR14896: Handle memcpy from constant string where the memcpy size is larger than the string size.

llvm-svn: 172124

11 years agoRemove unneeded includes from FunctionLoweringInfo.h.
Jakub Staszak [Thu, 10 Jan 2013 22:13:13 +0000 (22:13 +0000)]
Remove unneeded includes from FunctionLoweringInfo.h.

llvm-svn: 172123

11 years ago[ms-inline asm] Add test case for r172121.
Chad Rosier [Thu, 10 Jan 2013 22:11:28 +0000 (22:11 +0000)]
[ms-inline asm] Add test case for r172121.
Part of rdar://12991541

llvm-svn: 172122

11 years ago[ms-inline asm] Add support for calling functions from inline assembly.
Chad Rosier [Thu, 10 Jan 2013 22:10:27 +0000 (22:10 +0000)]
[ms-inline asm] Add support for calling functions from inline assembly.
Part of rdar://12991541

llvm-svn: 172121

11 years ago[ms-inline asm] Extend the inline asm Sema lookup interface to determine if the
Chad Rosier [Thu, 10 Jan 2013 22:10:16 +0000 (22:10 +0000)]
[ms-inline asm] Extend the inline asm Sema lookup interface to determine if the
Decl is a VarDecl.
Part of rdar://12991541

llvm-svn: 172120

11 years ago<rdar://problem/12725746>
Enrico Granata [Thu, 10 Jan 2013 22:08:35 +0000 (22:08 +0000)]
<rdar://problem/12725746>

Providing data formatters for char16_t* and char32_t* C++11-style Unicode strings
Using this chance to refactor the UTF data reader used for data formatters for added generality
Added a relevant test case

llvm-svn: 172119

11 years agoRemove unneeded #includes.
Jakub Staszak [Thu, 10 Jan 2013 22:07:29 +0000 (22:07 +0000)]
Remove unneeded #includes.

llvm-svn: 172118

11 years agoTeach InstCombine to hoist FABS and FNEG through FPTRUNC instructions. The applicati...
Owen Anderson [Thu, 10 Jan 2013 22:06:52 +0000 (22:06 +0000)]
Teach InstCombine to hoist FABS and FNEG through FPTRUNC instructions.  The application of these operations commutes with the truncation, so we should prefer to do them in the smallest size we can, to save register space, use smaller constant pool entries, etc.

llvm-svn: 172117

11 years agoFix indent and remove unneeded #includes in MDBuilder.h.
Jakub Staszak [Thu, 10 Jan 2013 22:00:36 +0000 (22:00 +0000)]
Fix indent and remove unneeded #includes in MDBuilder.h.

llvm-svn: 172115

11 years agoFix #includes after my last commit.
Jakub Staszak [Thu, 10 Jan 2013 21:56:40 +0000 (21:56 +0000)]
Fix #includes after my last commit.

llvm-svn: 172114

11 years agoRename LinkAllVMCore.h to LinkAllIR.h since VMCore directory was renamed to IR.
Jakub Staszak [Thu, 10 Jan 2013 21:55:02 +0000 (21:55 +0000)]
Rename LinkAllVMCore.h to LinkAllIR.h since VMCore directory was renamed to IR.

llvm-svn: 172112

11 years agoFormatter: No spaces around '=' in @property lines.
Nico Weber [Thu, 10 Jan 2013 21:30:42 +0000 (21:30 +0000)]
Formatter: No spaces around '=' in @property lines.

Before:
@property(assign, getter = isEditable) BOOL editable;

Now:
@property(assign, getter=isEditable) BOOL editable;

It'd be nice if some Apple person could let me know if spaces are preferred
around '=' in @synthesize lines (see FIXME in the test).

llvm-svn: 172110

11 years agoremove the rest of the "written by" lines in the documentation. It is
Chris Lattner [Thu, 10 Jan 2013 21:24:04 +0000 (21:24 +0000)]
remove the rest of the "written by" lines in the documentation.  It is
against the developer policy to include this sort of thing as SVN blame
already captures this in a far more fine-grained way.

llvm-svn: 172109

11 years agoReplace memcpys by a static_cast and an integral promotion.
Dmitri Gribenko [Thu, 10 Jan 2013 21:21:32 +0000 (21:21 +0000)]
Replace memcpys by a static_cast and an integral promotion.

llvm-svn: 172108

11 years agoFix coding style
Dmitri Gribenko [Thu, 10 Jan 2013 21:10:44 +0000 (21:10 +0000)]
Fix coding style

llvm-svn: 172107

11 years agoUnbreak tests after regression from r172081.
Jakub Staszak [Thu, 10 Jan 2013 21:02:05 +0000 (21:02 +0000)]
Unbreak tests after regression from r172081.

llvm-svn: 172105

11 years ago[analyzer] Add more checks to the ObjC Ivar Invalidation checker.
Anna Zaks [Thu, 10 Jan 2013 20:59:51 +0000 (20:59 +0000)]
[analyzer] Add more checks to the ObjC Ivar Invalidation checker.

Restructured the checker so that it could easily find two new classes of
issues:
 - when a class contains an invalidatable ivar, but no declaration of an
invalidation method
 - when a class contains an invalidatable ivar, but no definition of an
invalidation method in the @implementation.

The second case might trigger some false positives, for example, when
the method is defined in a category.

llvm-svn: 172104

11 years agoIn my last patch use InGroup<Switch> (per Dmitri's comment).
Fariborz Jahanian [Thu, 10 Jan 2013 20:47:57 +0000 (20:47 +0000)]
In my last patch use InGroup<Switch> (per Dmitri's comment).

llvm-svn: 172103

11 years agoProvide a better warning when case value overflows.
Fariborz Jahanian [Thu, 10 Jan 2013 20:26:42 +0000 (20:26 +0000)]
Provide a better warning when case value overflows.
// rdar://11577384

llvm-svn: 172102

11 years agoFormatter: Land header change I forgot to land in r172099.
Nico Weber [Thu, 10 Jan 2013 20:19:27 +0000 (20:19 +0000)]
Formatter: Land header change I forgot to land in r172099.

llvm-svn: 172101

11 years agoFormatter: Add test for template and protocol parameters in ObjC method declarations.
Nico Weber [Thu, 10 Jan 2013 20:18:33 +0000 (20:18 +0000)]
Formatter: Add test for template and protocol parameters in ObjC method declarations.

llvm-svn: 172100

11 years agoFormatting: In @implementation etc lines, put a space before protocol lists.
Nico Weber [Thu, 10 Jan 2013 20:12:55 +0000 (20:12 +0000)]
Formatting: In @implementation etc lines, put a space before protocol lists.

Don't do this in Google style though:
http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml#Protocols

Most other places (function declarations, variable declarations) still get
this wrong, and since this looks very similiar to template instantiations to
the lexer (`id <MyProtocol> a = ...`), it's going to be hard to fix in some
places.

llvm-svn: 172099

11 years agoRefactoring the outermost structure of the formatter.
Manuel Klimek [Thu, 10 Jan 2013 19:49:59 +0000 (19:49 +0000)]
Refactoring the outermost structure of the formatter.

This is the last step of pure shuffling stuff around, the next step will
be the actual feature.

llvm-svn: 172098

11 years agoRemove FIXME fixed by djasper in r172066.
Nico Weber [Thu, 10 Jan 2013 19:48:53 +0000 (19:48 +0000)]
Remove FIXME fixed by djasper in r172066.

llvm-svn: 172097

11 years ago[libclang] Address some coding style issues pointed out by Dmitri.
Argyrios Kyrtzidis [Thu, 10 Jan 2013 19:43:44 +0000 (19:43 +0000)]
[libclang] Address some coding style issues pointed out by Dmitri.

llvm-svn: 172096

11 years agoFormatter: Don't put a space in ObjC number literals like @+50
Nico Weber [Thu, 10 Jan 2013 19:36:35 +0000 (19:36 +0000)]
Formatter: Don't put a space in ObjC number literals like @+50

Before:
@ -4.5

Now:
@-4.5

llvm-svn: 172095

11 years agoccc-analyzer: Forward -msse* options to the compiler.
Ted Kremenek [Thu, 10 Jan 2013 19:29:31 +0000 (19:29 +0000)]
ccc-analyzer: Forward -msse* options to the compiler.

llvm-svn: 172094

11 years agoFormatter: Add space before '(' in @implemenation, @interface, @protocol lines
Nico Weber [Thu, 10 Jan 2013 19:19:14 +0000 (19:19 +0000)]
Formatter: Add space before '(' in @implemenation, @interface, @protocol lines

The first token in @implementation, @interface, and @protocol lines is now
marked TT_ObjCDecl, and lines starting with a TT_ObjCDecl token are now marked
LT_ObjCMethodDecl.

llvm-svn: 172093

11 years agoPull calculation whether a line fits one level up.
Manuel Klimek [Thu, 10 Jan 2013 19:17:33 +0000 (19:17 +0000)]
Pull calculation whether a line fits one level up.

This is the next step towards being able to configure multiple unwrapped
lines into one.

llvm-svn: 172092

11 years agoobjectiveC++: When throwing c++ exception of
Fariborz Jahanian [Thu, 10 Jan 2013 19:02:56 +0000 (19:02 +0000)]
objectiveC++: When throwing c++ exception of
an objectiveC object, use objc_exception_throw
to raise the exception. // rdar://12605907

llvm-svn: 172091

11 years ago[libclang] Add missing header file
Argyrios Kyrtzidis [Thu, 10 Jan 2013 18:58:44 +0000 (18:58 +0000)]
[libclang] Add missing header file

llvm-svn: 172090

11 years ago[libclang] Enhance logging capabilities of libclang.
Argyrios Kyrtzidis [Thu, 10 Jan 2013 18:54:52 +0000 (18:54 +0000)]
[libclang] Enhance logging capabilities of libclang.

-provide a "raw_ostream'ish" class to make it convenient to output logging info.
-use macros to automate a bit the logging functionality inside libclang functions
-when logging, print a stack trace if "LIBCLANG_LOGGING=2" environment is set.
-add logging to more functions.

llvm-svn: 172089

11 years agoDiagnostics: name all implicit groups used more than once.
Jordan Rose [Thu, 10 Jan 2013 18:50:51 +0000 (18:50 +0000)]
Diagnostics: name all implicit groups used more than once.

This will be a new style requirement going forwards: a diagnostic can only
use the implicit InGroup<DiagGroup<"foo">> syntax if "foo" is not used by
any other diagnostics; as soon as it is, it needs an explicit group.

This also brings some stray "conversion" diagnostics into the
"Value Conversion Issue" category, instead of the more generic
"Semantic Issue" category. I consider this an improvement!
- warn_impcast_complex_scalar
- warn_impcast_float_integer
- warn_impcast_float_precision
- warn_impcast_integer_precision
- warn_impcast_vector_scalar

llvm-svn: 172088

11 years agoError if an anonymous DiagGroup is referenced multiple times.
Jordan Rose [Thu, 10 Jan 2013 18:50:46 +0000 (18:50 +0000)]
Error if an anonymous DiagGroup is referenced multiple times.

Not only is this inefficient for TableGen, it's annoying for maintenance
when renaming warning flags (unusual) or adding those flags to a group
(more likely).

This uses the new fix-it infrastructure for LLVM's SourceMgr/SMDiagnostic,
as well as a few changes to TableGen to track more source information.

llvm-svn: 172087

11 years agoAdd basic fix-its to SMDiagnostic.
Jordan Rose [Thu, 10 Jan 2013 18:50:15 +0000 (18:50 +0000)]
Add basic fix-its to SMDiagnostic.

Like Clang's FixItHint, SMFixIt represents an insertion, replacement, or
removal of source text. One or more fix-its can be emitted as part of
a diagnostic, and will be printed below the source range line to show the
user how they can fix their code.

Currently, the only client of SMFixIt is clang-tblgen; thus, the tests for
this behavior live in clang/test/TableGen/tg-fixits.td. If/when SMFixIt is
adopted within LLVM itself, those tests should be moved to the LLVM suite.

llvm-svn: 172086

11 years agoTableGen: Keep track of superclass reference ranges.
Jordan Rose [Thu, 10 Jan 2013 18:50:11 +0000 (18:50 +0000)]
TableGen: Keep track of superclass reference ranges.

def foo : bar;
          ~~~

This allows us to produce more precise diagnostics about a certain
superclass, and even provide fixits.

llvm-svn: 172085

11 years agoTableGen: record anonymous instantiations of classes.
Jordan Rose [Thu, 10 Jan 2013 18:50:05 +0000 (18:50 +0000)]
TableGen: record anonymous instantiations of classes.

llvm-svn: 172084

11 years agoPulling formatFirstToken one level up.
Manuel Klimek [Thu, 10 Jan 2013 18:45:26 +0000 (18:45 +0000)]
Pulling formatFirstToken one level up.

This prepares the code for single line optimizations and changes the
dependencies between single-line-formats to the indent of the first
token.

Conceptually, the first token is "between" the lines anyway, as the
whitespace for the first token includes the previous end-of-line, which
needs to be escaped when inside a preprocessor directive.

llvm-svn: 172083

11 years agoAllow hasProperty() to be called on bundle-internal instructions.
Jakob Stoklund Olesen [Thu, 10 Jan 2013 18:42:44 +0000 (18:42 +0000)]
Allow hasProperty() to be called on bundle-internal instructions.

When calling hasProperty() on an instruction inside a bundle, it should
always behave as if IgnoreBundle was passed, and just return properties
for the current instruction.

Only attempt to aggregate bundle properties whan asked about the bundle
header.

The assertion fires on existing ARM test cases without this fix.

llvm-svn: 172082

11 years agoFix Alias Bug
David Greene [Thu, 10 Jan 2013 18:17:54 +0000 (18:17 +0000)]
Fix Alias Bug

Use memcpy to do type punning instead of a cast.  A cast or similar
operation through a union breaks strict aliasing rules.

llvm-svn: 172081

11 years agostyle changes
Shankar Easwaran [Thu, 10 Jan 2013 18:16:10 +0000 (18:16 +0000)]
style changes

llvm-svn: 172080

11 years agoLoopVectorizer: Fix a bug in the vectorization of BinaryOperators. The BinaryOperator...
Nadav Rotem [Thu, 10 Jan 2013 17:34:39 +0000 (17:34 +0000)]
LoopVectorizer: Fix a bug in the vectorization of BinaryOperators. The BinaryOperator can be folded to an Undef, and we don't want to set NSW flags to undef vals.

PR14878

llvm-svn: 172079

11 years ago[ubsan] Move attribute specifier to fix build with gcc.
Will Dietz [Thu, 10 Jan 2013 17:01:13 +0000 (17:01 +0000)]
[ubsan] Move attribute specifier to fix build with gcc.

llvm-svn: 172078

11 years agoRemove locale-dependence of enum mangling and use existing function.
Tim Northover [Thu, 10 Jan 2013 16:47:31 +0000 (16:47 +0000)]
Remove locale-dependence of enum mangling and use existing function.

llvm-svn: 172077

11 years agoFixes layout of right braces.
Manuel Klimek [Thu, 10 Jan 2013 15:58:26 +0000 (15:58 +0000)]
Fixes layout of right braces.

We now decide whether a newline should go before the closing brace
depending on whether a newline was inserted after the opening brace.

For example, we now insert a newline before '};' in:
static SomeClass WithALoooooooooooooooooooongName = {
  100000000, \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"
};
... while not inserting a newline here:
static SomeClass = { a, b, c, d, e, f, g, h, i, j,
                     looooooooooooooooooooooooooooooooooongname,
                     looooooooooooooooooooooooooooooong };

Also fixes the formating of (column limit 25):
int x = {
  avariable,
  b(alongervariable)
};

llvm-svn: 172076

11 years agoFormat what you can when errors are found
Alexander Kornienko [Thu, 10 Jan 2013 15:19:44 +0000 (15:19 +0000)]
Format what you can when errors are found

llvm-svn: 172075

11 years agoRemoving loop-convert tool
Edwin Vane [Thu, 10 Jan 2013 15:19:11 +0000 (15:19 +0000)]
Removing loop-convert tool

cpp11-migrate now contains the loop convert transform code and tests.
Cleaning up the old code/tests and updating build system files as
necessary.

Reviewers: klimek
llvm-svn: 172074

11 years agoMake TableGen mangle operand method names before putting in enum.
Tim Northover [Thu, 10 Jan 2013 15:17:36 +0000 (15:17 +0000)]
Make TableGen mangle operand method names before putting in enum.

The purpose of this patch is to allow PredicateMethods to be set to something
like "isUImm<8>", calling a C++ template method to reduce code duplication. For
this to work, the PredicateMethod must be mangled into a valid C++ identifier
for insertion into an enum.

llvm-svn: 172073

11 years agoImproved clang-format integration support for diagnostic messages output
Alexander Kornienko [Thu, 10 Jan 2013 15:06:57 +0000 (15:06 +0000)]
Improved clang-format integration support for diagnostic messages output

llvm-svn: 172072

11 years agoBasic support for diagnostics.
Alexander Kornienko [Thu, 10 Jan 2013 15:05:09 +0000 (15:05 +0000)]
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

llvm-svn: 172071

11 years agoFixes formatting of function calls etc inside an initializer list.
Manuel Klimek [Thu, 10 Jan 2013 14:36:46 +0000 (14:36 +0000)]
Fixes formatting of function calls etc inside an initializer list.

We're now formatting (column limit 25):
int x = {
  avariable,
  b(alongervariable) };

This also fixes:
Aaa({
  int i;
}, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,
                                    ccccccccccccccccc));
... where we would previously break after the '},'.

Putting the closing curly into an extra line when there's a break
directly after the first curly will be done in a subsequent patch.

Paired with djasper.

llvm-svn: 172070

11 years ago[sanitizer] better statistics for the large allocator
Kostya Serebryany [Thu, 10 Jan 2013 13:38:38 +0000 (13:38 +0000)]
[sanitizer] better statistics for the large allocator

llvm-svn: 172069

11 years ago[sanitizer] fix the non-cmake build (2-nd attempt)
Kostya Serebryany [Thu, 10 Jan 2013 13:33:15 +0000 (13:33 +0000)]
[sanitizer] fix the non-cmake build (2-nd attempt)

llvm-svn: 172068

11 years agoDo not add newline in empty blocks.
Manuel Klimek [Thu, 10 Jan 2013 13:24:24 +0000 (13:24 +0000)]
Do not add newline in empty blocks.

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

llvm-svn: 172067

11 years agoLet clang-format binary use same LangOpts as test.
Daniel Jasper [Thu, 10 Jan 2013 13:09:09 +0000 (13:09 +0000)]
Let clang-format binary use same LangOpts as test.

llvm-svn: 172066

11 years agoImprovements to function type and ObjC block formatting.
Daniel Jasper [Thu, 10 Jan 2013 13:08:12 +0000 (13:08 +0000)]
Improvements to function type and ObjC block formatting.

Before: int (^myBlock) (int) = ^(int num) {}
        A<void ()>;
int (*b)(int);

After:  int (^myBlock)(int) = ^(int num) {}
        A<void()>;
int(*b)(int);

For function types and function pointer types, this patch only makes
the behavior consistent (for types that are keywords and other types).
For the latter function pointer type declarations, we'll probably
want to add a space after "int".

Also added LangOpts.Bool = 1, so we handle "A<bool()>" appropriately
Moved the LangOpts-settings to a public place for use by tests
and clang-format binary.

llvm-svn: 172065

11 years agoasan/tsan: fix comment
Dmitry Vyukov [Thu, 10 Jan 2013 13:06:35 +0000 (13:06 +0000)]
asan/tsan: fix comment

llvm-svn: 172064

11 years ago[sanitizer] fix the non-cmake build
Kostya Serebryany [Thu, 10 Jan 2013 13:05:16 +0000 (13:05 +0000)]
[sanitizer] fix the non-cmake build

llvm-svn: 172063

11 years ago[Mips] Pass a combination of +soft-float and -mips16-hard-float flags to
Simon Atanasyan [Thu, 10 Jan 2013 12:36:19 +0000 (12:36 +0000)]
[Mips] Pass a combination of +soft-float and -mips16-hard-float flags to
the backend if hard float ABI is selected under -mips16 mode.

llvm-svn: 172062

11 years ago[sanitizer] add standalone_malloc_test
Kostya Serebryany [Thu, 10 Jan 2013 12:34:12 +0000 (12:34 +0000)]
[sanitizer] add standalone_malloc_test

llvm-svn: 172061

11 years agotsan: add check for invalid fd
Dmitry Vyukov [Thu, 10 Jan 2013 12:28:58 +0000 (12:28 +0000)]
tsan: add check for invalid fd

llvm-svn: 172060

11 years ago[asan] don't fail the test if prctl(PR_SET_NAME) is not supported
Kostya Serebryany [Thu, 10 Jan 2013 11:55:43 +0000 (11:55 +0000)]
[asan] don't fail the test if prctl(PR_SET_NAME) is not supported

llvm-svn: 172059

11 years agoFix layout of blocks inside statements.
Manuel Klimek [Thu, 10 Jan 2013 11:52:21 +0000 (11:52 +0000)]
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 };

llvm-svn: 172058

11 years ago[msan] Set program exit code in keep-going mode.
Evgeniy Stepanov [Thu, 10 Jan 2013 11:17:55 +0000 (11:17 +0000)]
[msan] Set program exit code in keep-going mode.

llvm-svn: 172057

11 years agoImprove clang-format's understanding of casts.
Daniel Jasper [Thu, 10 Jan 2013 11:14:08 +0000 (11:14 +0000)]
Improve clang-format's understanding of casts.

This fixes llvm.org/PR14684.

Before: int *pa = (int *) & a;
After:  int *pa = (int *)&a;

We still don't understand all kinds of casts. I added a FIXME to
address that.

llvm-svn: 172056

11 years ago[asan] Add soname to the dynamic runtime.
Evgeniy Stepanov [Thu, 10 Jan 2013 10:58:14 +0000 (10:58 +0000)]
[asan] Add soname to the dynamic runtime.

llvm-svn: 172055

11 years agoFix a copy/paste error in the IR Linker, casting an ArrayType instead of a VectorType.
Joey Gouly [Thu, 10 Jan 2013 10:49:36 +0000 (10:49 +0000)]
Fix a copy/paste error in the IR Linker, casting an ArrayType instead of a VectorType.

llvm-svn: 172054

11 years agor172047 lacked a test (due to incomplete OpenCL support in clang). Use a modified
David Tweed [Thu, 10 Jan 2013 10:42:08 +0000 (10:42 +0000)]
r172047 lacked a test (due to incomplete OpenCL support in clang). Use a modified
version of a test by Joey Gouly to use attributes to materialise the unsupported
types and test vector shifts.

llvm-svn: 172053

11 years agoEnable intel_ocl_bicc for x86_64 target only. Remove fix from 171969 that enabled...
Guy Benyei [Thu, 10 Jan 2013 10:41:05 +0000 (10:41 +0000)]
Enable intel_ocl_bicc for x86_64 target only. Remove fix from 171969 that enabled this extension for multiple targets.

llvm-svn: 172052

11 years agoFix TryToShrinkGlobalToBoolean in GlobalOpt, so that it does not discard address...
Joey Gouly [Thu, 10 Jan 2013 10:31:11 +0000 (10:31 +0000)]
Fix TryToShrinkGlobalToBoolean in GlobalOpt, so that it does not discard address spaces.

llvm-svn: 172051

11 years agoIntroduce a define to switch on debug output.
Manuel Klimek [Thu, 10 Jan 2013 10:05:08 +0000 (10:05 +0000)]
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.

llvm-svn: 172050

11 years agoDo more error checking for '{}'.
Daniel Jasper [Thu, 10 Jan 2013 09:26:47 +0000 (09:26 +0000)]
Do more error checking for '{}'.

This fixes llvm.org/PR14883, where clang-format would run into an
assertion on:

void f() { return } 42

llvm-svn: 172049

11 years ago[asan] asan_allocator2: do less work under the quarantine lock; make the strcasecmp...
Kostya Serebryany [Thu, 10 Jan 2013 09:25:16 +0000 (09:25 +0000)]
[asan] asan_allocator2: do less work under the quarantine lock; make the strcasecmp test more resistant to the contents of unaddressable memory

llvm-svn: 172048

11 years agoTesting with a full OpenCL compiler (based on clang) reveals r71734 missed
David Tweed [Thu, 10 Jan 2013 09:11:33 +0000 (09:11 +0000)]
Testing with a full OpenCL compiler (based on clang) reveals r71734 missed
difference between type widths of a vector and the width of one of its elements
in the case of vector shifts. Use correct witdth in the vector case.

llvm-svn: 172047

11 years agodocs: fix broken link.
Sean Silva [Thu, 10 Jan 2013 06:39:37 +0000 (06:39 +0000)]
docs: fix broken link.

PR14889

llvm-svn: 172046

11 years ago[asan] better protect the tests from memset/memcpy inlining, explicitly include unistd.h
Kostya Serebryany [Thu, 10 Jan 2013 06:38:43 +0000 (06:38 +0000)]
[asan] better protect the tests from memset/memcpy inlining, explicitly include unistd.h

llvm-svn: 172045

11 years agoSignal.h: Add <cstdio> for FILE*, since r171989.
NAKAMURA Takumi [Thu, 10 Jan 2013 05:23:59 +0000 (05:23 +0000)]
Signal.h: Add <cstdio> for FILE*, since r171989.

llvm-svn: 172044

11 years agoAdd .arcconfig for Arcanist support for Phabricator
Alex Rosenberg [Thu, 10 Jan 2013 04:12:08 +0000 (04:12 +0000)]
Add .arcconfig for Arcanist support for Phabricator

llvm-svn: 172043

11 years agoFix comment
Alex Rosenberg [Thu, 10 Jan 2013 04:12:06 +0000 (04:12 +0000)]
Fix comment

llvm-svn: 172042

11 years ago[ubsan] Give entry methods default (not hidden) visibility.
Will Dietz [Thu, 10 Jan 2013 03:37:30 +0000 (03:37 +0000)]
[ubsan] Give entry methods default (not hidden) visibility.

Fixes using ubsan on shared libraries in linux, for example.

llvm-svn: 172041

11 years agosupport for adding linker defined symbols
Shankar Easwaran [Thu, 10 Jan 2013 03:16:27 +0000 (03:16 +0000)]
support for adding linker defined symbols

llvm-svn: 172040

11 years ago<rdar://problem/11146929>
Enrico Granata [Thu, 10 Jan 2013 02:37:22 +0000 (02:37 +0000)]
<rdar://problem/11146929>

Enabling support for the wchar_t type.
Without the proper language option setup, clang's ASTContexts will be configured to have wchar_t == int
This patch enables the correct options to make sure that we report wchar_t as itself
Added a test case to make sure we do not regress

Adding files missing from the previous commit

llvm-svn: 172039

11 years ago<rdar://problem/11146929>
Enrico Granata [Thu, 10 Jan 2013 02:36:16 +0000 (02:36 +0000)]
<rdar://problem/11146929>

Enabling support for the wchar_t type.
Without the proper language option setup, clang's ASTContexts will be configured to have wchar_t == int
This patch enables the correct options to make sure that we report wchar_t as itself
Added a test case to make sure we do not regress

llvm-svn: 172038

11 years agoclang-c/Index.h: Clarify empty argument with (void) for C89.
NAKAMURA Takumi [Thu, 10 Jan 2013 02:12:38 +0000 (02:12 +0000)]
clang-c/Index.h: Clarify empty argument with (void) for C89.

llvm-svn: 172037

11 years agoBe more careful about updating the failed-modules set
Douglas Gregor [Thu, 10 Jan 2013 02:04:18 +0000 (02:04 +0000)]
Be more careful about updating the failed-modules set

llvm-svn: 172035

11 years ago[ObjCARC Debug Message] Added debug message when we convert an autorelease into an...
Michael Gottesman [Thu, 10 Jan 2013 02:03:50 +0000 (02:03 +0000)]
[ObjCARC Debug Message] Added debug message when we convert an autorelease into an autoreleaseRV.

llvm-svn: 172034

11 years agoFix a race condition in the lock-file manager: once the lock file is
Douglas Gregor [Thu, 10 Jan 2013 02:01:35 +0000 (02:01 +0000)]
Fix a race condition in the lock-file manager: once the lock file is
gone, check for the actual file we care about.

llvm-svn: 172033

11 years agoFix a race condition in llvm::sys::path::unique_file: when we end up
Douglas Gregor [Thu, 10 Jan 2013 01:58:46 +0000 (01:58 +0000)]
Fix a race condition in llvm::sys::path::unique_file: when we end up
failing to create the unique file because the path doesn't exist,
don't fail if someone else manages to create the path before we do.

llvm-svn: 172032

11 years agoDon't assert in codegen on static data members which have NoLinkage. Fixes
Nick Lewycky [Thu, 10 Jan 2013 01:46:29 +0000 (01:46 +0000)]
Don't assert in codegen on static data members which have NoLinkage. Fixes
PR14825!

llvm-svn: 172031

11 years agoRework the realpath nonsense for framework lookups to deal more
Douglas Gregor [Thu, 10 Jan 2013 01:43:00 +0000 (01:43 +0000)]
Rework the realpath nonsense for framework lookups to deal more
uniformly with symlinks between top-level and embedded frameworks.

llvm-svn: 172030

11 years agoSupport headerless bundles in MachineInstr::hasProperty().
Jakob Stoklund Olesen [Thu, 10 Jan 2013 01:29:42 +0000 (01:29 +0000)]
Support headerless bundles in MachineInstr::hasProperty().

This function can still work without a BUNDLE header instruction.

llvm-svn: 172029

11 years ago[Archive] Use a hash map to lookup symbols in archives. Increases performance of...
Michael J. Spencer [Thu, 10 Jan 2013 01:27:45 +0000 (01:27 +0000)]
[Archive] Use a hash map to lookup symbols in archives. Increases performance of linking lua by ~6x.

llvm-svn: 172028

11 years agoStack Alignment: throw error if we can't satisfy the minimal alignment
Manman Ren [Thu, 10 Jan 2013 01:10:10 +0000 (01:10 +0000)]
Stack Alignment: throw error if we can't satisfy the minimal alignment
requirement when creating stack objects in MachineFrameInfo.

Add CreateStackObjectWithMinAlign to throw error when the minimal alignment
can't be achieved and to clamp the alignment when the preferred alignment
can't be achieved. Same is true for CreateVariableSizedObject.
Will not emit error in CreateSpillStackObject or CreateStackObject.

As long as callers of CreateStackObject do not assume the object will be
aligned at the requested alignment, we should not have miscompile since
later optimizations which look at the object's alignment will have the correct
information.

rdar://12713765

llvm-svn: 172027

11 years ago[Object][Archive] Fix name handling with bsd style long names.
Michael J. Spencer [Thu, 10 Jan 2013 01:05:34 +0000 (01:05 +0000)]
[Object][Archive] Fix name handling with bsd style long names.

llvm-svn: 172026

11 years agoFix include guards so they exactly match file names.
Jakub Staszak [Thu, 10 Jan 2013 00:45:19 +0000 (00:45 +0000)]
Fix include guards so they exactly match file names.

llvm-svn: 172025

11 years agoFormatter: Remove unused @-formatting code.
Nico Weber [Thu, 10 Jan 2013 00:42:07 +0000 (00:42 +0000)]
Formatter: Remove unused @-formatting code.

@optional @property is put on two different unwrapped lines now, so this is no
longer necessary.

llvm-svn: 172024