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

549 Коммитов

Автор SHA1 Сообщение Дата
Eric Christopher f102c45ed9 Remove the vestiges of the C backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153308 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23 05:51:52 +00:00
Aaron Ballman b017ea237e Adding namespace qualifiers to the visualizers and improving their behavior.
Patch thanks to Nikola Smiljanic

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152514 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10 22:28:45 +00:00
Argyrios Kyrtzidis 2a6dc143b6 [utils/FuzzTest] Add '--stop-on-fail' to stop the script on the first failure
without reverting the changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152333 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08 20:29:39 +00:00
Argyrios Kyrtzidis 3cb8e2f5e9 [utils/FuzzTest] The help message says that if you don't specify --max-tests
"the script will run forever continually picking new tests to run", make it so.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152327 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08 20:11:06 +00:00
Argyrios Kyrtzidis 00f1f27664 [utils/FuzzTest] For --filelist the option type is string, not integer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152324 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08 18:56:59 +00:00
Daniel Dunbar 9df08bb766 Spelling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152281 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08 01:54:33 +00:00
Michael Han e53ac8aea2 Refactor Clang sema attribute handling.
This submission improves Clang sema handling by using Clang tablegen
to generate common boilerplate code. As a start, it implements AttributeList
enumerator generation and case statements for AttributeList::getKind.

A new field "SemaHandler" is introduced in Attr.td and by default set to 1
as most of attributes in Attr.td have semantic checking in Sema. For a small
number of attributes that don't appear in Sema, the value is set to 0.

Also there are a small number of attributes that only appear in Sema but not
in Attr.td. Currently these attributes are still hardcoded in Sema AttributeList.

Reviewed by Delesley Hutchins.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152169 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-07 00:12:16 +00:00
Argyrios Kyrtzidis d42236e9d5 [tablegen] Make sure that the code that is determining the order of warning groups
is shared to avoid any "misalignment" if indices.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152074 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06 00:00:38 +00:00
Anna Zaks 9747b539cd [analyzer] Testing: These checkers are not experimental anymore.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150989 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-20 21:10:40 +00:00
Benjamin Kramer d49cb20288 Store the warning option corresponding to a diagnostics as an index into the option table instead of storing the name.
Another 8 bytes + relocation removed from every diagnostic on x86_64.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150615 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15 20:57:03 +00:00
Anna Zaks f66035ec41 [analyzer] Add the Malloc checker to the list of tested checkers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150535 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15 00:19:07 +00:00
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