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

588 Коммитов

Автор SHA1 Сообщение Дата
Dmitri Gribenko 5189035553 Add a script that produces a list of all diagnostics that are defined in
Diagnostic*.td files but not used in sources.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150410 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13 20:21:52 +00:00
Dylan Noblesmith 36d592718f drop more llvm:: prefixes on SmallString<>
More cleanup after r149799.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150380 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13 12:32:26 +00:00
Daniel Dunbar b880609697 Remove stray semi-colon.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-10 06:00:29 +00:00
Benjamin Kramer f94d392847 Kill the brief and full explanation fields from StaticDiagInfoRec. They were unused and wasted space for nothing.
- per PR11952.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150199 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-09 19:38:26 +00:00
Aaron Ballman fd8fed902d Added MSVC visualizers for PointerIntPair and PointerUnions.
Patch by Nikola Smiljanic

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149896 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06 20:47:31 +00:00
Benjamin Kramer 5bbc385ad2 Move instantiateTemplateAttribute into the sema namespace, make helpers static.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149864 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06 11:13:08 +00:00
Anna Zaks 09e9cf0927 [analyzer] Testing: add automated reference results reset.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149682 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-03 06:35:23 +00:00
Anna Zaks ac4e5b7a11 [analyzer] Testing: add 2 new checkers to the buildbot script.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149514 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-01 16:46:57 +00:00
Anna Zaks 2c3038edc2 [analyzer] Add the HTML file to the SATest diagnostic diff.
(Uses the functionality which has been in CmpRuns long before.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148868 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24 21:57:35 +00:00
Anna Zaks ab2d46eb04 [analyzer] Testing: make diagnostic diffs more informative (add
diagnostic message).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148867 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-24 21:57:32 +00:00
Anna Zaks 8c345c0fc3 [analyzer] Unbreak the static analyzer bot. Regression from r148558.
When we build a single source file, we call clang directly (not though scan-build).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148612 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-21 01:11:35 +00:00
DeLesley Hutchins 23323e0253 Delayed template instantiation of late-parsed attributes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148595 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-20 22:50:54 +00:00
DeLesley Hutchins 7b9ff0c090 Instantiate dependent attributes when instantiating templates.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148592 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-20 22:37:06 +00:00
Anna Zaks afb51afd98 [analyzer] Tweak the buildbot script to include the experimental taint checker and correct the checker enabling setting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148558 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-20 19:10:59 +00:00
David Blaikie 7530c034c0 Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148292 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-17 06:56:22 +00:00
David Blaikie 561d3abc88 Remove unnecessary default cases in switches over enums.
This allows -Wswitch-enum to find switches that need updating when these enums are modified.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148281 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-17 02:30:50 +00:00
Jakob Stoklund Olesen eb666737ba CodeInit was replaced by StringInit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148095 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-13 04:57:47 +00:00
Anna Zaks d3e29ef3e0 [analyzer] Testing infrastructure: Flush output after every print
statement.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147862 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-10 18:10:25 +00:00
Benjamin Kramer 0b536f3281 Remove unused include of VectorExtras.h.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147737 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-07 19:41:22 +00:00
Anna Zaks f063a3b783 [analyzer] Correct the error message in the testing infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147568 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-04 23:53:50 +00:00
Bob Wilson 9082cddf28 Relax type checking for a few Neon intrinsics. <rdar://problem/10538555>
Not long ago, I tightened up the type checking for pointer arguments of
Neon intrinsics to match the specifications provided by ARM.  One consequence
was that it became impossible to access the unaligned versions of a few
Neon load/store operations.  Since there are just a few of these intrinsics
where it makes a difference, I think it's better to relax the type checking
than to either introduce new non-standard unaligned intrinsics or to disallow
intrinsics for the unaligned operations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146963 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20 06:16:48 +00:00
David Blaikie 99ba9e3bd7 Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146959 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20 02:48:34 +00:00
Douglas Gregor 1bea8807bc Add support for pretty-printing attributes, from Richard Membarth!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145002 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-19 19:22:57 +00:00
Bob Wilson 4648255ceb Fix Neon builtin pointer argument checking for "sret" builtins.
The code for checking Neon builtin pointer argument types was assuming that
there would only be one pointer argument.  But, for vld2-4 builtins, the first
argument is a special sret pointer where the result will be stored.  So,
instead of scanning all the arguments to find a pointer, have TableGen figure
out the index of the pointer argument that needs checking.  That's better than
scanning all the arguments regardless.  <rdar://problem/10448804>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144834 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 21:32:23 +00:00
Benjamin Kramer 037ad1b8f0 Validate DiagGroup names in TableGen, they're used as command line arguments so we don't want shell meta chars in there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144645 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15 12:54:53 +00:00
Anna Zaks 8d4a515b03 [analyzer] Testing: test with all the non-experimental checker packages.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 22:41:25 +00:00
Anna Zaks 86f14abc02 [analyzer] Testing: support for regenerate reference output
Change the flow of the SATestAdd so that it could be used for regenerating
the reference output without exiting with an error.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144141 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 22:41:22 +00:00
Anna Zaks a7a2564ff5 [analyzer] Testing: Display the number of reported differences in the main log.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144113 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 19:56:31 +00:00
Bob Wilson 6f9f03ef37 Check pointer types for arguments of Neon load/store macros. rdar://9958031
The Neon load/store intrinsics need to be implemented as macros to avoid
hiding alignment attributes on the pointer arguments, and the macros can
only evaluate those pointer arguments once (in case they have side effects),
so it has been hard to get the right type checking for those pointers.
I tried various alternatives in the arm_neon.h header, but it's much more
straightforward to just check directly in Sema.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144075 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 05:04:11 +00:00
Bob Wilson da95f73b59 Clean up type flags for overloaded Neon builtins. No functional change.
This patch just adds a simple NeonTypeFlags class to replace the various
hardcoded constants that had been used until now.  Unfortunately I couldn't
figure out a good way to avoid duplicating that class between clang and
TableGen, but since it's small and rarely changes, that's not so bad.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144054 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 01:16:11 +00:00
Anna Zaks bc05f57cba [analyzer] Testing infrastructure: flush the output between projects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144051 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08 00:27:56 +00:00
Benjamin Kramer 90c7892b69 Use StringRef's case transformation methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143889 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 20:36:48 +00:00
Anna Zaks e1e73670b3 [analyzer] Relax the cmp criteria for analyzer reports.
Until we find out a way to easily find out what changed by looking at the logs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143789 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05 05:20:56 +00:00
Anna Zaks 45518b1f76 [analyzer] Add support for testing with individual preprocessed files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143786 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05 05:20:48 +00:00
Anna Zaks 5fa3f1309b [analyzer] Tweak the test script
Rename the pre_run_static_analyzer script into cleanup_run_static_analyzer
and use it to clean up after the reference build - which is done as part of
adding a new project to the system.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143568 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 20:46:50 +00:00
Chandler Carruth d4e85faaf3 Update the CMake build for clang-tblgen to reflect that it directly
depends on the Support library rather than relying on TableGen's
transitive dependency.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143532 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 05:04:43 +00:00
Dan Gohman e3271d401e Remove the Alpha backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143165 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-27 22:56:49 +00:00
Dan Gohman 78cf13db14 Remove the Blackfin backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142881 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-25 00:06:12 +00:00
Dan Gohman 0986eb5c59 Remove the SystemZ backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142879 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-24 23:48:52 +00:00
Bob Wilson d1af3b901a Add __nodebug__ attribute to functions in arm_neon.h
This matches what we do for Intel vector intrinsics. <rdar://problem/10280207>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-14 16:55:33 +00:00
Richard Smith a6b8b2c096 Constant expression evaluation refactoring:
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
   and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert
   behaviour.
 - Factor out evaluation of bitfield bit widths.
 - Fix a few places which would evaluate an expression twice: once to determine
   whether it is a constant expression, then again to get the value.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-10 18:28:20 +00:00
Peter Collingbourne d7c8556cc1 Make clang-tblgen's Makefile independent of Clang's top-level Makefile,
to avoid having to make it available for the cross build when it
builds only clang-tblgen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141453 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-08 00:26:35 +00:00
Anna Zaks 1b41716abf [analyzer] Static Analyzer Qualification Infrastructure: Scripts to support basic testing of the analyzer on external projects. This can be used as a basis for setting up a buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141337 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06 23:26:27 +00:00
Peter Collingbourne 51d7777a21 Add the Clang tblgen backends to Clang, and flip the switch to cause
the build systems to use clang-tblgen.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141291 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-06 13:03:08 +00:00
Anna Zaks f95a2012ab [analyzer] CmpRuns can now optionally delete empty reports.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139550 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12 22:40:36 +00:00
Anna Zaks 544055fa46 [analyzer] CmpRuns.cmpScanBuildResults() should be easy to call from other modules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139543 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12 21:32:41 +00:00
Anna Zaks 22d70e0ca3 Rename CmpRuns into CmpRuns.py so that it could be used as a module.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139540 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12 21:07:18 +00:00
Douglas Gregor 3ef1ad2d28 Easier debugging with Visual Studio Visualizers, from Nikola Smiljanic!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136207 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27 05:22:46 +00:00
Chris Lattner fc8f0e14ad fix a bunch of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-15 05:22:18 +00:00
Douglas Gregor ed37836bbb Minor fix for clang-completion-mode, from Dve Abrahams
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121771 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-14 16:52:29 +00:00
Daniel Dunbar 7b1ab13438 utils/ABITest: Factor out type naming code slightly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114867 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 20:13:24 +00:00
Daniel Dunbar 3d2fd8d467 utils/ABITest: Tweak default bit-field types to cover some more interesting cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114866 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 20:13:22 +00:00
Daniel Dunbar 3dbe0b76ef utils/ABITest: Add a workaround for mismatches due to PR5579.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 20:13:19 +00:00
Daniel Dunbar 1ca717b766 utils/ABITest: Add option to skip individual tests by index.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114864 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 20:13:17 +00:00
Douglas Gregor b0a996f6f3 Fix typo in test program
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-14 00:09:17 +00:00
Daniel Dunbar c53a844e22 FuzzTest: Add support for reading list of replacements from a file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105177 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-30 22:27:55 +00:00
Daniel Dunbar 803588053d utils: Add a generic fuzz testing tool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105176 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-30 22:27:52 +00:00
Ted Kremenek f91e56b63b Wrap 'data' key in quotes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101594 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17 00:37:35 +00:00
Ted Kremenek b0c0295c38 Make script actually work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101591 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17 00:33:24 +00:00
Ted Kremenek 87bdd6689a Log code completion data in json format.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101587 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17 00:21:44 +00:00
Ted Kremenek 264b7f26b8 Include sender address in completion log.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 06:32:15 +00:00
Ted Kremenek 66cf36dc98 Add simple python server for recording code completion timings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101327 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 01:02:31 +00:00
Anders Carlsson d18b4de53d More magic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-29 03:26:49 +00:00
Anders Carlsson f01149ab1f 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 :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99802 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-29 03:21:40 +00:00
Anders Carlsson 799e75088d Didn't mean to commit this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99607 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 04:14:45 +00:00
Anders Carlsson 0bf4089d19 Use the new vtable layout code for construction vtables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99606 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26 04:13:46 +00:00
Douglas Gregor 49b9545020 make the vtable tester a little friendlier, with a clean target and without requiring . to be in your path
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99433 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-24 21:52:55 +00:00
Douglas Gregor aa74a1e49f 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



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 20:10:50 +00:00
Douglas Gregor c6277a0a42 Include <stdlib.h>, so that we're sure to get atoi.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95095 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02 17:49:52 +00:00
Daniel Dunbar fee1137617 Extern darwin-clang_rt.c test to also test targetting ARM ({armv6, armv7} x
{thumb,no-thumb}).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94264 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-23 00:26:38 +00:00
Daniel Dunbar 60eea55a98 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94083 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 17:10:39 +00:00
Daniel Dunbar c67bb59d45 Tweak OptionalTests paths.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94082 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 17:09:39 +00:00
Daniel Dunbar 6d44f6ea30 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94080 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-21 16:55:39 +00:00
John McCall 7ae4373bde 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).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93299 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13 06:44:51 +00:00
Mike Stump 58002f9683 Remove unused code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93262 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12 22:20:00 +00:00
Mike Stump cffd516070 Improve covariance tester to randomize the return value more.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93254 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12 20:55:39 +00:00
Mike Stump 72e933e998 Add covariance tester.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93226 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12 03:01:18 +00:00
Mike Stump 66d29ec664 Allow N_FIELDS to be 0.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93211 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12 00:28:59 +00:00
Mike Stump a8ae9f8c8a Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-08 19:28:41 +00:00
Mike Stump 3d3744ca7d Add in final overrider logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93022 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-08 19:25:36 +00:00
Mike Stump d239227358 Add checker for type infos.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92956 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 22:50:03 +00:00
Mike Stump b5ed0f64fa Add checked for VTTs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92954 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 22:28:10 +00:00
Mike Stump 3539f110dd Detailed vtable checker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92953 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 22:21:26 +00:00
Mike Stump 82f0be9c53 1/2 off all structs should not have any virtual functions.
Replace magic numbers with uuids.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92941 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 20:55:28 +00:00
Mike Stump 365d638ba3 Add a descriptive tag to each line to make the exact differences
easier to understand.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92932 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 19:39:43 +00:00
Mike Stump 408a304afe Don't use two argument mixing function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92929 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 19:24:27 +00:00
Mike Stump 1f48f4b1d0 Also generate the .s files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92928 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 19:19:39 +00:00
Mike Stump 46ae64f202 Add a testcase generator for vtable/rtti testing. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92927 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07 18:58:28 +00:00
Daniel Dunbar a799cefcff Tests: Tweak LLVM-Code-Symbols test to ignore common and undefined symbols for
now, let's start small.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-26 22:58:48 +00:00
Daniel Dunbar e868669d42 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92147 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-24 21:27:38 +00:00
Douglas Gregor d7557e3f14 Don't commit my silly little local changes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92010 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 17:43:32 +00:00
Douglas Gregor e1a5c17bff Fix DISABLE_SMART_POINTERS build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92008 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23 17:40:29 +00:00
Douglas Gregor 006ce445f4 Revert accidental commit
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91930 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22 22:30:51 +00:00
Douglas Gregor 90f9382b3e Switch Sema::AddCXXDirectInitializerToDecl over to InitializationSequence
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91927 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22 22:17:25 +00:00
Daniel Dunbar f11031f505 C++Tests: Add target paths for LLVM-Code-Compile checks as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91716 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 21:27:23 +00:00
Douglas Gregor 046a0f3d53 Add a couple more paths to the LLVM-Code-Syntax test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91627 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 21:51:02 +00:00
Douglas Gregor eb3f00c292 Remove accidental commit containing local paths for the LLVM-Code-Syntax test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91326 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14 20:58:24 +00:00
Douglas Gregor a6ca650754 Minor cleanups for constructor initialization in InitializationSequence
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91325 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14 20:57:13 +00:00
Douglas Gregor d240724926 Switch the Emacs clang-completion-mode over to clang -cc1
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91185 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-11 23:47:56 +00:00
Daniel Dunbar dd63b28107 Update docs/comments/utils/examples to refer to clang -cc1 instead of clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91176 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-11 23:04:35 +00:00
Douglas Gregor 5f16e521eb 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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91068 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-10 22:08:55 +00:00
Daniel Dunbar 93c5b915ae Add utils/TestUtils, and sink pch-test.pl there.
Also, add a test for generator a C file with a very deep call stack.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90468 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03 18:40:58 +00:00
Kovarththanan Rajaratnam d8fdde1196 Tuck away scan-build related files into tools/scan-build
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90215 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 06:52:01 +00:00
Kovarththanan Rajaratnam e1fea772c4 Move ubiviz to analyzer directory
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 06:34:06 +00:00
Daniel Dunbar 9bf8a17363 Don't run the LLVM Code tests by default.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89937 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26 05:09:00 +00:00
Daniel Dunbar 6cfe889055 Add -Werror for Clang and LLVM on Clang (headers) syntax tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89936 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26 05:08:53 +00:00
Douglas Gregor f21bf9b87a Add C++ tests to try to parse and compile the LLVM libraries
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89923 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-26 02:28:53 +00:00
Douglas Gregor 9d85109159 Don't try to parse LinkAllParses.h for now
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 00:31:20 +00:00
Ted Kremenek a52e7424e6 Remove '-checker-simple' reference from scan-build. Patch by Kovarththanan Rajaratnam!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89673 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 17:37:58 +00:00
Daniel Dunbar 93b189ff4a Change Clang-Code-Compile tests to only -emit-llvm instead of running
codegen/as.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89634 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 00:07:14 +00:00
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