Commit Graph

426 Commits

Author SHA1 Message Date
Anders Carlsson 5a9754187d More magic.
llvm-svn: 99803
2010-03-29 03:26:49 +00:00
Anders Carlsson 473444e05c Sprinkle some sed dust over check-ztt to make it work with newer clang asm output. (I am not a sed expert so this might be terribly inefficient :)
llvm-svn: 99802
2010-03-29 03:21:40 +00:00
Anders Carlsson e5d78c03c3 Didn't mean to commit this.
llvm-svn: 99607
2010-03-26 04:14:45 +00:00
Anders Carlsson 92d95f2f7b Use the new vtable layout code for construction vtables.
llvm-svn: 99606
2010-03-26 04:13:46 +00:00
Douglas Gregor e50c05244f make the vtable tester a little friendlier, with a clean target and without requiring . to be in your path
llvm-svn: 99433
2010-03-24 21:52:55 +00:00
Douglas Gregor a71cc15361 Implement promotion for enumeration types.
WHAT!?!

It turns out that Type::isPromotableIntegerType() was not considering
enumeration types to be promotable, so we would never do the
promotion despite having properly computed the promotion type when the
enum was defined. Various operations on values of enum type just
"worked" because we could still compute the integer rank of an enum
type; the oddity, however, is that operations such as "add an enum and
an unsigned" would often have an enum result type (!). The bug
actually showed up as a spurious -Wformat diagnostic
(<rdar://problem/7595366>), but in theory it could cause miscompiles.

In this commit:
  - Enum types with a promotion type of "int" or "unsigned int" are
  promotable.
  - Tweaked the computation of promotable types for enums
  - For all of the ABIs, treat enum types the same way as their
  underlying types (*not* their promotion types) for argument passing
  and return values
  - Extend the ABI tester with support for enumeration types

llvm-svn: 95117
2010-02-02 20:10:50 +00:00
Douglas Gregor efbaf99dca Include <stdlib.h>, so that we're sure to get atoi.
llvm-svn: 95095
2010-02-02 17:49:52 +00:00
Daniel Dunbar 4c823ba358 Extern darwin-clang_rt.c test to also test targetting ARM ({armv6, armv7} x
{thumb,no-thumb}).

llvm-svn: 94264
2010-01-23 00:26:38 +00:00
Daniel Dunbar 9e406b4b60 Add a test for clang_rt support on Darwin. With appropriate massaging, this
checks that the runtime library can be linked and works for compiling on 10.6
for 10.{4,5,6} targets. Currently test is only for x86, and misses some
compiler-rt functions.

llvm-svn: 94083
2010-01-21 17:10:39 +00:00
Daniel Dunbar 0b9c603ee2 Tweak OptionalTests paths.
llvm-svn: 94082
2010-01-21 17:09:39 +00:00
Daniel Dunbar d723b01311 Add utils/OptionalTests, a dumping ground for additional (lit) tests which for
one reason or another don't belong in the regular test suite.

Inside is utils/OptionalTests/Extra which is specifically for tests that match
the layout of the regular tests.

llvm-svn: 94080
2010-01-21 16:55:39 +00:00
John McCall 6d11e07b16 Insert clang-flags into the clang command. Currently it needs to be a list;
future work should permit strings (by splitting them into a list o' strings).

llvm-svn: 93299
2010-01-13 06:44:51 +00:00
Mike Stump 4b0e352061 Remove unused code.
llvm-svn: 93262
2010-01-12 22:20:00 +00:00
Mike Stump a77e48c322 Improve covariance tester to randomize the return value more.
llvm-svn: 93254
2010-01-12 20:55:39 +00:00
Mike Stump edd224743c Add covariance tester.
llvm-svn: 93226
2010-01-12 03:01:18 +00:00
Mike Stump ee6dfe55a5 Allow N_FIELDS to be 0.
llvm-svn: 93211
2010-01-12 00:28:59 +00:00
Mike Stump b3ed45b67c Fix indentation.
llvm-svn: 93023
2010-01-08 19:28:41 +00:00
Mike Stump 9620622431 Add in final overrider logic.
llvm-svn: 93022
2010-01-08 19:25:36 +00:00
Mike Stump a52cf2ca3f Add checker for type infos.
llvm-svn: 92956
2010-01-07 22:50:03 +00:00
Mike Stump 0015eb93c6 Add checked for VTTs.
llvm-svn: 92954
2010-01-07 22:28:10 +00:00
Mike Stump 24e9b0048c Detailed vtable checker.
llvm-svn: 92953
2010-01-07 22:21:26 +00:00
Mike Stump 441793352d 1/2 off all structs should not have any virtual functions.
Replace magic numbers with uuids.

llvm-svn: 92941
2010-01-07 20:55:28 +00:00
Mike Stump 2a83635337 Add a descriptive tag to each line to make the exact differences
easier to understand.

llvm-svn: 92932
2010-01-07 19:39:43 +00:00
Mike Stump bd0c5da5fc Don't use two argument mixing function.
llvm-svn: 92929
2010-01-07 19:24:27 +00:00
Mike Stump a771b0ad52 Also generate the .s files.
llvm-svn: 92928
2010-01-07 19:19:39 +00:00
Mike Stump 53b926c56f Add a testcase generator for vtable/rtti testing. WIP.
llvm-svn: 92927
2010-01-07 18:58:28 +00:00
Daniel Dunbar 54f330f342 Tests: Tweak LLVM-Code-Symbols test to ignore common and undefined symbols for
now, let's start small.

llvm-svn: 92170
2009-12-26 22:58:48 +00:00
Daniel Dunbar c19b219280 Sketch a simple new C++Tests suite for checking that llvm-gcc and clang generate
the same visible symbols, useful for finding ABI/Mangler/vtable/etc. issues.

llvm-svn: 92147
2009-12-24 21:27:38 +00:00
Douglas Gregor 53982d577d Don't commit my silly little local changes
llvm-svn: 92010
2009-12-23 17:43:32 +00:00
Douglas Gregor e6600379b1 Fix DISABLE_SMART_POINTERS build
llvm-svn: 92008
2009-12-23 17:40:29 +00:00
Douglas Gregor 39740dce30 Revert accidental commit
llvm-svn: 91930
2009-12-22 22:30:51 +00:00
Douglas Gregor b6ea60872d Switch Sema::AddCXXDirectInitializerToDecl over to InitializationSequence
llvm-svn: 91927
2009-12-22 22:17:25 +00:00
Daniel Dunbar d2d3c7efe3 C++Tests: Add target paths for LLVM-Code-Compile checks as well.
llvm-svn: 91716
2009-12-18 21:27:23 +00:00
Douglas Gregor 95a438b291 Add a couple more paths to the LLVM-Code-Syntax test
llvm-svn: 91627
2009-12-17 21:51:02 +00:00
Douglas Gregor 4881735736 Remove accidental commit containing local paths for the LLVM-Code-Syntax test
llvm-svn: 91326
2009-12-14 20:58:24 +00:00
Douglas Gregor 4f84661c43 Minor cleanups for constructor initialization in InitializationSequence
llvm-svn: 91325
2009-12-14 20:57:13 +00:00
Douglas Gregor 9221e646f5 Switch the Emacs clang-completion-mode over to clang -cc1
llvm-svn: 91185
2009-12-11 23:47:56 +00:00
Daniel Dunbar 520d1e6c6b Update docs/comments/utils/examples to refer to clang -cc1 instead of clang-cc.
llvm-svn: 91176
2009-12-11 23:04:35 +00:00
Douglas Gregor 96156a46e0 Beef up Clang-on-LLVM testing a bit, by making LLVM-Syntax recursive
(since we now parse all of the headers appropriately) and teaching
LLVM-Code-Syntax about the extra paths needed to parse the backends.

llvm-svn: 91068
2009-12-10 22:08:55 +00:00
Daniel Dunbar bdd9669310 Add utils/TestUtils, and sink pch-test.pl there.
Also, add a test for generator a C file with a very deep call stack.

llvm-svn: 90468
2009-12-03 18:40:58 +00:00
Kovarththanan Rajaratnam cb58439f34 Tuck away scan-build related files into tools/scan-build
llvm-svn: 90215
2009-12-01 06:52:01 +00:00
Kovarththanan Rajaratnam 63585ddf9d Move ubiviz to analyzer directory
llvm-svn: 90213
2009-12-01 06:34:06 +00:00
Daniel Dunbar 0ec57ff203 Don't run the LLVM Code tests by default.
llvm-svn: 89937
2009-11-26 05:09:00 +00:00
Daniel Dunbar 9acb35a5e8 Add -Werror for Clang and LLVM on Clang (headers) syntax tests.
llvm-svn: 89936
2009-11-26 05:08:53 +00:00
Douglas Gregor 20d58fbd3a Add C++ tests to try to parse and compile the LLVM libraries
llvm-svn: 89923
2009-11-26 02:28:53 +00:00
Douglas Gregor 4f5d0907b8 Don't try to parse LinkAllParses.h for now
llvm-svn: 89820
2009-11-25 00:31:20 +00:00
Ted Kremenek 4d1907c493 Remove '-checker-simple' reference from scan-build. Patch by Kovarththanan Rajaratnam!
llvm-svn: 89673
2009-11-23 17:37:58 +00:00
Daniel Dunbar baa74770c9 Change Clang-Code-Compile tests to only -emit-llvm instead of running
codegen/as.

llvm-svn: 89634
2009-11-23 00:07:14 +00:00
Daniel Dunbar 5ad7e15698 Add two new C++ lit tests suites, for testing Clang .cpp files with
-fsyntax-only and with -c.

llvm-svn: 88845
2009-11-15 08:10:41 +00:00
Daniel Dunbar 4de54f823b Add Clang-Syntax C++Tests; these don't run by default, use the lit arguments
'--param run_clang_syntax=1' to run them.

llvm-svn: 88839
2009-11-15 07:23:09 +00:00