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
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
Fariborz Jahanian [Thu, 10 Jan 2013 22:17:49 +0000 (22:17 +0000)]
Declare +new instead of -new in test.
llvm-svn: 172126
Jakub Staszak [Thu, 10 Jan 2013 22:14:33 +0000 (22:14 +0000)]
Remove trailing spaces.
llvm-svn: 172125
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
Jakub Staszak [Thu, 10 Jan 2013 22:13:13 +0000 (22:13 +0000)]
Remove unneeded includes from FunctionLoweringInfo.h.
llvm-svn: 172123
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
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
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
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
Jakub Staszak [Thu, 10 Jan 2013 22:07:29 +0000 (22:07 +0000)]
Remove unneeded #includes.
llvm-svn: 172118
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
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
Jakub Staszak [Thu, 10 Jan 2013 21:56:40 +0000 (21:56 +0000)]
Fix #includes after my last commit.
llvm-svn: 172114
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
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
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
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
Dmitri Gribenko [Thu, 10 Jan 2013 21:10:44 +0000 (21:10 +0000)]
Fix coding style
llvm-svn: 172107
Jakub Staszak [Thu, 10 Jan 2013 21:02:05 +0000 (21:02 +0000)]
Unbreak tests after regression from r172081.
llvm-svn: 172105
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
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
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
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
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
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
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
Nico Weber [Thu, 10 Jan 2013 19:48:53 +0000 (19:48 +0000)]
Remove FIXME fixed by djasper in r172066.
llvm-svn: 172097
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
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
Ted Kremenek [Thu, 10 Jan 2013 19:29:31 +0000 (19:29 +0000)]
ccc-analyzer: Forward -msse* options to the compiler.
llvm-svn: 172094
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
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
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
Argyrios Kyrtzidis [Thu, 10 Jan 2013 18:58:44 +0000 (18:58 +0000)]
[libclang] Add missing header file
llvm-svn: 172090
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
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
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
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
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
Jordan Rose [Thu, 10 Jan 2013 18:50:05 +0000 (18:50 +0000)]
TableGen: record anonymous instantiations of classes.
llvm-svn: 172084
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
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
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
Shankar Easwaran [Thu, 10 Jan 2013 18:16:10 +0000 (18:16 +0000)]
style changes
llvm-svn: 172080
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
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
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
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
Alexander Kornienko [Thu, 10 Jan 2013 15:19:44 +0000 (15:19 +0000)]
Format what you can when errors are found
llvm-svn: 172075
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
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
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
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
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
Kostya Serebryany [Thu, 10 Jan 2013 13:38:38 +0000 (13:38 +0000)]
[sanitizer] better statistics for the large allocator
llvm-svn: 172069
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
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
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
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
Dmitry Vyukov [Thu, 10 Jan 2013 13:06:35 +0000 (13:06 +0000)]
asan/tsan: fix comment
llvm-svn: 172064
Kostya Serebryany [Thu, 10 Jan 2013 13:05:16 +0000 (13:05 +0000)]
[sanitizer] fix the non-cmake build
llvm-svn: 172063
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
Kostya Serebryany [Thu, 10 Jan 2013 12:34:12 +0000 (12:34 +0000)]
[sanitizer] add standalone_malloc_test
llvm-svn: 172061
Dmitry Vyukov [Thu, 10 Jan 2013 12:28:58 +0000 (12:28 +0000)]
tsan: add check for invalid fd
llvm-svn: 172060
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
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
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
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
Evgeniy Stepanov [Thu, 10 Jan 2013 10:58:14 +0000 (10:58 +0000)]
[asan] Add soname to the dynamic runtime.
llvm-svn: 172055
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
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
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
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
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
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
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
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
Sean Silva [Thu, 10 Jan 2013 06:39:37 +0000 (06:39 +0000)]
docs: fix broken link.
PR14889
llvm-svn: 172046
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
NAKAMURA Takumi [Thu, 10 Jan 2013 05:23:59 +0000 (05:23 +0000)]
Signal.h: Add <cstdio> for FILE*, since r171989.
llvm-svn: 172044
Alex Rosenberg [Thu, 10 Jan 2013 04:12:08 +0000 (04:12 +0000)]
Add .arcconfig for Arcanist support for Phabricator
llvm-svn: 172043
Alex Rosenberg [Thu, 10 Jan 2013 04:12:06 +0000 (04:12 +0000)]
Fix comment
llvm-svn: 172042
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
Shankar Easwaran [Thu, 10 Jan 2013 03:16:27 +0000 (03:16 +0000)]
support for adding linker defined symbols
llvm-svn: 172040
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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