Граф коммитов

378 Коммитов

Автор SHA1 Сообщение Дата
Daniel Dunbar c0513be755 Add two new C++ lit tests suites, for testing Clang .cpp files with
-fsyntax-only and with -c.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15 08:10:41 +00:00
Daniel Dunbar 72a0b79d20 Add Clang-Syntax C++Tests; these don't run by default, use the lit arguments
'--param run_clang_syntax=1' to run them.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88839 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15 07:23:09 +00:00
Daniel Dunbar 36ce794e52 Use the other excludes syntax.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88836 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-15 07:11:12 +00:00
Ted Kremenek 2a1814a643 Use 'eq' operator, and enable regular experimental checks when --experimental-checks is passed to scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88673 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13 18:49:48 +00:00
Ted Kremenek 8382cf57b7 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13 18:46:29 +00:00
Douglas Gregor 35de813674 Turn off -Wsign-compare warnings by default
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 05:24:12 +00:00
Douglas Gregor b7a86f5c5f When we encounter a derived-to-base conversion when performing an
implicit conversion sequence, check the validity of this conversion
and then perform it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06 01:02:41 +00:00
Douglas Gregor 393896f49d 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!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05 13:06:35 +00:00
Douglas Gregor a584fb353a Experimental, ultra-hacking Emacs minor mode for Clang-based code completion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83681 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 22:17:40 +00:00
Ted Kremenek b8bb3e797c 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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82752 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 05:55:59 +00:00
Daniel Dunbar 5e01e3cae6 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82524 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22 05:16:02 +00:00
Daniel Dunbar 33b7f4569a 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81990 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16 01:40:13 +00:00
Daniel Dunbar ad8958cb22 Also compare stdout and stderr lines.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81018 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-04 18:35:09 +00:00
Daniel Dunbar 8f5fdbefcd Make CmpDriver less stupid.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81012 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-04 17:41:47 +00:00
Daniel Dunbar 5adf4389fa 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80982 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-04 02:53:57 +00:00
Daniel Dunbar 6ac8b87ca6 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80981 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-04 02:53:50 +00:00
Anders Carlsson 1352590383 Whoops, did not mean to commit this
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79201 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 20:29:59 +00:00
Anders Carlsson d67c4c31a8 Store the delete operator for delete expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79200 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 20:29:29 +00:00
Benjamin Kramer bbbd986087 lit: flush stdout in no-fancy-progress-bar mode as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79056 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 23:34:45 +00:00
Ted Kremenek 0895937d2c Pass '-Wno-' options to clang-cc. This fixes <rdar://problem/6943988>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 18:20:50 +00:00
Daniel Dunbar 301f7acce8 Add a simple tool for comparing two static analyzer runs, primarily for use from
buildbot.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78336 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06 21:15:33 +00:00
Daniel Dunbar 65c4b107b7 Fix locating the 'lit.cfg' file when running on only a single file in the
current directory.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06 01:41:03 +00:00
Ted Kremenek 8d8bc9157f Renable "html" indexing by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78077 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04 17:05:18 +00:00
Daniel Dunbar 00d02abf24 lit: Some sample tests, for testing the tester
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04 04:40:15 +00:00
Ted Kremenek d732a7b771 Recognize '-M' and '-MM' options.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78027 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04 00:57:12 +00:00
Ted Kremenek e3bf8a8ab4 'unlink' file directly instead of invoking system shell.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78026 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-04 00:55:59 +00:00
Ted Kremenek d658e67b43 Have scan-build clue off of 'BUGMETAEND' to know when to stop processing an HTML file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03 23:45:27 +00:00
Daniel Dunbar e9201f5ced lit: Don't treat '\' as an escape in unquoted strings, on Win32. This turns out
to not be a very good idea.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-03 05:29:22 +00:00
Ted Kremenek 63fe5ecfd1 Include '-o' arguments in verbose output.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77881 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-02 05:42:46 +00:00
Daniel Dunbar 5242e8200d lit: Catch (internal) exceptions when using --no-sh.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77830 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 23:18:27 +00:00
Daniel Dunbar 414be149b0 lit: Fix thinko in finding config file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77828 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 23:09:12 +00:00
Daniel Dunbar 0dec838af0 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 10:18:01 +00:00
Daniel Dunbar a39be6aa63 lit: Two more sh lex/parse bugs (but its so simple!)
- Empty arguments weren't handled correctly.
 - Escapes outside quoted strings weren't handled.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77783 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 09:41:09 +00:00
Daniel Dunbar ee41c4d891 lit: Fix two sh lexing bugs.
- '\\\\' inside a "..." string becomes '\\'.
 - The '<' token wasn't being recognized.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 05:52:04 +00:00
Daniel Dunbar 2f8bafefc2 lit: Fix a name lookup problem, which only occurred on a race condition. This is
why dynamic binding sucks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77773 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 04:11:36 +00:00
Daniel Dunbar 5928ccd47f lit: Pull a few more variables into the TestingConfig object.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 04:06:02 +00:00
Daniel Dunbar 2bdccea9a7 lit: Don't use threads when only running one test, or with -j 1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77766 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 03:35:40 +00:00
Daniel Dunbar 93fe03fb77 MultiTestRunner: Add 'sh' parsing to ShUtil.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01 03:22:27 +00:00
Daniel Dunbar ed92df08db MultiTestRunner: Fix invalid warning when pointing 'lit' directly at a test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 18:12:18 +00:00
Daniel Dunbar 7b90be7981 MultiTestRunner: Add module for lexing 'sh' commands.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 07:59:05 +00:00
Daniel Dunbar 1db467f120 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. :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 05:54:17 +00:00
Ted Kremenek e600bedcfe Add scan-build option '-no-failure-reports' to supress the creation of a 'failures' subdirectory that includes crash reports, preprocessed files, etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77644 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 23:55:19 +00:00
Daniel Dunbar cddab4aed4 MultiTestRunner: Stop printing XFAILs on every run, this doesn't really have any
value.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 01:57:45 +00:00
Daniel Dunbar 1182502c78 scan-build: Don't try to index plist-html output directories
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77465 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 16:21:23 +00:00
Douglas Gregor c50315b9ac Make the Python TestRunner work for individual tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77456 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 15:32:08 +00:00
Daniel Dunbar 9a676b7544 MultiTestRunner: Reenable --vg option.
- Simplified from before and using --error-exitcode so failures show up as
   failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77424 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 02:57:25 +00:00
Ted Kremenek 3386c8a510 Only generate preprocessed files during crashes using Clang, not GCC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77281 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-28 00:14:21 +00:00
Ted Kremenek 7753b35236 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77263 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 22:10:34 +00:00
Daniel Dunbar 6779647c89 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77234 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-27 19:01:13 +00:00
Daniel Dunbar 10aebbb5c8 MultiTestRunner: Make sure to point at src dir, for out of tree builds.
Factor out routine for executing the script commands.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 15:26:08 +00:00