Eli Friedman
c7c97144af
Stub out the Sema interface for lambda expressions, and change the parser to use it. Unconditionally error on lambda expressions because they don't work in any meaningful way yet.
...
llvm-svn: 147515
2012-01-04 02:40:39 +00:00
Richard Smith
fe2750db42
Add -Wc++98-compat diagnostics for jumps which bypass initialization of non-POD
...
but trivially constructible and destructible variables in C++11 mode. Also
incidentally improve the precision of the wording for jump diagnostics in C++98
mode.
llvm-svn: 142619
2011-10-20 21:42:12 +00:00
Richard Smith
91c7bbde4b
Add -Wc++98-compat warning for enumerations in nested name specifiers.
...
llvm-svn: 142568
2011-10-20 03:28:47 +00:00
Richard Smith
f720df0ed6
-Wc++98-compat: warn on nontrivial types used in unions and anonymous structs.
...
llvm-svn: 142541
2011-10-19 20:41:51 +00:00
Richard Smith
c620f554b9
-Wc++98-compat: diagnose if a reference is bound to a prvalue which does not
...
have an unambiguous accessible copying constructor; this is ill-formed in C++98.
llvm-svn: 142533
2011-10-19 16:55:56 +00:00
Richard Smith
a066ccfcf1
Add a -Wc++98-compat warning for friend functions of class templates which would
...
be implicitly instantiated (resulting in a redefinition) in C++98.
llvm-svn: 142468
2011-10-19 00:54:10 +00:00
Richard Smith
38c0e0417c
-Wc++98-compat: warn if a SFINAE substitution in C++11 suppresses an access
...
control diagnostic.
llvm-svn: 142463
2011-10-19 00:07:01 +00:00
Richard Smith
c82397332d
-Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 2.
...
llvm-svn: 142426
2011-10-18 21:39:00 +00:00
Richard Smith
0bf8a492fd
-Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 1.
...
llvm-svn: 142419
2011-10-18 20:49:44 +00:00
Richard Smith
b15c11c819
Add -Wc++98-compat warnings for uses of the new keywords 'alignof', 'char16_t',
...
'char32_t', 'constexpr', 'decltype', 'noexcept', 'nullptr' and 'static_assert'.
llvm-svn: 142302
2011-10-17 23:06:20 +00:00
Richard Smith
e41fac231c
Add -Wc++98-compat warning for deduced 'auto' type specifier.
...
llvm-svn: 142057
2011-10-15 05:42:01 +00:00
Richard Smith
5d164bc5e0
Implement -Wc++98-compat warnings for the parser.
...
llvm-svn: 142056
2011-10-15 05:09:34 +00:00
Richard Smith
acd4d3d52a
-Wc++98-compat warnings for the lexer.
...
This also adds a -Wc++98-compat-pedantic for warning on constructs which would
be diagnosed by -std=c++98 -pedantic (that is, it warns even on C++11 features
which we enable by default, with no warning, in C++98 mode).
llvm-svn: 142034
2011-10-15 01:18:56 +00:00
Richard Smith
f679b5b6a6
-Wc++98-compat: warn on C++11 attributes and alignas.
...
llvm-svn: 141999
2011-10-14 20:48:27 +00:00
Richard Smith
2b6b0ee6d1
Test for r141985.
...
llvm-svn: 141998
2011-10-14 20:41:13 +00:00
Jeffrey Yasskin
de8a104633
Revert the -Wc++98-compat flag because dgregor doesn't like it.
...
llvm-svn: 141921
2011-10-14 00:04:00 +00:00
Richard Smith
465f069b93
Convert newly-added test from -std=c++0x to -std=c++11.
...
llvm-svn: 141904
2011-10-13 22:45:21 +00:00
Jeffrey Yasskin
a722170eb9
Implement the first piece of a -Wc++98-compat flag so that people can build in
...
C++11 mode but keep their sources compatible with C++98. This patch implements
the -Wc++98-compat-variadic-templates sub-flag and -Wc++98-compat to include
it.
llvm-svn: 141898
2011-10-13 22:18:05 +00:00