Commit Graph

154253 Commits

Author SHA1 Message Date
Manman Ren 8f1a3cf4c3 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
2013-07-23 23:10:00 +00:00
Manman Ren f562d11a6d Debug Info: clean up.
llvm-svn: 187002
2013-07-23 23:07:38 +00:00
Eric Christopher ed4d8c8c6e Remove unused function.
llvm-svn: 187001
2013-07-23 22:50:42 +00:00
Fariborz Jahanian 7122135fc3 ObjC migrator: more knobs toward doing
instancetype migration.

llvm-svn: 187000
2013-07-23 22:42:28 +00:00
Quentin Colombet 0f2fe74aaf [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
2013-07-23 22:34:47 +00:00
Eric Christopher 402ccb5d66 Keep similar classes near each other. No functional change.
llvm-svn: 186998
2013-07-23 22:29:19 +00:00
Matt Arsenault f64212b281 Fix spelling
llvm-svn: 186997
2013-07-23 22:20:57 +00:00
Nick Kledzik 196d7a77a3 fix typo in error string
llvm-svn: 186996
2013-07-23 22:17:47 +00:00
Eric Christopher d30062cb25 80-column.
llvm-svn: 186995
2013-07-23 22:16:44 +00:00
Eric Christopher 7f2b551d4e Reformat options.
llvm-svn: 186994
2013-07-23 22:16:41 +00:00
Bill Schmidt 179afae0bf [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
2013-07-23 22:15:57 +00:00
Matt Kopec 8a052b9414 Fix rvalue test makefile.
llvm-svn: 186992
2013-07-23 22:08:15 +00:00
Howard Hinnant b24c802489 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
2013-07-23 22:01:58 +00:00
Stefanus Du Toit fc6b7a0e8a 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
2013-07-23 21:34:03 +00:00
Hans Wennborg 942c36bda2 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
2013-07-23 21:17:14 +00:00
Richard Trieu 7aa7218545 Changed "an macro" to "a macro" in diagnostic note.
llvm-svn: 186988
2013-07-23 21:06:45 +00:00
Eli Bendersky 43ef8ed5f5 Expand the comment on getOpenFileSlice a bit for more details and consistency
llvm-svn: 186987
2013-07-23 21:05:21 +00:00
Eli Bendersky bb506fce27 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
2013-07-23 20:58:51 +00:00
Manman Ren 4b0df00016 Debug Info: code cleanup, use getNodeField if possible.
Use getNodeField to access a field as a MDNode.
No functionality change.

llvm-svn: 186985
2013-07-23 20:39:32 +00:00
Rafael Espindola 3d2ac2e41a 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
2013-07-23 20:25:01 +00:00
Rafael Espindola 03085c7184 Remove support for CCC_ADD_ARGS. QA_OVERRIDE_GCC3_OPTIONS supersedes it.
llvm-svn: 186983
2013-07-23 19:55:06 +00:00
Aaron Ballman ba50af8f73 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
2013-07-23 19:37:19 +00:00
Fariborz Jahanian 4f3a64fd6e ObjC migrator: Define family of methods
which are candidate for migrating to
'instancetype'. wip.

llvm-svn: 186981
2013-07-23 19:31:17 +00:00
Aaron Ballman b7243381c2 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
2013-07-23 19:30:11 +00:00
Ed Maste 8a0f8238b8 Skip test reported to hang the FreeBSD buildbot
llvm-svn: 186979
2013-07-23 19:19:23 +00:00
Rafael Espindola bf1a918461 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
2013-07-23 18:44:31 +00:00
Ed Maste 974acf1c27 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
2013-07-23 18:41:48 +00:00
Ed Maste 262b8dd7da 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
2013-07-23 18:37:11 +00:00
Ed Maste c05ae522a7 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
2013-07-23 18:30:49 +00:00
Enea Zaffanella 2abbc63916 Removed useless source loc field in UnresolvedUsingTypenameDecl node.
llvm-svn: 186974
2013-07-23 18:25:15 +00:00
Ed Maste 76859d6cb2 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
2013-07-23 18:22:17 +00:00
Manman Ren fc8b32455d DebugInfo Verifier: verify the actual type.
llvm-svn: 186972
2013-07-23 18:14:25 +00:00
Richard Trieu 79b45389c3 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
2013-07-23 18:01:49 +00:00
Rafael Espindola 8c4245455a Remove the -ccc-echo option that is now unused.
llvm-svn: 186970
2013-07-23 17:58:53 +00:00
Ahmed Bougacha 555575c32b Revert "Remove use of asymmetric std::lower_bound comparator."
This reverts commit r185676.
Originally done because of VS 2008.

llvm-svn: 186969
2013-07-23 17:44:11 +00:00
Ahmed Bougacha cf07cef719 docs: Update old VS 2008 references.
llvm-svn: 186968
2013-07-23 17:44:01 +00:00
Argyrios Kyrtzidis 0661a71698 [libclang] Expose the rest of the array types.
Patch by Che-Liang Chiou!

llvm-svn: 186967
2013-07-23 17:36:21 +00:00
Aaron Ballman 086e428b5b Going back to using getName for consistency.
llvm-svn: 186966
2013-07-23 17:35:26 +00:00
Ahmed Bougacha b08b115c4a docs: cleanup VS 2008 release note.
Remove trailing ')'.  Sorry about all that, should be good now!

llvm-svn: 186965
2013-07-23 17:32:57 +00:00
Stefanus Du Toit 403477bdac Remove spurious "-C" flag from CMake command lines in build.html.
-C usually specifies a script to prepopulate the CMake cache. In this case no
script is specified, so CMake appears to just ignore it. So don't mention it
in the first place - it's not desired anyways.

Reviewed by: Daniel Malea

llvm-svn: 186964
2013-07-23 17:29:44 +00:00
Ahmed Bougacha bc4d7134f4 docs: Correct reST link.
llvm-svn: 186963
2013-07-23 17:28:35 +00:00
Hans Wennborg a93246b265 Expand test/Driver/at_file.c test to check that PR16209 is fixed.
It was fixed by r186603.

llvm-svn: 186962
2013-07-23 17:26:56 +00:00
Ahmed Bougacha e17ecff3c4 Update docs to drop support for VS 2008.
llvm-svn: 186961
2013-07-23 17:25:26 +00:00
Rui Ueyama a59c5ac16f Avoid using C-style cast and remove unnecessary LL prefix.
llvm-svn: 186960
2013-07-23 17:25:25 +00:00
Ashok Thirumurthi cd20ee8369 Adds a test for "disassemble -a" after an assert, which can fail with ELF
because a synthetic symbol hasn't been provided for stripped function symbols.

llvm-svn: 186959
2013-07-23 17:20:17 +00:00
Stefanus Du Toit 4d933aa956 Add instructions to www/source.html for using the Git mirror for those so inclined.
Reviewed by: Daniel Malea

llvm-svn: 186958
2013-07-23 17:18:43 +00:00
Rui Ueyama fbf5763708 [PECOFF] Support -tsaware:no command line option.
llvm-svn: 186957
2013-07-23 17:17:19 +00:00
Marshall Clow ca0be23b39 Implement string suffixes from N3642
llvm-svn: 186956
2013-07-23 17:05:24 +00:00
Benjamin Kramer 43295c02f1 Remove unused diagnostics.
llvm-svn: 186955
2013-07-23 16:18:53 +00:00
Howard Hinnant 7491a16031 Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions.
For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a"

llvm-svn: 186954
2013-07-23 16:18:04 +00:00