| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
- "cocoa" was moved to "osx.cocoa" a long time ago.
- "cplusplus" would be a valid package except we don't have any C++ checkers.
llvm-svn: 160821
|
| |
|
|
|
|
| |
Fallout from CmpRuns.py API changes in r160314.
llvm-svn: 160800
|
| |
|
|
| |
llvm-svn: 160492
|
| |
|
|
|
|
|
|
|
| |
CmpRuns can be used for static analyzer bug report comparison. However,
we want to make sure external users do not rely on the way bugs are
represented (plist files). Make sure that we have a user
friendly/documented API for CmpRuns script.
llvm-svn: 160314
|
| |
|
|
|
|
|
| |
- Split pedantic driver flag test into separate test file, and XFAIL on cygwin,mingw32
- Fix bug in tablegen logic where a missing '{' caused errors to be included in -Wpedantic.
llvm-svn: 159892
|
| |
|
|
|
|
|
|
|
|
| |
-Weverything." It broke several builds.
I suspect FileCheck might match assertion failure, even if clang/test/Misc/warning-flags.c passed the test.
> 0. Program arguments: bin/./clang -### -pedantic -Wpedantic clang/test/Driver/warning-options.cpp
llvm-svn: 159886
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces some magic in tablegen to create a "Pedantic" diagnostic
group which automagically includes all warnings that are extensions. This
allows a user to suppress specific warnings traditionally under -pedantic used
an ordinary warning flag. This also allows users to use #pragma to silence
specific -pedantic warnings, or promote them to errors, within blocks of text
(just like any other warning).
-Wpedantic is NOT an alias for -pedantic. Instead, it provides another way
to (a) activate -pedantic warnings and (b) disable them. Where they differ
is that -pedantic changes the behavior of the preprocessor slightly, whereas
-Wpedantic does not (it just turns on the warnings).
The magic in the tablegen diagnostic emitter has to do with computing the minimal
set of diagnostic groups and diagnostics that should go into -Wpedantic, as those
diagnostics that already members of groups that themselves are (transitively) members
of -Wpedantic do not need to be included in the Pedantic group directly. I went
back and forth on whether or not to magically generate this group, and the invariant
was that we always wanted extension warnings to be included in -Wpedantic "some how",
but the bookkeeping would be very onerous to manage by hand.
-no-pedantic (and --no-pedantic) is included for completeness, and matches many of the
same kind of flags the compiler already supports. It does what it says: cancels out
-pedantic. One discrepancy is that if one specifies --no-pedantic and -Weverything or
-Wpedantic the pedantic warnings are still enabled (essentially the -W flags win). We
can debate the correct behavior here.
Along the way, this patch nukes some code in TextDiagnosticPrinter.cpp and CXStoredDiagnostic.cpp
that determine whether to include the "-pedantic" flag in the warning output. This is
no longer needed, as all extensions now have a -W flag.
This patch also significantly reduces the number of warnings not under flags from 229
to 158 (all extension warnings). That's a 31% reduction.
llvm-svn: 159875
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
very simple semantic analysis that just builds the AST; minor changes for lexer
to pick up source locations I didn't think about before.
Comments AST is modelled along the ideas of HTML AST: block and inline content.
* Block content is a paragraph or a command that has a paragraph as an argument
or verbatim command.
* Inline content is placed within some block. Inline content includes plain
text, inline commands and HTML as tag soup.
llvm-svn: 159790
|
| |
|
|
|
|
| |
analyzer stats from scan-build output.
llvm-svn: 159776
|
| |
|
|
|
|
| |
getValueAsString()).
llvm-svn: 159662
|
| |
|
|
|
|
| |
Rose and Richard Smith for catching these.
llvm-svn: 158826
|
| |
|
|
|
|
|
| |
caused a crash in an obscure case. On the plus side, it caused me to catch
another bug by inspection.
llvm-svn: 158767
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 158731
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Get rid of a bunch of header files. TableGen output should be unaffected.
Patch by Sean Silva!
llvm-svn: 158388
|
| |
|
|
|
|
|
| |
(For the future: It would be more efficient to produce a hash key with
the embedded function info inside the compiler.)
llvm-svn: 158187
|
| |
|
|
| |
llvm-svn: 158174
|
| |
|
|
|
|
| |
Also, re-use glob results when looking for failure logs.
llvm-svn: 157817
|
| |
|
|
|
|
|
| |
Also, eliminate global 'IsReferenceBuild' in SATestBuild. It doesn't get
passed around that much.
llvm-svn: 157816
|
| |
|
|
|
|
| |
Blanchard.
llvm-svn: 157763
|
| |
|
|
| |
llvm-svn: 157700
|
| |
|
|
| |
llvm-svn: 157229
|
| |
|
|
| |
llvm-svn: 157228
|
| |
|
|
| |
llvm-svn: 157219
|
| |
|
|
| |
llvm-svn: 156959
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
attribute, rather than requiring multiple cases in consumers of this
information.
llvm-svn: 156666
|
| |
|
|
| |
llvm-svn: 156490
|
| |
|
|
| |
llvm-svn: 156192
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
we accept are not modeled somehow via Attr.td.
llvm-svn: 155998
|
| |
|
|
|
|
| |
as an AST node, and fold a number of such attributes into Attr.td.
llvm-svn: 155995
|
| |
|
|
|
|
| |
Benjamin has suggested a better approach.
llvm-svn: 155989
|
| |
|
|
|
|
|
| |
IdentifierInfo *) with a static StringMap, improving -fsyntax-only
performance by 1% for the example in <rdar://problem/11004361>.
llvm-svn: 155987
|
| |
|
|
|
|
|
| |
fix a typo
add punctuation
llvm-svn: 155443
|
| |
|
|
| |
llvm-svn: 155140
|
| |
|
|
| |
llvm-svn: 153308
|
| |
|
|
|
|
| |
Patch thanks to Nikola Smiljanic
llvm-svn: 152514
|
| |
|
|
|
|
| |
without reverting the changes.
llvm-svn: 152333
|
| |
|
|
|
|
| |
"the script will run forever continually picking new tests to run", make it so.
llvm-svn: 152327
|
| |
|
|
| |
llvm-svn: 152324
|
| |
|
|
| |
llvm-svn: 152281
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
groups
is shared to avoid any "misalignment" if indices.
llvm-svn: 152074
|
| |
|
|
| |
llvm-svn: 150989
|
| |
|
|
|
|
|
|
| |
option table instead of storing the name.
Another 8 bytes + relocation removed from every diagnostic on x86_64.
llvm-svn: 150615
|
| |
|
|
| |
llvm-svn: 150535
|