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