Commit Graph

100351 Commits

Author SHA1 Message Date
NAKAMURA Takumi 50aeec3be3 test/Makefile: "check-all" should update tools/clang/test/Unit/lit.site.cfg, too. Follow up to clang r124777.
llvm-svn: 124783
2011-02-03 07:36:02 +00:00
Ted Kremenek 436cc8ffe7 Reenable -Wuninitialized warning for captured block variables.
llvm-svn: 124782
2011-02-03 06:51:50 +00:00
Rafael Espindola 2915731b6e Add test from PR9130.
llvm-svn: 124781
2011-02-03 06:36:50 +00:00
Rafael Espindola af5b92e8f7 Revert 124768.
This reopens PR99114, but that one at least can be avoided with an #include.
PR9130 cannot.

llvm-svn: 124780
2011-02-03 06:30:58 +00:00
Eric Christopher ede6267993 Reapply this.
llvm-svn: 124779
2011-02-03 06:18:29 +00:00
Eric Christopher 21933539f2 Temporarily revert 124765 in an attempt to find the cycle breaking bootstrap.
llvm-svn: 124778
2011-02-03 05:40:54 +00:00
Jeffrey Yasskin c7da993dee Add gTest unittests to clang, and write the first one.
This is the Makefile version only; the cmake implementation is coming soon.

llvm-svn: 124777
2011-02-03 04:51:52 +00:00
Rafael Espindola 5b55454065 Revert 124754 and 124760 as they made clang unusable in the presence of symbolic
links.

llvm-svn: 124776
2011-02-03 04:35:45 +00:00
Oscar Fuentes ed27eadd29 Platform tests for `sys/uio.h' header and `writev' function.
This is the cmake equivalent for r124769.

llvm-svn: 124775
2011-02-03 04:23:07 +00:00
Rafael Espindola f5754b851c Add -march to fix the bots.
llvm-svn: 124774
2011-02-03 04:21:01 +00:00
Rafael Espindola d11311f291 Fix PR9127 by reversing the operands even if they have more then one use.
Reversing the operands allows us to fold, but doesn't force us to. Also, at
this point the DAG is still being optimized, so the check for hasOneUse is not
very precise.

llvm-svn: 124773
2011-02-03 03:58:05 +00:00
Daniel Dunbar 9aa47fcb55 Frontend: Switch -header-include-file output to use unbuffered raw_ostreams with
the atomic writes option, since the intent is that this option be set for an
entire build, which may have any number of compiler instances writing to the
same output file.

llvm-svn: 124772
2011-02-03 03:45:00 +00:00
Daniel Dunbar 4fed88704d raw_fd_ostream: Add a SetUseAtomicWrites() method (uses writev).
llvm-svn: 124771
2011-02-03 03:32:32 +00:00
Daniel Dunbar 7840c54601 Regenerate configure.
llvm-svn: 124770
2011-02-03 02:40:02 +00:00
Daniel Dunbar 80da3fbbe6 configure: Add checks for <sys/uio.h> and writev().
llvm-svn: 124769
2011-02-03 02:39:58 +00:00
Anders Carlsson bac84bef65 Don't try to mark virtual members referenced for classes where the key function
is not defined in the current translation unit. Doing so lead to compile errors
such as PR9114.

Instead, when CodeGen is building the vtable, don't try to emit a definition
for functions that aren't marked used in the current translation unit.
Fixes PR9114.

llvm-svn: 124768
2011-02-03 02:08:44 +00:00
Francois Pichet 50a2e0e894 Fix Microsoft bit field problem. This resolves the Index\complete-exprs.c regression on Win32.
llvm-svn: 124767
2011-02-03 02:02:42 +00:00
Greg Clayton aae6e9a6fd Fixed the SendInterrupt logic to return the true if the target was halted
(regardless if the interrupt was sent), and false of not.

llvm-svn: 124766
2011-02-03 01:07:45 +00:00
Jakob Stoklund Olesen dca2917e25 Defer SplitKit value mapping until all defs are available.
The greedy register allocator revealed some problems with the value mapping in
SplitKit. We would sometimes start mapping values before all defs were known,
and that could change a value from a simple 1-1 mapping to a multi-def mapping
that requires ssa update.

The new approach collects all defs and register assignments first without
filling in any live intervals. Only when finish() is called, do we compute
liveness and mapped values. At this time we know with certainty which values map
to multiple values in a split range.

This also has the advantage that we can compute live ranges based on the
remaining uses after rematerializing at split points.

The current implementation has many opportunities for compile time optimization.

llvm-svn: 124765
2011-02-03 00:54:23 +00:00
Johnny Chen 769302a97f Parametrize make variable CC to also test with clang.
llvm-svn: 124764
2011-02-03 00:44:32 +00:00
Johnny Chen 32679314fe Parametrize make variable CC to also test with clang.
llvm-svn: 124763
2011-02-03 00:38:18 +00:00
Johnny Chen 7791b3320b Add a test case test_image_search_paths() to test lldb's ability to do image search paths
substitutions in order to achieve file mappings.

Modify CommandObjectTarget.cpp to properly set the status of the return object to make
scripting like this:

    self.runCmd("target image-search-paths add %s %s" % (os.getcwd(), new_dir))

works.

llvm-svn: 124762
2011-02-03 00:30:19 +00:00
Devang Patel 7846c1e99b Update docs to match reality.
llvm-svn: 124761
2011-02-03 00:22:17 +00:00
Douglas Gregor 8c0577faf3 Improve the performance of filename canonicalization by avoiding
redundant searches in the string. No functionality change.

llvm-svn: 124760
2011-02-03 00:18:12 +00:00
Devang Patel df0dd7dc69 Fix typo in comment.
llvm-svn: 124759
2011-02-03 00:13:47 +00:00
Ted Kremenek b3dbe28e31 Based on user feedback, swap -Wuninitialized diagnostics to have the warning refer to the bad use, and the note to the variable declaration.
llvm-svn: 124758
2011-02-02 23:35:53 +00:00
Fariborz Jahanian 0c12ed1429 -fapple-kext, elimination of all direct calls to virtual dtors.
llvm-svn: 124757
2011-02-02 23:12:46 +00:00
Devang Patel 84ffdd9ba3 Emit debug info for template value parameters.
llvm-svn: 124756
2011-02-02 22:36:18 +00:00
Devang Patel be933b470a Add support to describe template value parameter in debug info.
llvm-svn: 124755
2011-02-02 22:35:53 +00:00
Douglas Gregor 3c0d263abb Canonicalize path names in the file manager before performing a lookup
on that name. Canonicalization eliminates silliness such as "." and
"foo/.." that breaks the uniquing of files in the presence of virtual
files or files whose inode numbers have changed during
parsing/re-parsing. c-index-test isn't able to create this crazy
situation, so I've resorted to testing outside of the Clang
tree. Fixes <rdar://problem/8928220>.

Note that this hackery will go away once we have a real virtual file
system on which we can layer FileManager; the virtual-files hack is
showing cracks.

llvm-svn: 124754
2011-02-02 22:30:17 +00:00
Devang Patel e3773c2f51 Emit debug info for template type parameters.
llvm-svn: 124753
2011-02-02 21:38:49 +00:00
Devang Patel 3a9e65efb6 Add support to describe template parameter type in debug info.
llvm-svn: 124752
2011-02-02 21:38:25 +00:00
Daniel Dunbar ac540b3859 clang: Add support for a CC_PRINT_HEADERS environment variable, which mirrors
CC_PRINT_OPTIONS and can be used to get some out-of-band information on header
usage from a build.

llvm-svn: 124751
2011-02-02 21:11:35 +00:00
Daniel Dunbar 1af1d2751a Frontend: Add -header-include-file option, for allowing saving header include
information to a file.

llvm-svn: 124750
2011-02-02 21:11:31 +00:00
Daniel Dunbar fb24485727 Frontend: Add support (unused) for showing all "interesting" headers, not just
ones outside the predefines buffer (which is what -H does).

llvm-svn: 124749
2011-02-02 21:11:24 +00:00
Fariborz Jahanian a5cdc7ea0f Turn test for // rdar://8945175 into a sema test.
llvm-svn: 124748
2011-02-02 21:10:07 +00:00
Duncan Sands 5747abab10 Reenable the transform "(X*Y)/Y->X" when the multiplication is known not to
overflow (nsw flag), which was disabled because it breaks 254.gap.  I have
informed the GAP authors of the mistake in their code, and arranged for the
testsuite to use -fwrapv when compiling this benchmark.

llvm-svn: 124746
2011-02-02 20:52:00 +00:00
Fariborz Jahanian 09b2331cf7 For gcc compatibility, size of a class which is zero
but has non-empty data fields, such as array of zero length,
remains zero.
// rdar://8945175

llvm-svn: 124741
2011-02-02 19:36:18 +00:00
Douglas Gregor ac18130050 Revert r124704, which uniqued code-completion strings. The space
savings of 25% sounds impressive, except that this amounted to only
about 360k in our standard "large" completion result set (40,000
results). Since code completion is performance-sensitive, the 4%
slowdown due to uniquing outweighs the 360k benefit. 

llvm-svn: 124737
2011-02-02 19:04:30 +00:00
Benjamin Kramer 24f1d3e60a Add NetBSD target support. Patch by Joerg Sonnenberger.
llvm-svn: 124736
2011-02-02 18:59:27 +00:00
Argyrios Kyrtzidis 83b797f490 Don't warn for -Wnon-virtual-dtor for dependent classes.
llvm-svn: 124735
2011-02-02 18:47:41 +00:00
Kevin Enderby 96f6e379e2 Changed the TableGen created MatchInstructionImpl() setting of ErrorInfo.
The algorithm for identifying which operand is invalid will now always point to
some operand and not the mnemonic sometimes.  The change is now that ErrorInfo
is the index of the highest operand that does not match for any of the matching
mnemonics records.  And no longer the ~0U value when the mnemonic matches and
not every record with a matching mnemonic has the same mismatching operand
index.

llvm-svn: 124734
2011-02-02 18:20:55 +00:00
Caroline Tice 2bf67986ef Fix breakpoint id test to work with clang as well as gcc; added a few
more test cases

Fixed minor bug in the breakpoint id range translation code.

llvm-svn: 124729
2011-02-02 17:48:16 +00:00
Howard Hinnant da3b02fdb3 Missing traits::to_int_type in fstream
llvm-svn: 124727
2011-02-02 17:37:16 +00:00
Howard Hinnant 72c5e14203 Qualify calls to addressof with std::. Bug 9106
llvm-svn: 124726
2011-02-02 17:36:20 +00:00
Bob Wilson 09a6b46c89 Update comment to match my recent change.
llvm-svn: 124725
2011-02-02 17:29:40 +00:00
Benjamin Kramer f4ea1d5f79 SimplifyCFG: Turn switches into sub+icmp+branch if possible.
This makes the job of the later optzn passes easier, allowing the vast amount of
icmp transforms to chew on it.

We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting
binary on i386-linux.

The testcase from README.txt now compiles into
  decl  %edi
  cmpl  $3, %edi
  sbbl  %eax, %eax
  andl  $1, %eax
  ret

llvm-svn: 124724
2011-02-02 15:56:22 +00:00
Daniel Dunbar 27734fdbbf Frontend: Factor out header include dumping (-H) into its own preprocessor
callbacks class.
 - Aside from being generally cleaner, this also allows -H to work correctly in
   modes other than standard preprocessing (e.g., -c, -MM, etc.)

llvm-svn: 124723
2011-02-02 15:41:17 +00:00
Richard Osborne 8607a67d37 Add support for trampolines on the XCore.
llvm-svn: 124722
2011-02-02 14:57:41 +00:00
John McCall c63de66c4f An insomniac stab at making block declarations list the variables they close
on, as well as more reliably limiting invalid references to locals from
nested scopes.

llvm-svn: 124721
2011-02-02 13:00:07 +00:00