Richard Trieu
0825469126
Improve the error message for attempting to build a for range loop using a
...
function parameter that has array type. Such a parameter will be treated as
a pointer type instead, resulting in a missing begin function error is a
suggestion to dereference the pointer. This provides a different,
more informative diagnostic as well as point to the parameter declaration.
llvm-svn: 192512
2013-10-11 22:16:04 +00:00
Richard Smith
3249fed9b2
If we find an error in the range expression in a range-based for loop, and the
...
loop variable has a type containing 'auto', set the declaration to be invalid
(because we couldn't deduce its type) to prevent follow-on errors.
llvm-svn: 188853
2013-08-21 01:40:36 +00:00
Larisse Voufo
39a1e507ff
Started implementing variable templates. Top level declarations should be fully supported, up to some limitations documented as FIXMEs or TODO. Static data member templates work very partially. Static data member templates of class templates need particular attention...
...
llvm-svn: 187762
2013-08-06 01:03:05 +00:00
Fariborz Jahanian
eed5e32d41
Fix test better way.
...
llvm-svn: 164234
2012-09-19 16:20:17 +00:00
Fariborz Jahanian
b1885425c4
c: warn when an integer value comparison with an
...
integral expression have the obvious result.
Patch reviewed by John McCall off line.
// rdar://12202422
llvm-svn: 164143
2012-09-18 17:37:21 +00:00
Richard Smith
9a2b7e820c
Don't assume that a valid expression for the first part of a for-statement
...
is non-null when diagnosing a broken attempt to write a for-range-statement.
llvm-svn: 151081
2012-02-21 20:01:35 +00:00
Eli Friedman
87d3280985
A couple minor fixes to template instantiation for for-range loops.
...
llvm-svn: 149440
2012-01-31 22:45:40 +00:00
John McCall
cf6e0c839d
Be sure to emit delayed diagnostics after parsing the declaration
...
of a for-range variable. Fixes PR11793.
llvm-svn: 149109
2012-01-27 01:29:43 +00:00
Richard Smith
9ca5c42582
Update all tests other than Driver/std.cpp to use -std=c++11 rather than
...
-std=c++0x. Patch by Ahmed Charles!
llvm-svn: 141900
2011-10-13 22:29:44 +00:00
Richard Smith
02e85f3bc5
Add support for C++0x's range-based for loops, as specified by the C++11 draft standard (N3291).
...
llvm-svn: 129541
2011-04-14 22:09:26 +00:00