platform/upstream/llvm.git
11 years agoTweak r183791 so we don't print a note without a source location.
Eli Friedman [Tue, 11 Jun 2013 22:26:34 +0000 (22:26 +0000)]
Tweak r183791 so we don't print a note without a source location.

llvm-svn: 183803

11 years ago[mips] Add an IR transformation pass that optimizes calls to sqrt.
Akira Hatanaka [Tue, 11 Jun 2013 22:21:44 +0000 (22:21 +0000)]
[mips] Add an IR transformation pass that optimizes calls to sqrt.

The pass emits a call to sqrt that has attribute "read-none". This call will be
converted to an ISD::FSQRT node during DAG construction, which will turn into
a mips native sqrt instruction.

llvm-svn: 183802

11 years agoMove PathV2.h to Path.h
Rafael Espindola [Tue, 11 Jun 2013 22:21:28 +0000 (22:21 +0000)]
Move PathV2.h to Path.h

Most clients have already been moved from Path V1 to V2. The ones using V1
now include PathV1.h explicitly.

llvm-svn: 183801

11 years agoScopDetect: check region entering edges are valid.
Sebastian Pop [Tue, 11 Jun 2013 22:20:40 +0000 (22:20 +0000)]
ScopDetect: check region entering edges are valid.

When a region header is part of a loop, then all entering edges of this region
should not come from the loop but outside the region. Otherwise, the loop may be
only partially part of the region, which would cause troubles in handling
induction variables.

Currently, we can only model induction variables that are either fully part of
the scop (loop induction variable) or induction variables that are scop-
invariant (parameter). A loop that is only partially part of the
scop causes troubles, as there is no good way to handle the induction
variable in the independent blocks pass.

Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 183800

11 years agoscop detection: remove an iteration over all uses
Sebastian Pop [Tue, 11 Jun 2013 22:20:35 +0000 (22:20 +0000)]
scop detection: remove an iteration over all uses

llvm-svn: 183799

11 years agoscop detection: run isValidLoop as early as possible
Sebastian Pop [Tue, 11 Jun 2013 22:20:32 +0000 (22:20 +0000)]
scop detection: run isValidLoop as early as possible

to discard regions with invalid loops before going through the contents of the
basic blocks

llvm-svn: 183798

11 years agoscop detection: run isValidCFG as early as possible
Sebastian Pop [Tue, 11 Jun 2013 22:20:27 +0000 (22:20 +0000)]
scop detection: run isValidCFG as early as possible

to discard regions with invalid CFG before going through the contents of the
basic blocks

llvm-svn: 183797

11 years agoInclude Path.h instead of PathV2.h.
Rafael Espindola [Tue, 11 Jun 2013 22:17:04 +0000 (22:17 +0000)]
Include Path.h instead of PathV2.h.

I am about to move PathV2.h to Path.h.

llvm-svn: 183796

11 years agoInclude Path.h instead of PathV2.h.
Rafael Espindola [Tue, 11 Jun 2013 22:15:02 +0000 (22:15 +0000)]
Include Path.h instead of PathV2.h.

I am about to move PathV2.h to Path.h.

llvm-svn: 183795

11 years agoARM FastISel fix sext/zext fold
JF Bastien [Tue, 11 Jun 2013 22:13:46 +0000 (22:13 +0000)]
ARM FastISel fix sext/zext fold

Sign- and zero-extension folding was slightly incorrect because it wasn't checking that the shift on extensions was zero. Further, I recently added AND rd, rn, #255 as a form of 8-bit zero extension, and failed to add the folding code for it.

This patch fixes both issues.

This patch fixes both, and the test should remain the same:
  test/CodeGen/ARM/fast-isel-fold.ll

llvm-svn: 183794

11 years ago<rdar://problem/13646047>
Enrico Granata [Tue, 11 Jun 2013 22:06:06 +0000 (22:06 +0000)]
<rdar://problem/13646047>

Providing a Python helper SBData.CreateDataFromInt() to make an SBData out of a single integer number
It tries to use the current target, if any, for endianness and pointer size, and it picks a reasonable size on your behalf - if there is no way it can infer anything reasonable it essentially picks a 64-bit Mac as the reference model

llvm-svn: 183793

11 years agoUse llvm::APFloat for formatting if a target is available. Each target when debugging...
Greg Clayton [Tue, 11 Jun 2013 21:56:55 +0000 (21:56 +0000)]
Use llvm::APFloat for formatting if a target is available. Each target when debugging has a "ASTContext" that helps us to use the correct floating point semantics. Now that APFloat supports toString we now use that. If we don't have a target, we still fall back on the old display methodology, but the important formatting should always have a target available and thus use the compiler floating point code.

Modified the test programs to use floating point constants that always will display correctly. We had some numbers that were being rounded, and now that we are using clang, we no longer round them and we get more correct results.

llvm-svn: 183792

11 years agoCorrectly handle designated initializers which modify an array initialized
Eli Friedman [Tue, 11 Jun 2013 21:48:11 +0000 (21:48 +0000)]
Correctly handle designated initializers which modify an array initialized
with a string.  This case is sort of tricky because we can't modify the
StringLiteral used to represent such initializers.
We are forced to decompose the string into individual characters.

Fixes <rdar://problem/10465114>.

llvm-svn: 183791

11 years agoMake host ARM CPU feature detection independent of the vendor
Tobias Grosser [Tue, 11 Jun 2013 21:45:01 +0000 (21:45 +0000)]
Make host ARM CPU feature detection independent of the vendor

For ARM on linux we use /proc/cpuinfo to detect the host CPU's features.
Linux derives these values without ever looking at the vendor of the
specific CPU implementation. Hence, it adds little value, if we parse
the output of /proc/cpuinfo only for certain vendors.

This patch enables us to derive the correct feature flags e.g. for Qualcomm
CPUs.

llvm-svn: 183790

11 years ago[PECOFF][Writer] Structure of pe32_header was changed.
Rui Ueyama [Tue, 11 Jun 2013 21:39:58 +0000 (21:39 +0000)]
[PECOFF][Writer] Structure of pe32_header was changed.

Change for http://llvm-reviews.chandlerc.com/D952

Reviewers: Bigcheese

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D953

llvm-svn: 183789

11 years ago[PECOFF] Remove COFF header from PE header for simplicity.
Rui Ueyama [Tue, 11 Jun 2013 21:39:48 +0000 (21:39 +0000)]
[PECOFF] Remove COFF header from PE header for simplicity.

COFF header is always present both in executable and in object file. PE header
is present only in executable. So the natural way to handle PE/COFF file is
treating COFF is mandatory header and PE is optional. Current data structre
does not allow it, because PE header includes COFF header. Removing COFF
header will simplify the code to handle PE/COFF files.

Reviewers: Bigcheese

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D952

llvm-svn: 183788

11 years agoAdd a testcase for PR7434, which is a bug we no longer appear to have.
Richard Smith [Tue, 11 Jun 2013 20:38:45 +0000 (20:38 +0000)]
Add a testcase for PR7434, which is a bug we no longer appear to have.

llvm-svn: 183787

11 years agoInclude PathV1.h in a file that uses it.
Rafael Espindola [Tue, 11 Jun 2013 20:31:32 +0000 (20:31 +0000)]
Include PathV1.h in a file that uses it.

llvm-svn: 183786

11 years agoMore build fixes.
Rafael Espindola [Tue, 11 Jun 2013 20:24:32 +0000 (20:24 +0000)]
More build fixes.

llvm-svn: 183785

11 years agoFix build after clang change r183781.
Rafael Espindola [Tue, 11 Jun 2013 20:12:07 +0000 (20:12 +0000)]
Fix build after clang change r183781.

llvm-svn: 183784

11 years agoTry to fix the windows build.
Rafael Espindola [Tue, 11 Jun 2013 20:06:05 +0000 (20:06 +0000)]
Try to fix the windows build.

llvm-svn: 183783

11 years agoInclude PathV1.h in files that use it.
Rafael Espindola [Tue, 11 Jun 2013 20:00:56 +0000 (20:00 +0000)]
Include PathV1.h in files that use it.

This is preparation for replacing Path.h with PathV2.h.

llvm-svn: 183782

11 years agoInclude PathV1.h in files that use it.
Rafael Espindola [Tue, 11 Jun 2013 19:59:07 +0000 (19:59 +0000)]
Include PathV1.h in files that use it.

This is preparation for replacing Path.h with PathV2.h.

llvm-svn: 183781

11 years agoRemove Path::getDirname.
Rafael Espindola [Tue, 11 Jun 2013 19:32:57 +0000 (19:32 +0000)]
Remove Path::getDirname.

llvm-svn: 183780

11 years agoRemove Path::getBasename.
Rafael Espindola [Tue, 11 Jun 2013 19:29:48 +0000 (19:29 +0000)]
Remove Path::getBasename.

llvm-svn: 183779

11 years agoRemove Path::getLast.
Rafael Espindola [Tue, 11 Jun 2013 19:25:17 +0000 (19:25 +0000)]
Remove Path::getLast.

llvm-svn: 183778

11 years agoRemove GetDLLSuffix.
Rafael Espindola [Tue, 11 Jun 2013 19:18:05 +0000 (19:18 +0000)]
Remove GetDLLSuffix.

llvm-svn: 183777

11 years agoRevert r183721. It caused cleanups to be delayed too long in some cases.
Richard Smith [Tue, 11 Jun 2013 19:14:25 +0000 (19:14 +0000)]
Revert r183721. It caused cleanups to be delayed too long in some cases.
Testcase to follow.

llvm-svn: 183776

11 years agoRemove GetRootDirectory.
Rafael Espindola [Tue, 11 Jun 2013 19:13:52 +0000 (19:13 +0000)]
Remove GetRootDirectory.

llvm-svn: 183775

11 years agoMaking our Python decrefs NULL-safe
Enrico Granata [Tue, 11 Jun 2013 19:13:50 +0000 (19:13 +0000)]
Making our Python decrefs NULL-safe

llvm-svn: 183774

11 years agoRemove GetUserHomeDirectory.
Rafael Espindola [Tue, 11 Jun 2013 19:08:15 +0000 (19:08 +0000)]
Remove GetUserHomeDirectory.

llvm-svn: 183773

11 years ago<rdar://problem/13759177>
Enrico Granata [Tue, 11 Jun 2013 19:04:32 +0000 (19:04 +0000)]
<rdar://problem/13759177>

Allowing LLDB to resolve names of Python functions when they are located in classes
This allows things like *bound* classmethods to be used for formatters, commands, ...

llvm-svn: 183772

11 years agoDon't define LTDL_SHLIBPATH_VAR.
Rafael Espindola [Tue, 11 Jun 2013 19:04:13 +0000 (19:04 +0000)]
Don't define LTDL_SHLIBPATH_VAR.

llvm-svn: 183771

11 years agoRemove GetSystemLibraryPaths.
Rafael Espindola [Tue, 11 Jun 2013 18:58:47 +0000 (18:58 +0000)]
Remove GetSystemLibraryPaths.

llvm-svn: 183770

11 years agoDon't define LLVM_LIBDIR, it is not used anymore.
Rafael Espindola [Tue, 11 Jun 2013 18:52:11 +0000 (18:52 +0000)]
Don't define LLVM_LIBDIR, it is not used anymore.

llvm-svn: 183769

11 years agoReduce the number of symbols on the object file.
Samuel Benzaquen [Tue, 11 Jun 2013 18:51:07 +0000 (18:51 +0000)]
Reduce the number of symbols on the object file.

Summary:
Some compilers where failing with this file because the number of symbols was above 2**15.
- Replace std::list<> and std::vector<> with plain arrays.
- Change VariadicMatcherCreateCallback to be a function template, and a
  single class that wraps the instantiations.
- Remove some more unnecessary template arguments and function calls.

Reviewers: klimek

CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D948

llvm-svn: 183768

11 years ago[mips] Use function TargetInstrInfo::getRegClass.
Akira Hatanaka [Tue, 11 Jun 2013 18:48:16 +0000 (18:48 +0000)]
[mips] Use function TargetInstrInfo::getRegClass.

No functionality changes.

llvm-svn: 183767

11 years ago<rdar://problem/13779789>
Enrico Granata [Tue, 11 Jun 2013 18:47:55 +0000 (18:47 +0000)]
<rdar://problem/13779789>

Allow memory read -t to take persistent types (those defined with expression struct $....)

llvm-svn: 183766

11 years agoRemove Path::GetBitcodeLibraryPaths.
Rafael Espindola [Tue, 11 Jun 2013 18:45:35 +0000 (18:45 +0000)]
Remove Path::GetBitcodeLibraryPaths.

llvm-svn: 183765

11 years agoRemove unused FindLibrary function.
Rafael Espindola [Tue, 11 Jun 2013 18:41:07 +0000 (18:41 +0000)]
Remove unused FindLibrary function.

llvm-svn: 183764

11 years agoRemove sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 18:18:02 +0000 (18:18 +0000)]
Remove sys::identifyFileType.

llvm-svn: 183763

11 years agoConvert another use of sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 18:12:28 +0000 (18:12 +0000)]
Convert another use of sys::identifyFileType.

No functionality change.

llvm-svn: 183762

11 years agoFix documentation on the path to Bitcode reader/writer
Michael Liao [Tue, 11 Jun 2013 18:09:21 +0000 (18:09 +0000)]
Fix documentation on the path to Bitcode reader/writer

llvm-svn: 183761

11 years ago[libclang/python] Add a few "cursor kinds" that were missing in the python binding...
Argyrios Kyrtzidis [Tue, 11 Jun 2013 18:05:42 +0000 (18:05 +0000)]
[libclang/python] Add a few "cursor kinds" that were missing in the python binding for libclang.

Patch by Mathieu Baudet!

llvm-svn: 183760

11 years agoConvert another use of sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 18:05:26 +0000 (18:05 +0000)]
Convert another use of sys::identifyFileType.

No functionality change.

llvm-svn: 183759

11 years agoConvert another use of sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 18:01:14 +0000 (18:01 +0000)]
Convert another use of sys::identifyFileType.

No functionality change.

llvm-svn: 183758

11 years agoMake ASTContext::Allocate use size_t for the size argument.
Eli Friedman [Tue, 11 Jun 2013 17:58:38 +0000 (17:58 +0000)]
Make ASTContext::Allocate use size_t for the size argument.

llvm-svn: 183757

11 years agoChange how globalopt handles aliases in llvm.used.
Rafael Espindola [Tue, 11 Jun 2013 17:48:06 +0000 (17:48 +0000)]
Change how globalopt handles aliases in llvm.used.

Instead of a custom implementation of replaceAllUsesWith, we just call
replaceAllUsesWith and recreate llvm.used and llvm.compiler-used.

This change is particularity interesting because it makes llvm see
through what clang is doing with static used functions in extern "C"
contexts. With this change, running clang -O2 in

extern "C" {
  __attribute__((used)) static void foo() {}
}

produces

@llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to
i8*)], section "llvm.metadata"
define internal void @foo() #0 {
entry:
  ret void
}

llvm-svn: 183756

11 years agoRemove eFormatHalfFloat as it isn't needed. eFormatFloat should be used and the byte...
Greg Clayton [Tue, 11 Jun 2013 17:32:06 +0000 (17:32 +0000)]
Remove eFormatHalfFloat as it isn't needed. eFormatFloat should be used and the byte size will tell us how to display it.

llvm-svn: 183755

11 years agoConvert another use of sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 17:28:56 +0000 (17:28 +0000)]
Convert another use of sys::identifyFileType.

No functionality change.

llvm-svn: 183754

11 years agoPort r183666 to identify_magic.
Rafael Espindola [Tue, 11 Jun 2013 17:25:45 +0000 (17:25 +0000)]
Port r183666 to identify_magic.

It will be tested in the next commit which moves another user to identify_magic.

Original message:

Fix an out of bounds array access.

We were looking at Magic[5] without checking Length. Since this path would not
return unless Length >= 18 anyway, just move the >= 18 check up.

llvm-svn: 183753

11 years agoFix variable name.
Rafael Espindola [Tue, 11 Jun 2013 17:22:12 +0000 (17:22 +0000)]
Fix variable name.

llvm-svn: 183752

11 years agoModify a comment to reflect changes of r183717.
Argyrios Kyrtzidis [Tue, 11 Jun 2013 16:42:34 +0000 (16:42 +0000)]
Modify a comment to reflect changes of r183717.

llvm-svn: 183751

11 years agoInsert a space at the start of a line comment in case it starts with an alphanumeric...
Alexander Kornienko [Tue, 11 Jun 2013 16:01:49 +0000 (16:01 +0000)]
Insert a space at the start of a line comment in case it starts with an alphanumeric character.

Summary:
"//Test" becomes "// Test". This change is aimed to improve code
readability and conformance to certain coding styles. If a comment starts with a
non-alphanumeric character, the space isn't added, e.g. "//-*-c++-*-" stays
unchanged.

Reviewers: klimek

Reviewed By: klimek

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D949

llvm-svn: 183750

11 years agoFix variable name style. Don't cast to and from int.
Rafael Espindola [Tue, 11 Jun 2013 15:29:10 +0000 (15:29 +0000)]
Fix variable name style. Don't cast to and from int.

This enables the compiler to see the enum and produce warnings about a switch
not being fully covered. Fix one of these warnings.

llvm-svn: 183749

11 years ago[lsan] Harmonized some naming inconsistencies.
Sergey Matveev [Tue, 11 Jun 2013 15:26:20 +0000 (15:26 +0000)]
[lsan] Harmonized some naming inconsistencies.

llvm-svn: 183748

11 years agoConvert another use of sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 15:19:04 +0000 (15:19 +0000)]
Convert another use of sys::identifyFileType.

No functionality change.

llvm-svn: 183747

11 years agoConvert another use of sys::identifyFileType.
Rafael Espindola [Tue, 11 Jun 2013 15:09:43 +0000 (15:09 +0000)]
Convert another use of sys::identifyFileType.

No functionality change.

llvm-svn: 183746

11 years agoConvert a use of sys::identifyFileType to sys::fs::identify_magic.
Rafael Espindola [Tue, 11 Jun 2013 14:39:59 +0000 (14:39 +0000)]
Convert a use of sys::identifyFileType to sys::fs::identify_magic.

No functionality change.

llvm-svn: 183745

11 years agoR600: Make helper functions static.
Benjamin Kramer [Tue, 11 Jun 2013 13:32:25 +0000 (13:32 +0000)]
R600: Make helper functions static.

llvm-svn: 183744

11 years agoRequire members of llvm.used to be named.
Rafael Espindola [Tue, 11 Jun 2013 13:18:13 +0000 (13:18 +0000)]
Require members of llvm.used to be named.

The effect of llvm.used is to introduce an invisible reference, so this seems
a reasonable restriction. It will be used to provide an easy ordering of
the entries in llvm.used.

llvm-svn: 183743

11 years agoSilence GCC warning.
Benjamin Kramer [Tue, 11 Jun 2013 13:13:47 +0000 (13:13 +0000)]
Silence GCC warning.

llvm-svn: 183742

11 years agoASTUnit: Invert the dependency of PrecompilePreambleAction on PrecompilePreambleConsumer.
Benjamin Kramer [Tue, 11 Jun 2013 13:07:19 +0000 (13:07 +0000)]
ASTUnit: Invert the dependency of PrecompilePreambleAction on PrecompilePreambleConsumer.

Actions outlive consumers. PR16295. Found by AddressSanitizer.

llvm-svn: 183741

11 years agoFactor duplicated yamlReader creation.
Rafael Espindola [Tue, 11 Jun 2013 12:36:05 +0000 (12:36 +0000)]
Factor duplicated yamlReader creation.

The yaml reader is not specific to any file format. This patch moves
it to TargetInfo and makes validate a non virtual interface so that it
can be constructed from a single location.

The same method will be used to create a reader for llvm bitcode
files.

llvm-svn: 183740

11 years agoMake it possible to assign clang-format-buffer to a keybinding.
Manuel Klimek [Tue, 11 Jun 2013 12:00:24 +0000 (12:00 +0000)]
Make it possible to assign clang-format-buffer to a keybinding.

Patch by Chris Gray.

llvm-svn: 183739

11 years agotsan: add -Wno-maybe-uninitialized to Go build script
Dmitry Vyukov [Tue, 11 Jun 2013 11:44:43 +0000 (11:44 +0000)]
tsan: add -Wno-maybe-uninitialized to Go build script
this is how the rest of the codebase is built

llvm-svn: 183738

11 years agoRework r183728, suppress assert(0) for now. Its behavior depends on assertions on...
NAKAMURA Takumi [Tue, 11 Jun 2013 10:01:42 +0000 (10:01 +0000)]
Rework r183728, suppress assert(0) for now. Its behavior depends on assertions on win32 hosts.

FIXME: Introduce yet another checker but assert(0).
llvm-svn: 183736

11 years ago[lsan] Fix the unittest makefiles.
Sergey Matveev [Tue, 11 Jun 2013 09:52:02 +0000 (09:52 +0000)]
[lsan] Fix the unittest makefiles.

llvm-svn: 183735

11 years agoIt adds support for negative zero offsets for loads and stores.
Mihai Popa [Tue, 11 Jun 2013 09:48:35 +0000 (09:48 +0000)]
It adds support for negative zero offsets for loads and stores.
Negative zero is returned by the primary expression parser as INT32_MIN, so all that the method needs to do is to accept this value.
Behavior already present for Thumb2.

llvm-svn: 183734

11 years agoThis patch adds support for FPINST/FPINST2 as operands to vmsr/vmrs. These are option...
Mihai Popa [Tue, 11 Jun 2013 09:39:51 +0000 (09:39 +0000)]
This patch adds support for FPINST/FPINST2 as operands to vmsr/vmrs. These are optional registers that may be supported some ARM implementations to aid with resolution of floating point exceptions. The manual pages for vmsr and vmrs do not detail their use. Encodings and other information can be found in ARM Architecture Reference Manual section F, chapter 6, paragraph 3.

llvm-svn: 183733

11 years ago[Sanitizer] add file forgotten in r183730
Alexey Samsonov [Tue, 11 Jun 2013 08:14:24 +0000 (08:14 +0000)]
[Sanitizer] add file forgotten in r183730

llvm-svn: 183732

11 years agoARM: Enforce decoding rules for VLDn instructions
Amaury de la Vieuville [Tue, 11 Jun 2013 08:14:14 +0000 (08:14 +0000)]
ARM: Enforce decoding rules for VLDn instructions

llvm-svn: 183731

11 years ago[Sanitizer] support running external llvm-symbolizer on Mac
Alexey Samsonov [Tue, 11 Jun 2013 08:13:36 +0000 (08:13 +0000)]
[Sanitizer] support running external llvm-symbolizer on Mac

llvm-svn: 183730

11 years agoARM: Fix STREX/LDREX reecoding
Amaury de la Vieuville [Tue, 11 Jun 2013 08:03:20 +0000 (08:03 +0000)]
ARM: Fix STREX/LDREX reecoding

The decoded MCInst wasn't reencoded as the same instruction

llvm-svn: 183729

11 years agoTweak a couple of tests on win32 hosts with +Asserts.
NAKAMURA Takumi [Tue, 11 Jun 2013 06:52:58 +0000 (06:52 +0000)]
Tweak a couple of tests on win32 hosts with +Asserts.

  - Don't use assert(0), or tests may pass or fail according to assertions.
  - For now, The tests are marked as XFAIL for win32 hosts.

FIXME: Could we avoid XFAIL to specify triple in the RUN lines?
llvm-svn: 183728

11 years agoARMAsmBackend.cpp: Use Triple::isOSBinFormatCOFF() instead of isOSWindows().
NAKAMURA Takumi [Tue, 11 Jun 2013 06:52:43 +0000 (06:52 +0000)]
ARMAsmBackend.cpp: Use Triple::isOSBinFormatCOFF() instead of isOSWindows().

FYI, isOSBinFormatCOFF() is as same as isOSWindows(), on trunk.

llvm-svn: 183727

11 years agoWhitespace.
NAKAMURA Takumi [Tue, 11 Jun 2013 06:52:36 +0000 (06:52 +0000)]
Whitespace.

llvm-svn: 183726

11 years agoRemove some unicode that sneaked in.
David Majnemer [Tue, 11 Jun 2013 06:19:45 +0000 (06:19 +0000)]
Remove some unicode that sneaked in.

llvm-svn: 183725

11 years ago[WinLink] Add -force command line option to allow undefined symbols.
Rui Ueyama [Tue, 11 Jun 2013 04:52:14 +0000 (04:52 +0000)]
[WinLink] Add -force command line option to allow undefined symbols.

llvm-svn: 183724

11 years agoImplement DR61: Address of ambiguous bound methods should be disallowed
David Majnemer [Tue, 11 Jun 2013 03:56:29 +0000 (03:56 +0000)]
Implement DR61: Address of ambiguous bound methods should be disallowed

DR61 affirms that expressions containing unresolved member access should
be disallowed when performing "address of" operations.

llvm-svn: 183723

11 years agoImplement DR85: Redeclaration of member is forbidden
David Majnemer [Tue, 11 Jun 2013 03:51:23 +0000 (03:51 +0000)]
Implement DR85: Redeclaration of member is forbidden

Disallow the existence of a declaration of a member class that isn't a
forward declaration before it's definition.

llvm-svn: 183722

11 years agoRework IR emission for lifetime-extended temporaries. Instead of trying to walk
Richard Smith [Tue, 11 Jun 2013 02:41:00 +0000 (02:41 +0000)]
Rework IR emission for lifetime-extended temporaries. Instead of trying to walk
into the expression and dig out a single lifetime-extended entity and manually
pull its cleanup outside the expression, instead keep a list of the cleanups
which we'll need to emit when we get to the end of the full-expression. Also
emit those cleanups early, as EH-only cleanups, to cover the case that the
full-expression does not terminate normally. This allows IR generation to
properly model temporary lifetime when multiple temporaries are extended by the
same declaration.

We have a pre-existing bug where an exception thrown from a temporary's
destructor does not clean up lifetime-extended temporaries created in the same
expression and extended to automatic storage duration; that is not fixed by
this patch.

llvm-svn: 183721

11 years agoFix a very silly mistake in r183590.
Eli Friedman [Tue, 11 Jun 2013 01:59:28 +0000 (01:59 +0000)]
Fix a very silly mistake in r183590.

llvm-svn: 183720

11 years ago<rdar://problem/12876503>
Enrico Granata [Tue, 11 Jun 2013 01:26:35 +0000 (01:26 +0000)]
<rdar://problem/12876503>

Adding a new setting interpreter.stop-command-source-on-error that dictates a default behavior for whether command source should stop upon hitting an error
You can still override the setting for each individual invocation with the usual -e setting

llvm-svn: 183719

11 years agoFix a FIXME in a testcase about packed structs and calls I left around
Eli Friedman [Tue, 11 Jun 2013 01:08:22 +0000 (01:08 +0000)]
Fix a FIXME in a testcase about packed structs and calls I left around
while fixing a related bug.  The fix here was simpler than I thought it
would be.

Fixes <rdar://problem/10530444>.

llvm-svn: 183718

11 years ago[libclang] Allow building a precompiled preamble with compiler errors
Argyrios Kyrtzidis [Tue, 11 Jun 2013 00:36:55 +0000 (00:36 +0000)]
[libclang] Allow building a precompiled preamble with compiler errors

A while ago we allowed libclang to build a PCH that had compiler errors; this was to retain the performance
afforded by a PCH even if the user's code is in an intermediate state.

Extend this for the precompiled preamble as well.

rdar://14109828

llvm-svn: 183717

11 years ago<rdar://problem/12783351>
Enrico Granata [Tue, 11 Jun 2013 00:18:18 +0000 (00:18 +0000)]
<rdar://problem/12783351>

Add support for half-floats, as specified by IEEE-754-2008
With this checkin, you can now say:
(lldb) x/7hf foo

to read 7 half-floats at address foo

llvm-svn: 183716

11 years agoFix dubious type name similar to member name.
Sean Silva [Tue, 11 Jun 2013 00:13:52 +0000 (00:13 +0000)]
Fix dubious type name similar to member name.

Should bring bots back to life.

llvm-svn: 183715

11 years agoRemove mis-grouping of an objc diagostic in my last
Fariborz Jahanian [Tue, 11 Jun 2013 00:08:48 +0000 (00:08 +0000)]
Remove mis-grouping of an objc diagostic in my last
patch.

llvm-svn: 183714

11 years agoObjective-C [qoi]: Issue better warning when nsstring literal is missing
Fariborz Jahanian [Mon, 10 Jun 2013 23:51:51 +0000 (23:51 +0000)]
Objective-C [qoi]: Issue better warning when nsstring literal is missing
the '@'. PR16287 and // rdar://14106083

llvm-svn: 183713

11 years agoFix spurious semicolons.
Sean Silva [Mon, 10 Jun 2013 23:48:38 +0000 (23:48 +0000)]
Fix spurious semicolons.

Apparently these macros have semicolons inside of them already.

llvm-svn: 183712

11 years ago[yaml2obj] Initial ELF support.
Sean Silva [Mon, 10 Jun 2013 23:44:15 +0000 (23:44 +0000)]
[yaml2obj] Initial ELF support.

Currently, only emitting the ELF header is supported (no sections or
segments).

The ELFYAML code organization is broadly similar to the COFFYAML code.

llvm-svn: 183711

11 years agoARM: diagnose ARM/Thumb assembly switches on CPUs only supporting one.
Tim Northover [Mon, 10 Jun 2013 23:20:58 +0000 (23:20 +0000)]
ARM: diagnose ARM/Thumb assembly switches on CPUs only supporting one.

Some ARM CPUs only support ARM mode (ancient v4 ones, for example) and some
only support Thumb mode (M-class ones currently). This makes sure such CPUs
default to the correct mode and makes the AsmParser diagnose an attempt to
switch modes incorrectly.

rdar://14024354

llvm-svn: 183710

11 years agoFix xemacs mode line, don't put them in .cpp files (just header files). No
Nick Lewycky [Mon, 10 Jun 2013 23:10:59 +0000 (23:10 +0000)]
Fix xemacs mode line, don't put them in .cpp files (just header files). No
functionality change.

llvm-svn: 183709

11 years ago[PECOFF] Refactoring: Split FileCOFF c'tor. No functionality change.
Rui Ueyama [Mon, 10 Jun 2013 22:57:49 +0000 (22:57 +0000)]
[PECOFF] Refactoring: Split FileCOFF c'tor. No functionality change.

Split FileCOFF's constructor into mainly two private methods.
One method is responsible to iterate over symbol tables, and other
method is to atomize defined atoms. This is for readability and
no changes in functionality.

Reviewers: Bigcheese

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D940

llvm-svn: 183708

11 years agoAdding properties to the SBBreakpoint class
Enrico Granata [Mon, 10 Jun 2013 22:39:08 +0000 (22:39 +0000)]
Adding properties to the SBBreakpoint class

llvm-svn: 183707

11 years ago<rdar://problem/14101771>
Enrico Granata [Mon, 10 Jun 2013 22:26:15 +0000 (22:26 +0000)]
<rdar://problem/14101771>

Hardening the CFBitVector data formatter against failed reads

llvm-svn: 183706

11 years ago[PECOFF][Writer] Set required OS version numbers.
Rui Ueyama [Mon, 10 Jun 2013 22:25:41 +0000 (22:25 +0000)]
[PECOFF][Writer] Set required OS version numbers.

llvm-svn: 183705

11 years agoRemove a few fixmes, the only work we're doing is getting the string
Eric Christopher [Mon, 10 Jun 2013 22:24:10 +0000 (22:24 +0000)]
Remove a few fixmes, the only work we're doing is getting the string
to return and this is done all over.

llvm-svn: 183704

11 years agoFix up comment.
Eric Christopher [Mon, 10 Jun 2013 22:24:07 +0000 (22:24 +0000)]
Fix up comment.

llvm-svn: 183703