Jakob Stoklund Olesen
e1c0ae6fda
Revert r158700 and dependent patches r158716, r158717, and r158731.
...
The original r158700 caused crashes in the gcc test suite,
g++.abi/vtable3a.C among others. It also caused failures in the libc++
test suite.
llvm-svn: 158749
2012-06-19 21:48:43 +00:00
Alexis Hunt
6f832c5733
Remove redundant uses of SmallString
...
llvm-svn: 158731
2012-06-19 18:12:18 +00:00
Alexis Hunt
abc99d8d04
Stop abusing StringRef. Fixes the Windows build.
...
I've also removed the duplicate check for PARSED_ATTR since it seems
unnecessary, and would have made the code more complicated.
llvm-svn: 158716
2012-06-19 13:36:02 +00:00
Alexis Hunt
7b28cdb3da
Improve the specification of spellings in Attr.td.
...
Note that this is mostly a structural patch that handles the change from the old
spelling style to the new one. One consequence of this is that all AT_foo_bar
enum values have changed to not be based off of the first spelling, but rather
off of the class name, so they are now AT_FooBar and the like (a straw poll on
IRC showed support for this). Apologies for code churn.
Most attributes have GNU spellings as a temporary solution until everything else
is sorted out (such as a Keyword spelling, which I intend to add if someone else
doesn't beat me to it). This is definitely a WIP.
I've also killed BaseCheckAttr since it was unused, and I had to go through
every attribute anyway.
llvm-svn: 158700
2012-06-19 03:39:03 +00:00
Alexis Hunt
a0e54d453b
Handle C++11 attribute namespaces automatically.
...
Now, as long as the 'Namespaces' variable is correct inside Attr.td, the
generated code will correctly admit a C++11 attribute only when it has the
appropriate namespace(s).
llvm-svn: 158661
2012-06-18 16:13:52 +00:00
Jakob Stoklund Olesen
995e0e13fa
Make clang-tblgen backends functions instead of TableGenBackends.
...
Get rid of a bunch of header files. TableGen output should be unaffected.
Patch by Sean Silva!
llvm-svn: 158388
2012-06-13 05:12:41 +00:00
Anna Zaks
d60367b893
[analyzer] Use "issue hash" in CmpRuns; followup on r158180
...
(For the future: It would be more efficient to produce a hash key with
the embedded function info inside the compiler.)
llvm-svn: 158187
2012-06-08 01:50:49 +00:00
Douglas Gregor
cb8cf4916f
Minor comments and changes to clang-completion-mode.el, from David Wood!
...
llvm-svn: 158174
2012-06-07 22:33:29 +00:00
Jordan Rose
dc191a184f
[analyzer] SATestBuild should execute SVN updates even if Verbose is off.
...
Also, re-use glob results when looking for failure logs.
llvm-svn: 157817
2012-06-01 16:24:43 +00:00
Jordan Rose
01ac57244c
[analyzer] Fix SATestAdd to work with SATestBuild.
...
Also, eliminate global 'IsReferenceBuild' in SATestBuild. It doesn't get
passed around that much.
llvm-svn: 157816
2012-06-01 16:24:38 +00:00
Aaron Ballman
f4f486f732
Updating the visualizers to include more datatypes. Patch thanks to Jay Blanchard.
...
llvm-svn: 157763
2012-05-31 19:27:30 +00:00
Jim Grosbach
6acd46f5e9
TableGen: Remove extraneous '\' at EOL in generated tests.
...
llvm-svn: 157700
2012-05-30 18:18:29 +00:00
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