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
Daniel Dunbar
1566a2257f
Use the other excludes syntax.
...
llvm-svn: 88836
2009-11-15 07:11:12 +00:00
Ted Kremenek
9f2ee2bb26
Use 'eq' operator, and enable regular experimental checks when --experimental-checks is passed to scan-build.
...
llvm-svn: 88673
2009-11-13 18:49:48 +00:00
Ted Kremenek
4ef13f8ac9
Add clang-cc option "--analyzer-experimental-internal-checks". This
...
option enables new "internal" checks that will eventually be turned on
by default but still require broader testing.
llvm-svn: 88671
2009-11-13 18:46:29 +00:00
Douglas Gregor
6af6c3ee56
Turn off -Wsign-compare warnings by default
...
llvm-svn: 86233
2009-11-06 05:24:12 +00:00
Douglas Gregor
02ba0ea461
When we encounter a derived-to-base conversion when performing an
...
implicit conversion sequence, check the validity of this conversion
and then perform it.
llvm-svn: 86210
2009-11-06 01:02:41 +00:00
Douglas Gregor
3ec1bf240d
Fixed two places where we needed to force completion of a type
...
(without complaining if it fails) to get proper semantics: reference
binding with a derived-to-base conversion and the enumeration of
constructors for user-defined conversions. There are probably more
cases to fix, but my prior attempt at statically ensuring that
complete-type checking always happens failed. Perhaps I'll try again.
With this change, Clang can parse include/llvm/*.h!
llvm-svn: 86129
2009-11-05 13:06:35 +00:00
Douglas Gregor
8413751fab
Experimental, ultra-hacking Emacs minor mode for Clang-based code completion.
...
llvm-svn: 83681
2009-10-09 22:17:40 +00:00
Ted Kremenek
05e6f5b6e9
Turn on 'RegionStore' as the default store manager both for 'clang --analyze' and 'scan-build'. Leave 'BasicStore' as the default store manager in 'clang-cc'. While there are still known warts with RegionStore, it's ready to be tested by general users.
...
llvm-svn: 82752
2009-09-25 05:55:59 +00:00
Daniel Dunbar
b5cbf77c2e
Remove old test runner, this has moved to LLVM/utils/lit and all known clients
...
have been updated.
- Please let me know of any problems.
llvm-svn: 82524
2009-09-22 05:16:02 +00:00
Daniel Dunbar
be657e5b28
A toy for Doug: Add some 'lit' tests which just run clang++ -fsyntax-only over all the files in a directory.
...
- 'lit utils/C++Tests' to run, you may need to fix the stdc++ include path, and your mileage may vary.
- A handful of the LLVM headers are XFAIL because they don't include the right headers.
llvm-svn: 81990
2009-09-16 01:40:13 +00:00
Daniel Dunbar
56b534d2d6
Also compare stdout and stderr lines.
...
llvm-svn: 81018
2009-09-04 18:35:09 +00:00
Daniel Dunbar
156fa7dde0
Make CmpDriver less stupid.
...
llvm-svn: 81012
2009-09-04 17:41:47 +00:00
Daniel Dunbar
79ee0fa59c
Add a valgrind suppressions file for x86_64-pc-linux-gnu and gcc-4.3.3 which
...
suppresses the overlapped memcpy in stable_sort that clang triggers.
llvm-svn: 80982
2009-09-04 02:53:57 +00:00
Daniel Dunbar
3009f81d1d
Add --vg-arg option to clang test runner.
...
- Passes additional argument through to valgrind.
Also, don't run valgrind with --leak-check=no by default.
llvm-svn: 80981
2009-09-04 02:53:50 +00:00
Anders Carlsson
115d6bfcac
Whoops, did not mean to commit this
...
llvm-svn: 79201
2009-08-16 20:29:59 +00:00
Anders Carlsson
a471db0dd4
Store the delete operator for delete expressions.
...
llvm-svn: 79200
2009-08-16 20:29:29 +00:00
Benjamin Kramer
312fde6420
lit: flush stdout in no-fancy-progress-bar mode as well.
...
llvm-svn: 79056
2009-08-14 23:34:45 +00:00
Ted Kremenek
d0d7256b8f
Pass '-Wno-' options to clang-cc. This fixes <rdar://problem/6943988>.
...
llvm-svn: 79011
2009-08-14 18:20:50 +00:00
Daniel Dunbar
1a9db99932
Add a simple tool for comparing two static analyzer runs, primarily for use from
...
buildbot.
llvm-svn: 78336
2009-08-06 21:15:33 +00:00
Daniel Dunbar
4728100e8d
Fix locating the 'lit.cfg' file when running on only a single file in the
...
current directory.
llvm-svn: 78271
2009-08-06 01:41:03 +00:00
Ted Kremenek
36c14a0f1a
Renable "html" indexing by default.
...
llvm-svn: 78077
2009-08-04 17:05:18 +00:00
Daniel Dunbar
83142021fb
lit: Some sample tests, for testing the tester
...
llvm-svn: 78050
2009-08-04 04:40:15 +00:00
Ted Kremenek
ba8d7fc6bf
Recognize '-M' and '-MM' options.
...
llvm-svn: 78027
2009-08-04 00:57:12 +00:00
Ted Kremenek
90fc8a492e
'unlink' file directly instead of invoking system shell.
...
llvm-svn: 78026
2009-08-04 00:55:59 +00:00
Ted Kremenek
90e2e07bd5
Have scan-build clue off of 'BUGMETAEND' to know when to stop processing an HTML file.
...
llvm-svn: 78022
2009-08-03 23:45:27 +00:00
Daniel Dunbar
f0e2ea2869
lit: Don't treat '\' as an escape in unquoted strings, on Win32. This turns out
...
to not be a very good idea.
llvm-svn: 77957
2009-08-03 05:29:22 +00:00
Ted Kremenek
7ac29bb2d8
Include '-o' arguments in verbose output.
...
llvm-svn: 77881
2009-08-02 05:42:46 +00:00
Daniel Dunbar
6cfaa47c85
lit: Catch (internal) exceptions when using --no-sh.
...
llvm-svn: 77830
2009-08-01 23:18:27 +00:00
Daniel Dunbar
5a283bf848
lit: Fix thinko in finding config file.
...
llvm-svn: 77828
2009-08-01 23:09:12 +00:00
Daniel Dunbar
590c358681
lit: Add internal script execution.
...
- Off by default, you can test it with the --no-sh argument.
- For me it works for all but 3 tests, but there a number of FIXMEs and QOI
issues:
o Redirection isn't completely accurate -- in practice it can't portably
be, but I would like to error out if someone writes something which isn't
going to work. This is the source of the 3 test failures.
o Some pipe configurations have the potential to deadlock.
o It is significantly slower when multithreaded. I believe this is due to
locking happening under the hood, there is probably some kind of solution
but I haven't investigated yet.
o Log output is ugly.
llvm-svn: 77784
2009-08-01 10:18:01 +00:00
Daniel Dunbar
82fa6f5e9d
lit: Two more sh lex/parse bugs (but its so simple!)
...
- Empty arguments weren't handled correctly.
- Escapes outside quoted strings weren't handled.
llvm-svn: 77783
2009-08-01 09:41:09 +00:00
Daniel Dunbar
1661066e58
lit: Fix two sh lexing bugs.
...
- '\\\\' inside a "..." string becomes '\\'.
- The '<' token wasn't being recognized.
llvm-svn: 77777
2009-08-01 05:52:04 +00:00
Daniel Dunbar
dc4a0f7427
lit: Fix a name lookup problem, which only occurred on a race condition. This is
...
why dynamic binding sucks.
llvm-svn: 77773
2009-08-01 04:11:36 +00:00
Daniel Dunbar
3ee0543e67
lit: Pull a few more variables into the TestingConfig object.
...
llvm-svn: 77772
2009-08-01 04:06:02 +00:00
Daniel Dunbar
5332311370
lit: Don't use threads when only running one test, or with -j 1.
...
llvm-svn: 77766
2009-08-01 03:35:40 +00:00
Daniel Dunbar
2653167290
MultiTestRunner: Add 'sh' parsing to ShUtil.
...
llvm-svn: 77765
2009-08-01 03:22:27 +00:00
Daniel Dunbar
cd4c338437
MultiTestRunner: Fix invalid warning when pointing 'lit' directly at a test.
...
llvm-svn: 77690
2009-07-31 18:12:18 +00:00
Daniel Dunbar
1087599185
MultiTestRunner: Add module for lexing 'sh' commands.
...
llvm-svn: 77668
2009-07-31 07:59:05 +00:00
Daniel Dunbar
3667b99af3
MultiTestRunner: Simplify, cleanup, and rename!
...
- MultiTestRunner will eventually be renamed to 'lit', for LLVM integrated
tester/testing. This has the pros of being pronouncable and short.
- "Project" level configuration lives in 'lit.cfg', which is also what lit uses
to find the root testing directory in some cases. This can be overridden for
use in project files which want to precisely specify where things are.
- TestRunner.py is not longer able to be invoked directly.
- Moved some code to Util.py.
- Introduced a configuration object.
- Cleaned up --help, removed a few not-very-useful options.
- Tried not to break anything that works. :)
llvm-svn: 77665
2009-07-31 05:54:17 +00:00
Ted Kremenek
bfe393fa0a
Add scan-build option '-no-failure-reports' to supress the creation of a 'failures' subdirectory that includes crash reports, preprocessed files, etc.
...
llvm-svn: 77644
2009-07-30 23:55:19 +00:00
Daniel Dunbar
ba848438e3
MultiTestRunner: Stop printing XFAILs on every run, this doesn't really have any
...
value.
llvm-svn: 77566
2009-07-30 01:57:45 +00:00
Daniel Dunbar
0a1fa85894
scan-build: Don't try to index plist-html output directories
...
llvm-svn: 77465
2009-07-29 16:21:23 +00:00
Douglas Gregor
436081940c
Make the Python TestRunner work for individual tests
...
llvm-svn: 77456
2009-07-29 15:32:08 +00:00
Daniel Dunbar
1cb8d81b41
MultiTestRunner: Reenable --vg option.
...
- Simplified from before and using --error-exitcode so failures show up as
failures.
llvm-svn: 77424
2009-07-29 02:57:25 +00:00
Ted Kremenek
0799d4f0bb
Only generate preprocessed files during crashes using Clang, not GCC.
...
llvm-svn: 77281
2009-07-28 00:14:21 +00:00
Ted Kremenek
5cc54863ce
Add scan-build support for 'plist-html', a hybrid mode that supports the
...
creation of both HTML and plist files. Plist files are currently not generated
using the same layout algorithm as just specifying '-plist', so this is mainly
intended to help support automated runs of the analyzer.
llvm-svn: 77263
2009-07-27 22:10:34 +00:00
Daniel Dunbar
b8aa9589bb
Tweak MultiTestRunner --path argument.
...
- Accept multiple values instead of embedding separator.
- Make sure this gets used when searching for 'clang' binary.
- Switch makefiles to using --path to stay in sync with cmake.
llvm-svn: 77234
2009-07-27 19:01:13 +00:00
Daniel Dunbar
605bd11311
MultiTestRunner: Make sure to point at src dir, for out of tree builds.
...
Factor out routine for executing the script commands.
llvm-svn: 77075
2009-07-25 15:26:08 +00:00
Daniel Dunbar
4edf8a17d5
MultiTestRunner: Cleanup test execution & output.
...
- Stop writing everything to files.
- Make test output more standard.
llvm-svn: 77074
2009-07-25 14:46:05 +00:00
Daniel Dunbar
f7e06f946c
MultiTestRunner: Drop external script and DejaGNU compatibility options for now.
...
- We don't use the former, and the latter doesn't actually work.
llvm-svn: 77073
2009-07-25 13:19:40 +00:00
Daniel Dunbar
6db90064f8
MultiTestRunner: Disable valgrind support for now, I don't feel like maintaining
...
it currently.
llvm-svn: 77072
2009-07-25 13:13:06 +00:00
Daniel Dunbar
a2f6b0dde0
MultiTestRunner/Win32: Add SYSTEMROOT to environment, replace '&&' in .bat
...
files.
llvm-svn: 77071
2009-07-25 12:57:15 +00:00
Daniel Dunbar
595c98729b
Make having no RUN line a failure.
...
Doug, please look at decltype-crash and instantiate-function-1.mm, I'm not sure
if they are actually testing the right thing / anything.
llvm-svn: 77070
2009-07-25 12:47:38 +00:00
Daniel Dunbar
011e3c9905
Remove this Makefile, it is unused.
...
llvm-svn: 77067
2009-07-25 12:37:21 +00:00
Daniel Dunbar
6c6c0e1769
MultiTestRunner: Oops, clang wasn't being substituted properly. This is why the
...
cxx-using-declaration test case started exhibiting different behavior. It still
needs to be fixed, however...
llvm-svn: 77066
2009-07-25 12:23:35 +00:00
Daniel Dunbar
e87599356f
MultiTestRunner: Always use absolute path names for tests.
...
Also, fix a function name I forgot to update.
llvm-svn: 77064
2009-07-25 12:05:55 +00:00
Daniel Dunbar
97ea867690
MultiTestRunner: Validate '&&' at the end of RUN lines.
...
- This is just to normalize, these will go away soon hopefully.
Added all the missing '&&'s that have crept in. :)
llvm-svn: 77062
2009-07-25 11:27:37 +00:00
Daniel Dunbar
3ab3b5e17a
MultiTestRunner: Explicitly define child environment, the only variable we need
...
to import is the PATH.
llvm-svn: 77061
2009-07-25 10:14:19 +00:00
Daniel Dunbar
3c2da2bb7e
MultiTestRunner.py improvements.
...
- Tweak output directories for temp files, derive the temporary base from the
test's parent directory name, and the test name (instead of the whole path).
llvm-svn: 77059
2009-07-25 09:53:43 +00:00
Daniel Dunbar
e6475f1192
MultiTestRunner.py improvements.
...
- Not improved: the horribly lousy name. :)
- Suppress stderr when capturing output.
- Rewrite which() to do the right PATH search instead of being lazy and
shelling out to 'which'.
- On Windows, run scripts as batch files (via 'cmd /c ...').
llvm-svn: 77058
2009-07-25 09:42:24 +00:00
Anders Carlsson
e9e9abb2fb
Whoops, did not mean to check this in.
...
llvm-svn: 77022
2009-07-25 00:26:00 +00:00
Anders Carlsson
87a9a34e5b
More work on the constant struct builder. We now try to layout all constant structs but throw away the result.
...
llvm-svn: 77021
2009-07-25 00:24:56 +00:00
Ted Kremenek
cd31df0f3f
Enable the '-warn-security-syntactic' checker option by default.
...
llvm-svn: 76933
2009-07-24 02:52:07 +00:00
Ted Kremenek
c3fd33014c
Remove bogus check.
...
llvm-svn: 76259
2009-07-17 22:45:54 +00:00
Ted Kremenek
1d67c22949
Add error message when clang-cc cannot be found.
...
llvm-svn: 76256
2009-07-17 22:38:26 +00:00
Daniel Dunbar
dde5c8d522
Add extra print for --time-tests output.
...
llvm-svn: 76104
2009-07-16 21:18:21 +00:00
Daniel Dunbar
047f00ca4a
Make stdin for test scripts empty, so that tests don't accidentally hang waiting
...
for stdin.
llvm-svn: 75506
2009-07-13 21:24:28 +00:00
Daniel Dunbar
5ae1e029f4
Add --time-tests option to test runner, for profiling 'make test'.
...
llvm-svn: 75396
2009-07-11 22:46:27 +00:00
Nuno Lopes
14ea24e422
restore proper valgrind support.
...
disclaim: I know nothing about Python, so apologies in advance if I break something
llvm-svn: 75368
2009-07-11 18:34:43 +00:00
Eli Friedman
837f574ee9
Use /usr/bin/env trick to find python. Patch by Krister Walfridsson.
...
llvm-svn: 75271
2009-07-10 20:15:12 +00:00
Argyrios Kyrtzidis
1561c6cf54
Having tests that depend on previously created files is bad idea. Fix them to be self-sufficient.
...
llvm-svn: 74810
2009-07-06 00:03:47 +00:00
Argyrios Kyrtzidis
5641111e3f
Make use of the Index library through the index-test tool.
...
'index-test' is now able to provide additional info for a Decl, through multiple AST files:
-Find declarations
-Find definitions
-Find references
llvm-svn: 74803
2009-07-05 22:22:35 +00:00
Daniel Dunbar
43d74cd948
Revert prev commit, we have much bigger problems because 2.3 is missing
...
the subprocess module.
llvm-svn: 74738
2009-07-02 23:58:07 +00:00
Daniel Dunbar
22da185ed8
Avoid @staticmethod to allow use with Python 2.3.
...
llvm-svn: 74737
2009-07-02 23:56:37 +00:00
Daniel Dunbar
3f460e84d0
Testing improvements:
...
- Make python test runner force COLUMNS=0 to increase determinism.
- Substitute clang-cc as we do for clang.
- Improved detection of Ctrl-C.
- Honor CLANG and CLANGCC environment variables.
- Add proper command line arguments to TestRunner.py (see --help)
llvm-svn: 73640
2009-06-17 21:33:37 +00:00
Douglas Gregor
dca24385f3
If any tests fail, the test runner returns a status code of 1
...
llvm-svn: 73584
2009-06-16 23:40:23 +00:00
Douglas Gregor
274a6b4f2d
Update Clang to include the InitializeAllTargets and
...
InitializeAllAsmPrinters LLVM headers. Also includes some minor fixes
for the CMake-based build with Xcode.
llvm-svn: 73544
2009-06-16 20:13:51 +00:00
Douglas Gregor
30018a6860
Switch CMake testing over to use Daniels new(er) Python-based infrastructure.
...
llvm-svn: 72977
2009-06-05 23:57:17 +00:00
Douglas Gregor
278f52ec29
Refactor and clean up the AST printer, so that it uses a DeclVisitor,
...
walks through DeclContexts properly, and prints more of the
information available in the AST. The functionality is still available
via -ast-print, -ast-dump, etc., and also via the new member functions
Decl::dump() and Decl::print().
llvm-svn: 72597
2009-05-30 00:08:05 +00:00
Eli Friedman
1fd785f564
Minor build system changes to make ABITest work correctly on Linux.
...
llvm-svn: 72405
2009-05-25 22:07:09 +00:00
Eli Friedman
1cae3df3cf
Some minor corrections: don't use offsetof on a bitfield, and cast
...
printf operands to long to suppress warnings.
llvm-svn: 72404
2009-05-25 21:38:01 +00:00
Ted Kremenek
eef7a21507
Add hack to scan-build to fix PR 4215
...
(http://llvm.org/bugs/show_bug.cgi?id=4215 ): When xcodebuild is invoked with
-sdk iphonesimulator3.0, use gcc-4.2 instead of the system default gcc.
llvm-svn: 71891
2009-05-15 21:14:16 +00:00
Ted Kremenek
46727df06a
Re-enable passing analyzer options from scan-build to ccc-analyzer.
...
llvm-svn: 71836
2009-05-15 04:20:31 +00:00
Ted Kremenek
f9903da7fa
Don't strip quotes in compiler line for -D arguments.
...
Fixes PR 4205.
llvm-svn: 71835
2009-05-15 04:07:18 +00:00
Ted Kremenek
3c2775f0b0
Make scan-build process of --use-cc and --html-title more robust.
...
llvm-svn: 71567
2009-05-12 18:04:43 +00:00
Ted Kremenek
25421bb8f6
Use Text::ParseWords to make 'clang -###' parsing more robust.
...
llvm-svn: 71504
2009-05-11 23:29:51 +00:00
Daniel Dunbar
a3bb6f2e5b
Tweak this non-default test so it still works w/ x86 feature support.
...
llvm-svn: 71494
2009-05-11 23:11:21 +00:00