Ted Kremenek
f5958eb2b4
Fix typo.
...
llvm-svn: 157229
2012-05-22 00:54:40 +00:00
Ted Kremenek
c53ed2e158
Use Perl prototypes instead of shift.
...
llvm-svn: 157228
2012-05-22 00:52:49 +00:00
Ted Kremenek
2fe1ed3e0d
Add basic delta-debugging script used for reducing analyzer crasher test cases.
...
llvm-svn: 157219
2012-05-21 23:29:01 +00:00
David Blaikie
1f05227a3d
SmallString Visual Studio visualizer by Will Wilson.
...
llvm-svn: 156959
2012-05-16 22:28:47 +00:00
Rafael Espindola
7f90b7d4c2
Fix our handling of visibility in explicit template instantiations.
...
* Don't copy the visibility attribute during instantiations. We have to be able
to distinguish
struct HIDDEN foo {};
template<class T>
DEFAULT void bar() {}
template DEFAULT void bar<foo>();
from
struct HIDDEN foo {};
template<class T>
DEFAULT void bar() {}
template void bar<foo>();
* If an instantiation has an attribute, it takes precedence over an attribute
in the template.
* With instantiation attributes handled with the above logic, we can now
select the minimum visibility when looking at template arguments.
llvm-svn: 156821
2012-05-15 14:09:55 +00:00
Douglas Gregor
87a170c1e6
Teach the parser to deal with multiple spellings for the same
...
attribute, rather than requiring multiple cases in consumers of this
information.
llvm-svn: 156666
2012-05-11 23:37:49 +00:00
Jim Grosbach
6f855e3024
ARM: Support marking intrinsic definitions as 'unavailable'
...
llvm-svn: 156490
2012-05-09 18:17:30 +00:00
Richard Smith
ce52ca178d
Remove DiagGroups from notes, and add a TableGen assertion to catch them.
...
llvm-svn: 156192
2012-05-04 19:05:50 +00:00
Douglas Gregor
377f99bc68
Replace the StringSwitch in AttributeList::getKind() with a
...
TableGen-generated StringMatcher, for a 1.2% speedup in -fparse-only
time in <rdar://problem/11004361>. Thanks to Benjamin for pointing me
at StringMatcher!
llvm-svn: 156003
2012-05-02 17:33:51 +00:00
Douglas Gregor
19fbb8fa81
Introduce the notion of 'ignored' attributes, so that all attributes
...
we accept are not modeled somehow via Attr.td.
llvm-svn: 155998
2012-05-02 16:18:45 +00:00
Douglas Gregor
b2daf8416e
Introduce the notion of an attribute that has no direct representation
...
as an AST node, and fold a number of such attributes into Attr.td.
llvm-svn: 155995
2012-05-02 15:56:52 +00:00
Douglas Gregor
0191bf8655
Revert my optimization to AttributeList::getKind() in r155987;
...
Benjamin has suggested a better approach.
llvm-svn: 155989
2012-05-02 14:50:50 +00:00
Douglas Gregor
adfe5afe38
Replace the StringSwitch in AttributeList::getKind(const
...
IdentifierInfo *) with a static StringMap, improving -fsyntax-only
performance by 1% for the example in <rdar://problem/11004361>.
llvm-svn: 155987
2012-05-02 14:24:30 +00:00
Gabor Greif
ec1f7e872c
Add a FIXME for uncomplete comment
...
fix a typo
add punctuation
llvm-svn: 155443
2012-04-24 15:42:03 +00:00
David Blaikie
2e3380308e
Add SmallVectorImpl Visual Studio visualizer. Patch by Nikola Smiljanic.
...
llvm-svn: 155140
2012-04-19 17:26:49 +00:00
Eric Christopher
aefeaa9873
Remove the vestiges of the C backend.
...
llvm-svn: 153308
2012-03-23 05:51:52 +00:00
Aaron Ballman
fa432f30d4
Adding namespace qualifiers to the visualizers and improving their behavior.
...
Patch thanks to Nikola Smiljanic
llvm-svn: 152514
2012-03-10 22:28:45 +00:00
Argyrios Kyrtzidis
8b0f3e0525
[utils/FuzzTest] Add '--stop-on-fail' to stop the script on the first failure
...
without reverting the changes.
llvm-svn: 152333
2012-03-08 20:29:39 +00:00
Argyrios Kyrtzidis
941d092933
[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.
llvm-svn: 152327
2012-03-08 20:11:06 +00:00
Argyrios Kyrtzidis
05d2212db3
[utils/FuzzTest] For --filelist the option type is string, not integer.
...
llvm-svn: 152324
2012-03-08 18:56:59 +00:00
Daniel Dunbar
1c66a0e1c0
Spelling.
...
llvm-svn: 152281
2012-03-08 01:54:33 +00:00
Michael Han
4a04517329
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.
llvm-svn: 152169
2012-03-07 00:12:16 +00:00
Argyrios Kyrtzidis
87acf19a5c
[tablegen] Make sure that the code that is determining the order of warning groups
...
is shared to avoid any "misalignment" if indices.
llvm-svn: 152074
2012-03-06 00:00:38 +00:00
Anna Zaks
6ecb6a6b7f
[analyzer] Testing: These checkers are not experimental anymore.
...
llvm-svn: 150989
2012-02-20 21:10:40 +00:00
Benjamin Kramer
a8cafe23e3
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.
llvm-svn: 150615
2012-02-15 20:57:03 +00:00
Anna Zaks
a432feaf26
[analyzer] Add the Malloc checker to the list of tested checkers.
...
llvm-svn: 150535
2012-02-15 00:19:07 +00:00
Dmitri Gribenko
5dc3a6936d
Add a script that produces a list of all diagnostics that are defined in
...
Diagnostic*.td files but not used in sources.
llvm-svn: 150410
2012-02-13 20:21:52 +00:00
Dylan Noblesmith
f1a13f29f2
drop more llvm:: prefixes on SmallString<>
...
More cleanup after r149799.
llvm-svn: 150380
2012-02-13 12:32:26 +00:00
Daniel Dunbar
dc51baade4
Remove stray semi-colon.
...
llvm-svn: 150231
2012-02-10 06:00:29 +00:00
Benjamin Kramer
3edb3b4ac5
Kill the brief and full explanation fields from StaticDiagInfoRec. They were unused and wasted space for nothing.
...
- per PR11952.
llvm-svn: 150199
2012-02-09 19:38:26 +00:00
Aaron Ballman
abc7c5c5b6
Added MSVC visualizers for PointerIntPair and PointerUnions.
...
Patch by Nikola Smiljanic
llvm-svn: 149896
2012-02-06 20:47:31 +00:00
Benjamin Kramer
bf8da9d706
Move instantiateTemplateAttribute into the sema namespace, make helpers static.
...
llvm-svn: 149864
2012-02-06 11:13:08 +00:00
Anna Zaks
4c1ef976a8
[analyzer] Testing: add automated reference results reset.
...
llvm-svn: 149682
2012-02-03 06:35:23 +00:00
Anna Zaks
97981bdeb0
[analyzer] Testing: add 2 new checkers to the buildbot script.
...
llvm-svn: 149514
2012-02-01 16:46:57 +00:00
Anna Zaks
b3d896d333
[analyzer] Add the HTML file to the SATest diagnostic diff.
...
(Uses the functionality which has been in CmpRuns long before.)
llvm-svn: 148868
2012-01-24 21:57:35 +00:00
Anna Zaks
895c312404
[analyzer] Testing: make diagnostic diffs more informative (add
...
diagnostic message).
llvm-svn: 148867
2012-01-24 21:57:32 +00:00
Anna Zaks
a08c6b7efc
[analyzer] Unbreak the static analyzer bot. Regression from r148558.
...
When we build a single source file, we call clang directly (not though scan-build).
llvm-svn: 148612
2012-01-21 01:11:35 +00:00
DeLesley Hutchins
30398dd410
Delayed template instantiation of late-parsed attributes.
...
llvm-svn: 148595
2012-01-20 22:50:54 +00:00
DeLesley Hutchins
ceec3063e2
Instantiate dependent attributes when instantiating templates.
...
llvm-svn: 148592
2012-01-20 22:37:06 +00:00
Anna Zaks
7a75cf32a2
[analyzer] Tweak the buildbot script to include the experimental taint checker and correct the checker enabling setting.
...
llvm-svn: 148558
2012-01-20 19:10:59 +00:00
David Blaikie
8a40f700e6
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)
...
llvm-svn: 148292
2012-01-17 06:56:22 +00:00
David Blaikie
f47fa304a4
Remove unnecessary default cases in switches over enums.
...
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
2012-01-17 02:30:50 +00:00
Jakob Stoklund Olesen
6f2288b67c
CodeInit was replaced by StringInit.
...
llvm-svn: 148095
2012-01-13 04:57:47 +00:00
Anna Zaks
de1f7f8bfb
[analyzer] Testing infrastructure: Flush output after every print
...
statement.
llvm-svn: 147862
2012-01-10 18:10:25 +00:00
Benjamin Kramer
4fde7a8007
Remove unused include of VectorExtras.h.
...
llvm-svn: 147737
2012-01-07 19:41:22 +00:00
Anna Zaks
5acd9603da
[analyzer] Correct the error message in the testing infrastructure.
...
llvm-svn: 147568
2012-01-04 23:53:50 +00:00
Bob Wilson
bd646de67f
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.
llvm-svn: 146963
2011-12-20 06:16:48 +00:00
David Blaikie
68e081d606
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146959
2011-12-20 02:48:34 +00:00
Douglas Gregor
49ccfaa938
Add support for pretty-printing attributes, from Richard Membarth!
...
llvm-svn: 145002
2011-11-19 19:22:57 +00:00
Bob Wilson
89d14247ff
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>
llvm-svn: 144834
2011-11-16 21:32:23 +00:00