platform/upstream/llvm.git
11 years agoObjective-C migrator: some cleanup.
Fariborz Jahanian [Wed, 24 Jul 2013 19:18:37 +0000 (19:18 +0000)]
Objective-C migrator: some cleanup.
Expose static type of init/alloc/retain with
instance type as well. Ad-hoc cases are coming
next.

llvm-svn: 187068

11 years agoFix doxygen warnings
Ariel J. Bernal [Wed, 24 Jul 2013 19:14:57 +0000 (19:14 +0000)]
Fix doxygen warnings
Doxygen doesn't recognize <blockquote> html tags. Added support for <blockquote>
and Markdown was introduce with doxygen 1.8.0. This patch replaces blockquote
with \par for compatibility with previous versions.

llvm-svn: 187067

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 18:56:43 +0000 (18:56 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187066

11 years agoAdd not to a command that is expected to fail.
Rafael Espindola [Wed, 24 Jul 2013 18:45:44 +0000 (18:45 +0000)]
Add not to a command that is expected to fail.

llvm-svn: 187065

11 years agoadd -disable-debug-info-verifier to 3 test to fix tests with pipefail.
Rafael Espindola [Wed, 24 Jul 2013 18:44:10 +0000 (18:44 +0000)]
add -disable-debug-info-verifier to 3 test to fix tests with pipefail.

llvm-svn: 187064

11 years ago[mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail
Akira Hatanaka [Wed, 24 Jul 2013 18:43:52 +0000 (18:43 +0000)]
[mips] Make MipsAsmParser::parseCCRRegs return NoMatch instead of ParseFail
when there wasn't a match. This behavior is consistent with other register
parsing methods.

llvm-svn: 187063

11 years agoObjectiveC migration: Method candidates for
Fariborz Jahanian [Wed, 24 Jul 2013 18:31:42 +0000 (18:31 +0000)]
ObjectiveC migration: Method candidates for
migrating to instancetype can have implicit 'id'
type too.

llvm-svn: 187062

11 years agoPass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch.
Eli Bendersky [Wed, 24 Jul 2013 18:20:14 +0000 (18:20 +0000)]
Pass -fno-math-builtin from the Clang driver to -cc1 for the l32 arch.

llvm-svn: 187061

11 years ago<rdar://problem/14521548>
Greg Clayton [Wed, 24 Jul 2013 18:17:35 +0000 (18:17 +0000)]
<rdar://problem/14521548>

Fixed a crasher where if you accidentally specify a size that is too large when reading memory, LLDB would crash.

llvm-svn: 187060

11 years agoAdded get_num_groups
Aaron Watry [Wed, 24 Jul 2013 18:03:38 +0000 (18:03 +0000)]
Added get_num_groups

The get_num_groups function was missing for r600g. I did the same
thing as the other workitem functions.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 187059

11 years agoRename feature test for lambda init-captures from cxx_generalized_capture to
Richard Smith [Wed, 24 Jul 2013 17:51:13 +0000 (17:51 +0000)]
Rename feature test for lambda init-captures from cxx_generalized_capture to
cxx_init_capture. "generalized" is neither descriptive nor future-proof. No
compatibility problems expected, since we've never advertised having this
feature.

llvm-svn: 187058

11 years agoDon't rely on C99 for loop initializers in test case
Stefanus Du Toit [Wed, 24 Jul 2013 17:48:04 +0000 (17:48 +0000)]
Don't rely on C99 for loop initializers in test case

This allows compilation of the test case with GCC 4.8.

llvm-svn: 187057

11 years agoUpdate old llc documentation.
Jakob Stoklund Olesen [Wed, 24 Jul 2013 17:45:11 +0000 (17:45 +0000)]
Update old llc documentation.

Patch by Hafiz Abid!

llvm-svn: 187056

11 years agoUpdate documentation to match current C++1y feature set.
Richard Smith [Wed, 24 Jul 2013 17:41:31 +0000 (17:41 +0000)]
Update documentation to match current C++1y feature set.

llvm-svn: 187055

11 years agoMake test pass in Release builds, IR names don't get emitted there.
Benjamin Kramer [Wed, 24 Jul 2013 17:27:08 +0000 (17:27 +0000)]
Make test pass in Release builds, IR names don't get emitted there.

llvm-svn: 187054

11 years ago[mips] Remove XFAIL from test-ptr-reloc-remote.ll
Petar Jovanovic [Wed, 24 Jul 2013 17:14:05 +0000 (17:14 +0000)]
[mips] Remove XFAIL from test-ptr-reloc-remote.ll

The change r187019 has fixed multiple relocations in dynamic linker for
MIPS, so now this test passes for MIPS.

llvm-svn: 187053

11 years agoDebug Info: improve the Finder.
Manman Ren [Wed, 24 Jul 2013 17:10:09 +0000 (17:10 +0000)]
Debug Info: improve the Finder.

Improve the Finder to handle context of a DIVariable used by DbgValueInst.
Fix testing cases to make them pass the verifier.

llvm-svn: 187052

11 years agoUse ARM-style representation for C++ method pointers under PNaCl/Emscripten
Mark Seaborn [Wed, 24 Jul 2013 16:25:13 +0000 (16:25 +0000)]
Use ARM-style representation for C++ method pointers under PNaCl/Emscripten

Before this change, Clang uses the x86 representation for C++ method
pointers when generating code for PNaCl.  However, the resulting code
will assume that function pointers are 0 mod 2.  This assumption is
not safe for PNaCl, where function pointers could have any value
(especially in future sandboxing models).

So, switch to using the ARM representation for PNaCl code, which makes
no assumptions about the alignment of function pointers.

Since we're changing the "le32" target, this change also applies to
Emscripten.  The change is beneficial for Emscripten too.  Emscripten
has a workaround to make function pointers 0 mod 2.  This change would
allow the workaround to be removed.

See: https://code.google.com/p/nativeclient/issues/detail?id=3450
llvm-svn: 187051

11 years agoTRE: Move class into anonymous namespace.
Benjamin Kramer [Wed, 24 Jul 2013 16:12:08 +0000 (16:12 +0000)]
TRE: Move class into anonymous namespace.

While there shrink a dangerously large SmallPtrSet.

llvm-svn: 187050

11 years agoUpdate testing cases to pass debug info verifier.
Manman Ren [Wed, 24 Jul 2013 15:55:41 +0000 (15:55 +0000)]
Update testing cases to pass debug info verifier.

llvm-svn: 187049

11 years agocpp11-migrate: Fix build break on Windows introduced in r187041.
Guillaume Papin [Wed, 24 Jul 2013 15:35:24 +0000 (15:35 +0000)]
cpp11-migrate: Fix build break on Windows introduced in r187041.

r187041 changed the way the transform are created and the order the transformed
are applied "may" have changed as well (no specific constraints exist on the
order). This produced a test failure on the Windows buildbot.

Now the test use -std=c++11, so 'nullptr' is defined and the test is not anymore
dependent on the order the transforms are applied.

llvm-svn: 187048

11 years agoSema: Minor const fixups and control flow tidying.
Benjamin Kramer [Wed, 24 Jul 2013 15:28:33 +0000 (15:28 +0000)]
Sema: Minor const fixups and control flow tidying.

No functionality change.

llvm-svn: 187047

11 years agoAdd -disable-debug-info-verifier to a RUN line.
Rafael Espindola [Wed, 24 Jul 2013 14:56:31 +0000 (14:56 +0000)]
Add -disable-debug-info-verifier to a RUN line.

Found by running the test with pipefail enabled.

llvm-svn: 187046

11 years agoUpdate www build instructions for FreeBSD
Ed Maste [Wed, 24 Jul 2013 14:53:48 +0000 (14:53 +0000)]
Update www build instructions for FreeBSD

llvm-svn: 187045

11 years agoAdd support for Adaptative matchers on the dynamic registry.
Samuel Benzaquen [Wed, 24 Jul 2013 14:48:01 +0000 (14:48 +0000)]
Add support for Adaptative matchers on the dynamic registry.

Summary:
Add support for Adaptative matchers on the dynamic registry.
Each adaptative matcher is created with a function template. We instantiate the function N times, one for each possible From type and apply the techniques used on argument overloaded and polymorphic matchers to add them to the registry.

Reviewers: klimek

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

llvm-svn: 187044

11 years agoAdd FreeBSD buildbots to build page
Ed Maste [Wed, 24 Jul 2013 14:44:09 +0000 (14:44 +0000)]
Add FreeBSD buildbots to build page

llvm-svn: 187043

11 years agoDon't leak when expanding response files.
Rafael Espindola [Wed, 24 Jul 2013 14:32:01 +0000 (14:32 +0000)]
Don't leak when expanding response files.

Before this patch we would strdup each argument. If one was a response file,
we would replace it with the response file contents, leaking the original
strdup result.

We now don't strdup the originals and let StringSaver free any memory it
allocated. This also saves a bit of malloc traffic when response files are
not used.

Leak found by the valgrind build bot.

llvm-svn: 187042

11 years agocpp11-migrate: Register the transforms automatically using llvm::Registry
Guillaume Papin [Wed, 24 Jul 2013 14:24:33 +0000 (14:24 +0000)]
cpp11-migrate: Register the transforms automatically using llvm::Registry

With this change each transform now register a factory. The factories are
registered using an llvm::Registry which makes them available globally.

llvm-svn: 187041

11 years agoelf-core: Document offset constants in FreeBSD prstatus parser
Ed Maste [Wed, 24 Jul 2013 14:23:37 +0000 (14:23 +0000)]
elf-core: Document offset constants in FreeBSD prstatus parser

Also accomodate struct padding based on arch, for later i386 work.

llvm-svn: 187040

11 years agoDelete the buffer in createObjectFile if it fails.
Rafael Espindola [Wed, 24 Jul 2013 14:00:26 +0000 (14:00 +0000)]
Delete the buffer in createObjectFile if it fails.

The Binary constructor takes ownership of the memory buffer. This is a fairly
unfortunate interface, but for now make createObjectFile consistent with it
by also deleting the buffer if it fails.

Fixes a leak in llvm-ar found by the valgrind bots.

llvm-svn: 187039

11 years agotest commit
Guillaume Papin [Wed, 24 Jul 2013 13:58:28 +0000 (13:58 +0000)]
test commit

llvm-svn: 187038

11 years agoUpdate current state of FreeBSD port
Ed Maste [Wed, 24 Jul 2013 13:51:45 +0000 (13:51 +0000)]
Update current state of FreeBSD port

llvm-svn: 187037

11 years agoUpdated the LLDB status page to reflect recent work on Linux.
Ashok Thirumurthi [Wed, 24 Jul 2013 13:32:18 +0000 (13:32 +0000)]
Updated the LLDB status page to reflect recent work on Linux.

llvm-svn: 187036

11 years agoUpdating tests that fail with ICC 13.1 because of the different mapping of assembly...
Ashok Thirumurthi [Wed, 24 Jul 2013 13:24:06 +0000 (13:24 +0000)]
Updating tests that fail with ICC 13.1 because of the different mapping of assembly to DWARF.

llvm-svn: 187035

11 years agollvm-ar is far closer to being a regular ar implementation now. Update the docs.
Rafael Espindola [Wed, 24 Jul 2013 13:13:24 +0000 (13:13 +0000)]
llvm-ar is far closer to being a regular ar implementation now. Update the docs.

llvm-svn: 187034

11 years agoclang-format: Initial (incomplete) support for the WebKit coding style.
Daniel Jasper [Wed, 24 Jul 2013 13:10:59 +0000 (13:10 +0000)]
clang-format: Initial (incomplete) support for the WebKit coding style.

This is far from implementing all the rules given by
http://www.webkit.org/coding/coding-style.html

The important new feature is the support for styles that don't have a
column limit. For such styles, clang-format will (at the moment) simply
respect the input's formatting decisions within statements.

llvm-svn: 187033

11 years ago[test commit] Minor comment change.
Petar Jovanovic [Wed, 24 Jul 2013 13:02:35 +0000 (13:02 +0000)]
[test commit] Minor comment change.

Testing commit access credentials.

llvm-svn: 187032

11 years agoFix a problem I introduced in r187029 where we would over-eagerly
Chandler Carruth [Wed, 24 Jul 2013 12:12:17 +0000 (12:12 +0000)]
Fix a problem I introduced in r187029 where we would over-eagerly
schedule an alloca for another iteration in SROA. This only showed up
with a mixture of promotable and unpromotable selects and phis. Added
a test case for this.

llvm-svn: 187031

11 years agoI'm starting to commit KNL backend. I'll push patches one-by-one. This patch includes...
Elena Demikhovsky [Wed, 24 Jul 2013 11:02:47 +0000 (11:02 +0000)]
I'm starting to commit KNL backend. I'll push patches one-by-one. This patch includes support for the extended register set XMM16-31, YMM16-31, ZMM0-31.
The full ISA you can see here: http://software.intel.com/en-us/intel-isa-extensions

llvm-svn: 187030

11 years agoFix PR16687 where we were incorrectly promoting an alloca that had
Chandler Carruth [Wed, 24 Jul 2013 09:47:28 +0000 (09:47 +0000)]
Fix PR16687 where we were incorrectly promoting an alloca that had
pending speculation for a phi node. The problem here is that we were
using growth of the specluation set as an indicator of whether
speculation would occur, and if the phi node is already in the set we
don't see it grow. This is a symptom of the fact that this signal is
a total hack.

Unfortunately, I couldn't really come up with a non-hacky way of
signaling that promotion remains valid *after* speculation occurs, such
that we only speculate when all else looks good for promotion. In the
end, I went with at least a much more explicit approach of doing the
work of queuing inside the phi and select processing and setting
a preposterously named flag to convey that we're in the special state of
requiring speculating before promotion.

Thanks to Richard Trieu and Nick Lewycky for the excellent work reducing
a testcase for this from a pretty giant, nasty assert in a big
application. =] The testcase was excellent.

llvm-svn: 187029

11 years agoallow tests to run on powerpc-darwin8 again, checking for __ppc__
David Fang [Wed, 24 Jul 2013 07:52:16 +0000 (07:52 +0000)]
allow tests to run on powerpc-darwin8 again, checking for __ppc__

llvm-svn: 187027

11 years agoSplit generated asm mnemonic matching table into a separate table for each asm variant.
Craig Topper [Wed, 24 Jul 2013 07:33:14 +0000 (07:33 +0000)]
Split generated asm mnemonic matching table into a separate table for each asm variant.

This removes the need to store the asm variant in each row of the single table that existed before. Shaves ~16K off the size of X86AsmParser.o.

llvm-svn: 187026

11 years agoC++1y: track object lifetime during constexpr evaluation, and don't allow
Richard Smith [Wed, 24 Jul 2013 07:11:57 +0000 (07:11 +0000)]
C++1y: track object lifetime during constexpr evaluation, and don't allow
objects to be used once their lifetimes end. This completes the C++1y
constexpr extensions.

llvm-svn: 187025

11 years agoScopDetect: Add some test cases for sequential loops
Tobias Grosser [Wed, 24 Jul 2013 06:10:37 +0000 (06:10 +0000)]
ScopDetect: Add some test cases for sequential loops

llvm-svn: 187024

11 years agoScopInfo/IndependentBlocks: clang-format
Tobias Grosser [Wed, 24 Jul 2013 06:10:30 +0000 (06:10 +0000)]
ScopInfo/IndependentBlocks: clang-format

llvm-svn: 187023

11 years agoUpdate docs.
Manuel Klimek [Wed, 24 Jul 2013 05:46:07 +0000 (05:46 +0000)]
Update docs.

llvm-svn: 187022

11 years agoRevert accidental commit.
Craig Topper [Wed, 24 Jul 2013 04:52:55 +0000 (04:52 +0000)]
Revert accidental commit.

llvm-svn: 187021

11 years agoFix aliases for shrd/shld to handle Intel syntax properly. Also suppress them from...
Craig Topper [Wed, 24 Jul 2013 04:38:13 +0000 (04:38 +0000)]
Fix aliases for shrd/shld to handle Intel syntax properly. Also suppress them from being used by the asm printer.

llvm-svn: 187020

11 years ago[mips] Use pristine object file while processing relocations.
Akira Hatanaka [Wed, 24 Jul 2013 01:58:40 +0000 (01:58 +0000)]
[mips] Use pristine object file while processing relocations.

    Similar to ARM change r182800, dynamic linker will read bits/addends from
    the original object rather than from the object that might have been patched
    previously. For the purpose of relocations for MCJIT stubs on MIPS, we
    internally use otherwise unused MIPS relocations.

    The change also enables MCJIT unit tests for MIPS (EL/BE), and the following
    two tests now pass:

    - MCJITTest.return_global and
    - MCJITTest.multiple_functions.

    These issues have been tracked as Bug 16250.

    Patch by Petar Jovanovic.

llvm-svn: 187019

11 years agoReplace with a "null" RAUW with an assert since we'd actually like
Eric Christopher [Wed, 24 Jul 2013 01:51:12 +0000 (01:51 +0000)]
Replace with a "null" RAUW with an assert since we'd actually like
to assume we're replacing. Clarify comments.

llvm-svn: 187018

11 years agoRemove dead code.
Eric Christopher [Wed, 24 Jul 2013 01:38:05 +0000 (01:38 +0000)]
Remove dead code.

llvm-svn: 187017

11 years agoUpdate testing cases to make them pass debug info verification.
Manman Ren [Wed, 24 Jul 2013 01:26:37 +0000 (01:26 +0000)]
Update testing cases to make them pass debug info verification.

llvm-svn: 187016

11 years agoRemove unnecessary constructors as the default conversions will handle
Eric Christopher [Wed, 24 Jul 2013 01:21:02 +0000 (01:21 +0000)]
Remove unnecessary constructors as the default conversions will handle
all enumerated cases. Reformat the rest of the existing constructors to
match.

llvm-svn: 187015

11 years agoMore constructor cleanup.
Eric Christopher [Wed, 24 Jul 2013 01:06:21 +0000 (01:06 +0000)]
More constructor cleanup.

Move to a single constructor with a default argument and avoid
the check and nullification.

llvm-svn: 187014

11 years agoCollapse logic and move and reword comment for clarity.
Eric Christopher [Wed, 24 Jul 2013 00:54:39 +0000 (00:54 +0000)]
Collapse logic and move and reword comment for clarity.

llvm-svn: 187013

11 years agoAdd a fixme and reformat.
Eric Christopher [Wed, 24 Jul 2013 00:54:36 +0000 (00:54 +0000)]
Add a fixme and reformat.

llvm-svn: 187012

11 years agoRemove one more of these.
Eric Christopher [Wed, 24 Jul 2013 00:36:11 +0000 (00:36 +0000)]
Remove one more of these.

llvm-svn: 187011

11 years agoRemove more dead/weird/misleading code.
Eric Christopher [Wed, 24 Jul 2013 00:15:01 +0000 (00:15 +0000)]
Remove more dead/weird/misleading code.

llvm-svn: 187010

11 years agoRemove more seemingly unused code.
Eric Christopher [Wed, 24 Jul 2013 00:13:02 +0000 (00:13 +0000)]
Remove more seemingly unused code.

llvm-svn: 187009

11 years agoObjectiveC migration: more migration to
Fariborz Jahanian [Tue, 23 Jul 2013 23:55:55 +0000 (23:55 +0000)]
ObjectiveC migration: more migration to
instancetype of NSDictionary methods.

llvm-svn: 187008

11 years agoDAGCombiner: Pass the correct type to TargetLowering::isF(Abs|Neg)Free
Tom Stellard [Tue, 23 Jul 2013 23:55:03 +0000 (23:55 +0000)]
DAGCombiner: Pass the correct type to TargetLowering::isF(Abs|Neg)Free

This commit also implements these functions for R600 and removes a test
case that was relying on the buggy behavior.

llvm-svn: 187007

11 years agoR600: Treat CONSTANT_ADDRESS loads like GLOBAL_ADDRESS loads when necessary
Tom Stellard [Tue, 23 Jul 2013 23:54:56 +0000 (23:54 +0000)]
R600: Treat CONSTANT_ADDRESS loads like GLOBAL_ADDRESS loads when necessary

These are really the same address space in hardware.  The only
difference is that CONSTANT_ADDRESS uses a special cache for faster
access.  When we are unable to use the constant kcache for some reason
(e.g. smaller types or lack of indirect addressing) then the instruction
selector must use GLOBAL_ADDRESS loads instead.

llvm-svn: 187006

11 years agoAdd lit magic so that lld unittests are run as part of lld test suite
Nick Kledzik [Tue, 23 Jul 2013 23:42:17 +0000 (23:42 +0000)]
Add lit magic so that lld unittests are run as part of lld test suite

llvm-svn: 187005

11 years agoObjectiveC migrator: start migrating to
Fariborz Jahanian [Tue, 23 Jul 2013 23:34:42 +0000 (23:34 +0000)]
ObjectiveC migrator: start migrating to
instancetype methods.

llvm-svn: 187004

11 years agoDebug Info: improve the Finder.
Manman Ren [Tue, 23 Jul 2013 23:10:00 +0000 (23:10 +0000)]
Debug Info: improve the Finder.

Improve the Finder to handle context of a DIVariable.
If Scope is a DICompileUnit, add it to the list of CUs.

llvm-svn: 187003

11 years agoDebug Info: clean up.
Manman Ren [Tue, 23 Jul 2013 23:07:38 +0000 (23:07 +0000)]
Debug Info: clean up.

llvm-svn: 187002

11 years agoRemove unused function.
Eric Christopher [Tue, 23 Jul 2013 22:50:42 +0000 (22:50 +0000)]
Remove unused function.

llvm-svn: 187001

11 years agoObjC migrator: more knobs toward doing
Fariborz Jahanian [Tue, 23 Jul 2013 22:42:28 +0000 (22:42 +0000)]
ObjC migrator: more knobs toward doing
instancetype migration.

llvm-svn: 187000

11 years ago[ARM][ISel] Improve the lowering of vector loads.
Quentin Colombet [Tue, 23 Jul 2013 22:34:47 +0000 (22:34 +0000)]
[ARM][ISel] Improve the lowering of vector loads.

When vectors are built from a single value, the ARM lowering issues a
scalar_to_vector node.
This node is then always morphed into a move from the general purpose unit to
the vector unit.
When the value comes from a load, this can be simplified into a vector load to
the right lane.

This patch changes the lowering of insert_vector_elt to expose a vector
friendly pattern in this situation.

This is a step toward fixing <rdar://problem/14170854>.

llvm-svn: 186999

11 years agoKeep similar classes near each other. No functional change.
Eric Christopher [Tue, 23 Jul 2013 22:29:19 +0000 (22:29 +0000)]
Keep similar classes near each other. No functional change.

llvm-svn: 186998

11 years agoFix spelling
Matt Arsenault [Tue, 23 Jul 2013 22:20:57 +0000 (22:20 +0000)]
Fix spelling

llvm-svn: 186997

11 years agofix typo in error string
Nick Kledzik [Tue, 23 Jul 2013 22:17:47 +0000 (22:17 +0000)]
fix typo in error string

llvm-svn: 186996

11 years ago80-column.
Eric Christopher [Tue, 23 Jul 2013 22:16:44 +0000 (22:16 +0000)]
80-column.

llvm-svn: 186995

11 years agoReformat options.
Eric Christopher [Tue, 23 Jul 2013 22:16:41 +0000 (22:16 +0000)]
Reformat options.

llvm-svn: 186994

11 years ago[PowerPC64] Fix passing of single-vector-member structs to match ABI.
Bill Schmidt [Tue, 23 Jul 2013 22:15:57 +0000 (22:15 +0000)]
[PowerPC64] Fix passing of single-vector-member structs to match ABI.

The 64-bit PowerPC ELF ABI requires a struct that contains a single
vector member to be passed in a vector register as though the wrapping
struct were not present.  Instead we were passing this as a byval
struct.

The same logic was already present for floating-point arguments, so
this patch just extends the logic to handle vector types.  The new
test case verifies that clang coerces the parameter and annotates it
as inreg.

Thanks,
Bill

llvm-svn: 186993

11 years agoFix rvalue test makefile.
Matt Kopec [Tue, 23 Jul 2013 22:08:15 +0000 (22:08 +0000)]
Fix rvalue test makefile.

llvm-svn: 186992

11 years agoDebug mode for unordered_set. I believe this to be fairly complete for
Howard Hinnant [Tue, 23 Jul 2013 22:01:58 +0000 (22:01 +0000)]
Debug mode for unordered_set.  I believe this to be fairly complete for
unordered_set, however it is not complete yet for unordered_multiset,
unordered_map or unordered_multimap.  There has been a lot of work done
for these other three containers, however that work was done just to
keep all of the tests passing.

You can try this out with -D_LIBCPP_DEBUG2.  You will have to link to a
libc++.dylib that has been compiled with src/debug.cpp.  So far, vector
(but not vector<bool>), list, and unordered_set are treated.  I hope to
get the other three unordered containers up fairly quickly now that
unordered_set is done.

The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but
not today.  This is my second effort at getting debug mode going for
libc++, and I'm not quite yet ready to throw all of the work under the
first attempt away.

The basic design is that all of the debug information is kept in a
central database, instead of in the containers.  This has been done as
an attempt to have debug mode and non-debug mode be ABI compatible with
each other.  There are some circumstances where if you construct a
container in an environment without debug mode and pass it into debug
mode, the checking will get confused and let you know with a readable
error message.  Passing containers the other way: from debug mode out to
a non-debugging mode container should be 100% safe (at least that is the
goal).

llvm-svn: 186991

11 years agoRemove builtin attribute from calls whose targets we replace
Stefanus Du Toit [Tue, 23 Jul 2013 21:34:03 +0000 (21:34 +0000)]
Remove builtin attribute from calls whose targets we replace

If we are replacing a function with the nobuiltin attribute, it may be called
with the builtin attribute on call sites. Remove any such attributes since it's
illegal to have a builtin call to something other than a nobuiltin function.

This fixes the current buildbot breakage (where LLDB crashes on
"expression new foo(42)").

llvm-svn: 186990

11 years agoRemove HelpText for -fno-diagnostics-show-note-include-stack
Hans Wennborg [Tue, 23 Jul 2013 21:17:14 +0000 (21:17 +0000)]
Remove HelpText for -fno-diagnostics-show-note-include-stack

The help text was wrong, and we already provide help text on the
option that actually changes anything, i.e. -fdiagnostics-show-note-include-stack.

llvm-svn: 186989

11 years agoChanged "an macro" to "a macro" in diagnostic note.
Richard Trieu [Tue, 23 Jul 2013 21:06:45 +0000 (21:06 +0000)]
Changed "an macro" to "a macro" in diagnostic note.

llvm-svn: 186988

11 years agoExpand the comment on getOpenFileSlice a bit for more details and consistency
Eli Bendersky [Tue, 23 Jul 2013 21:05:21 +0000 (21:05 +0000)]
Expand the comment on getOpenFileSlice a bit for more details and consistency

llvm-svn: 186987

11 years agoRefactor the unit test for MemoryBuffer::getOpenFileSlice
Eli Bendersky [Tue, 23 Jul 2013 20:58:51 +0000 (20:58 +0000)]
Refactor the unit test for MemoryBuffer::getOpenFileSlice

Run in two different modes: with and without reopening the temporary file
between creating it and mapping it with MemoryBuffer.

llvm-svn: 186986

11 years agoDebug Info: code cleanup, use getNodeField if possible.
Manman Ren [Tue, 23 Jul 2013 20:39:32 +0000 (20:39 +0000)]
Debug Info: code cleanup, use getNodeField if possible.

Use getNodeField to access a field as a MDNode.
No functionality change.

llvm-svn: 186985

11 years agoSplit getOpenFile into getOpenFile and getOpenFileSlice.
Rafael Espindola [Tue, 23 Jul 2013 20:25:01 +0000 (20:25 +0000)]
Split getOpenFile into getOpenFile and getOpenFileSlice.

The main observation is that we never need both the filesize and the map size.
When mapping a slice of a file, it doesn't make sense to request a null
terminator and that would be the only case where the filesize would be used.

There are other cleanups that should be done in this area:

* A client should not have to pass the size (even an explicit -1) to say if
  it wants a null terminator or not, so we should probably swap the argument
  order.
* The default should be to not require a null terminator. Very few clients
  require this, but many end up asking for it just because it is the default.

llvm-svn: 186984

11 years agoRemove support for CCC_ADD_ARGS. QA_OVERRIDE_GCC3_OPTIONS supersedes it.
Rafael Espindola [Tue, 23 Jul 2013 19:55:06 +0000 (19:55 +0000)]
Remove support for CCC_ADD_ARGS. QA_OVERRIDE_GCC3_OPTIONS supersedes it.

llvm-svn: 186983

11 years agoRemoving a number of individual run lines and replacing them with single line test...
Aaron Ballman [Tue, 23 Jul 2013 19:37:19 +0000 (19:37 +0000)]
Removing a number of individual run lines and replacing them with single line test cases.  This reduces the number of test runs, provides the same coverage, and allows us to test that the attribute names are included in the diagnostic.

llvm-svn: 186982

11 years agoObjC migrator: Define family of methods
Fariborz Jahanian [Tue, 23 Jul 2013 19:31:17 +0000 (19:31 +0000)]
ObjC migrator: Define family of methods
which are candidate for migrating to
'instancetype'. wip.

llvm-svn: 186981

11 years agoAdded the attribute name to the err_attribute_wrong_number_arguments diagnostic for...
Aaron Ballman [Tue, 23 Jul 2013 19:30:11 +0000 (19:30 +0000)]
Added the attribute name to the err_attribute_wrong_number_arguments diagnostic for clarity; updated almost all of the affected test cases.

Thanks to Fariborz Jahanian for the suggestion!

llvm-svn: 186980

11 years agoSkip test reported to hang the FreeBSD buildbot
Ed Maste [Tue, 23 Jul 2013 19:19:23 +0000 (19:19 +0000)]
Skip test reported to hang the FreeBSD buildbot

llvm-svn: 186979

11 years agoFix use of the getOpenFile api.
Rafael Espindola [Tue, 23 Jul 2013 18:44:31 +0000 (18:44 +0000)]
Fix use of the getOpenFile api.

The gold plugin was passing the desired map size as the file size. This was
working for two reasons:
* Recent version of gold provide the get_view callback, so this code was not
  used.
* In older versions, getOpenFile was called, but the file size is never used
  if we don't require null terminated buffers and map size defaults to the
  file size.

Thanks to Eli Bendersky for noticing this.

I will try to make this api a bit less error prone.

llvm-svn: 186978

11 years agoelf-core: Remove now-unused compile-time FreeBSD support
Ed Maste [Tue, 23 Jul 2013 18:41:48 +0000 (18:41 +0000)]
elf-core: Remove now-unused compile-time FreeBSD support

This change removes the final instances of compile-time #ifdef magic
from the elf core plugin.  Also rename the classes to ELFLinux... as
they're specific to Linux.

llvm-svn: 186977

11 years agoelf-core: Add helper function for parsing FreeBSD NT_PRSTATUS
Ed Maste [Tue, 23 Jul 2013 18:37:11 +0000 (18:37 +0000)]
elf-core: Add helper function for parsing FreeBSD NT_PRSTATUS

This avoids the use of the ELFPrStatus class, which returns to being
used only for Linux.

llvm-svn: 186976

11 years agoelf-core: Improve FreeBSD support and move data extraction to parse time
Ed Maste [Tue, 23 Jul 2013 18:30:49 +0000 (18:30 +0000)]
elf-core: Improve FreeBSD support and move data extraction to parse time

Extracting thread data at parse time simplifies multi-platform support.
This change adds FreeBSD thread names and auxv info.

Thanks to Samuel Jacob for review, testing, and improvements.

llvm-svn: 186975

11 years agoRemoved useless source loc field in UnresolvedUsingTypenameDecl node.
Enea Zaffanella [Tue, 23 Jul 2013 18:25:15 +0000 (18:25 +0000)]
Removed useless source loc field in UnresolvedUsingTypenameDecl node.

llvm-svn: 186974

11 years agoelf-core: Parse vendor-specific notes
Ed Maste [Tue, 23 Jul 2013 18:22:17 +0000 (18:22 +0000)]
elf-core: Parse vendor-specific notes

ELF notes contain a 'name' field, which specifies a vendor who defines
the format of the note.  Examples are 'FreeBSD' or 'GNU', or it may be
empty for generic notes.

Add a case for FreeBSD-specific notes, leaving Linux and GNU notes,
other vendor-specific notes, and generic notes to be handled by the
existing code for now.

Thanks to Samuel Jacob for reviewing and suggesting improvements.

llvm-svn: 186973

11 years agoDebugInfo Verifier: verify the actual type.
Manman Ren [Tue, 23 Jul 2013 18:14:25 +0000 (18:14 +0000)]
DebugInfo Verifier: verify the actual type.

llvm-svn: 186972

11 years agoAdd new diagnostic messages when too many arguments are presented to a
Richard Trieu [Tue, 23 Jul 2013 18:01:49 +0000 (18:01 +0000)]
Add new diagnostic messages when too many arguments are presented to a
function-like macro.  Clang will attempt to correct the arguments by detecting
braced initializer lists:

1) If possible, suggest parentheses around arguments
containing braced lists which will give the proper number of arguments.
2) If a braced list is detected at the start of a macro argument, it cannot be
corrected by parentheses.  Instead, just point out the location of these
braced lists.

llvm-svn: 186971

11 years agoRemove the -ccc-echo option that is now unused.
Rafael Espindola [Tue, 23 Jul 2013 17:58:53 +0000 (17:58 +0000)]
Remove the -ccc-echo option that is now unused.

llvm-svn: 186970

11 years agoRevert "Remove use of asymmetric std::lower_bound comparator."
Ahmed Bougacha [Tue, 23 Jul 2013 17:44:11 +0000 (17:44 +0000)]
Revert "Remove use of asymmetric std::lower_bound comparator."

This reverts commit r185676.
Originally done because of VS 2008.

llvm-svn: 186969

11 years agodocs: Update old VS 2008 references.
Ahmed Bougacha [Tue, 23 Jul 2013 17:44:01 +0000 (17:44 +0000)]
docs: Update old VS 2008 references.

llvm-svn: 186968