| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
instead of silently discarding them.
As a side effect, this improves diagnostics for constexpr class
templates slightly.
llvm-svn: 142755
|
| |
|
|
|
|
| |
ivars in class extensions. // rdar://10309454
llvm-svn: 142664
|
| |
|
|
|
|
|
|
| |
be sure to consider all of the possible lookup results. We were
assert()'ing (but behaving correctly) for unresolved values. Fixes
PR11134 / <rdar://problem/10290422>.
llvm-svn: 142652
|
| |
|
|
| |
llvm-svn: 142649
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
the anonymous union as valid: our fixes have Fix-Its.
llvm-svn: 142616
|
| |
|
|
|
|
|
|
| |
shadows a template parameter. Complain about the shadowing (or not,
under -fms-extensions), but don't invalidate the declaration. Merely
forget about the template parameter declaration.
llvm-svn: 142596
|
| |
|
|
| |
llvm-svn: 142566
|
| |
|
|
| |
llvm-svn: 142565
|
| |
|
|
|
|
| |
already there)
llvm-svn: 142552
|
| |
|
|
|
|
| |
classes.
llvm-svn: 142551
|
| |
|
|
| |
llvm-svn: 142541
|
| |
|
|
| |
llvm-svn: 142478
|
| |
|
|
|
|
| |
Lack of half FP was a regression compared to llvm-gcc.
llvm-svn: 142016
|
| |
|
|
|
|
|
| |
attribute from the first declaration to later declarations. Fixes
<rdar://problem/10142572>.
llvm-svn: 141957
|
| |
|
|
|
|
|
| |
within the template parameter list that may have changed now that we
know the current instantiation. Fixes <rdar://problem/10194295>.
llvm-svn: 141954
|
| |
|
|
|
|
| |
the same behavior of gcc by keeping the attribute out of the function type.
llvm-svn: 141803
|
| |
|
|
|
|
| |
warning at function prototype scope.
llvm-svn: 141630
|
| |
|
|
|
|
|
|
| |
The main motivation was to do typo correction in C++ "new" statements,
though picking it up in other places where type names are expected was
pretty much a freebie.
llvm-svn: 141621
|
| |
|
|
| |
llvm-svn: 141612
|
| |
|
|
| |
llvm-svn: 141611
|
| |
|
|
| |
llvm-svn: 141610
|
| |
|
|
| |
llvm-svn: 141609
|
| |
|
|
|
|
|
|
|
|
|
| |
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert
behaviour.
- Factor out evaluation of bitfield bit widths.
- Fix a few places which would evaluate an expression twice: once to determine
whether it is a constant expression, then again to get the value.
llvm-svn: 141561
|
| |
|
|
| |
llvm-svn: 141555
|
| |
|
|
|
|
|
| |
redeclaration contexts are the same, as occurs within linkage
specifications. Fixes PR9162.
llvm-svn: 141521
|
| |
|
|
|
|
| |
template arguments are dependent. Fixes PR10913.
llvm-svn: 141515
|
| |
|
|
|
|
| |
non-identifier name. Fixes PR10839.
llvm-svn: 141513
|
| |
|
|
|
|
|
| |
for better self-documenting code, since the semantics
are subtly different from getDefinition().
llvm-svn: 141355
|
| |
|
|
|
|
|
|
| |
unavailable;
only give an 'unavailable' error on the @implementation of the category. rdar://10234078
llvm-svn: 141335
|
| |
|
|
|
|
|
|
| |
interface/implementation
don't emit unavailable errors.
llvm-svn: 141334
|
| |
|
|
|
|
|
|
| |
committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic.
Thanks to Jeffrey Yasskin for the thorough review!
llvm-svn: 141330
|
| |
|
|
|
|
| |
initializer if the in-class declaration had one. Such a declaration must be initialized by a constant expression.
llvm-svn: 141279
|
| |
|
|
|
|
|
|
|
| |
which enables support for C99 storage-class specifiers.
This extension is intended to be used by implementations to implement
OpenCL C built-in functions.
llvm-svn: 141271
|
| |
|
|
|
|
| |
functions. // rdar://10186536
llvm-svn: 141037
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of always storing all source locations for the selector identifiers
we check whether all the identifiers are in a "standard" position; "standard" position is
-Immediately before the arguments: -(id)first:(int)x second:(int)y;
-With a space between the arguments: -(id)first: (int)x second: (int)y;
-For nullary selectors, immediately before ';': -(void)release;
In such cases we infer the locations instead of storing them.
llvm-svn: 140989
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
part on patches by Peter Collingbourne.
We diverge from the C++11 standard in a few areas, mostly related to checking
constexpr function declarations, and not just definitions. See WG21 paper
N3308=11-0078 for details.
Function invocation substitution is not available in this patch; constexpr
functions cannot yet be used from within constant expressions.
llvm-svn: 140926
|
| |
|
|
| |
llvm-svn: 140894
|
| |
|
|
|
|
|
|
|
|
|
| |
CoreFoundation object-transfer properties audited, and add a #pragma
to cause them to be automatically applied to functions in a particular
span of code. This has to be implemented largely in the preprocessor
because of the requirement that the region be entirely contained in
a single file; that's hard to impose from the parser without registering
for a ton of callbacks.
llvm-svn: 140846
|
| |
|
|
|
|
| |
for static const float members is used in C++11 mode.
llvm-svn: 140828
|
| |
|
|
|
|
| |
as a GNU extension. Don't extend the scope of this extension to all literal types in C++0x mode.
llvm-svn: 140820
|
| |
|
|
| |
llvm-svn: 140809
|
| |
|
|
|
|
| |
We had an extension which allowed const static class members of floating-point type to have in-class initializers, 'as a C++0x extension'. However, C++0x does not allow this. The extension has been kept, and extended to all literal types in C++0x mode (with a fixit to add the 'constexpr' specifier).
llvm-svn: 140801
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm[1]: Compiling CommandLine.cpp for Debug+Asserts build
if /Users/void/llvm/llvm-opt.obj/Release+Asserts/bin/clang++ -I/Users/void/llvm/llvm.obj/include -I/Users/void/llvm/llvm.obj/lib/Support -I/Users/void/llvm/llvm.src/include -I/Users/void/llvm/llvm.src/lib/Support -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -g -fno-exceptions -fno-common -Woverloaded-virtual -Wcast-qual -m64 -Wall -W -Wno-unused-parameter -Wwrite-strings -c -MMD -MP -MF "/Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.d.tmp" -MT "/Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.o" -MT "/Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.d" /Users/void/llvm/llvm.src/lib/Support/CommandLine.cpp -o /Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.o ; \
then /bin/mv -f "/Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.d.tmp" "/Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.d"; else /bin/rm "/Users/void/llvm/llvm.obj/lib/Support/Debug+Asserts/CommandLine.d.tmp"; exit 1; fi
In file included from /Users/void/llvm/llvm.src/lib/Support/CommandLine.cpp:25:
/Users/void/llvm/llvm.src/include/llvm/Support/system_error.h:690:14: error: unknown type name 'make_error_condition'; did you mean 'error_condition'?
{*this = make_error_condition(_e);}
^~~~~~~~~~~~~~~~~~~~
error_condition
...
llvm-svn: 140599
|
| |
|
|
| |
llvm-svn: 140589
|
| |
|
|
| |
llvm-svn: 140478
|
| |
|
|
| |
llvm-svn: 140407
|
| |
|
|
|
|
|
|
| |
merging for overrides. One might want to make a method's availability
in a superclass different from that of its subclass. Fixes
<rdar://problem/10166223>.
llvm-svn: 140406
|
| |
|
|
| |
llvm-svn: 140367
|
| |
|
|
| |
llvm-svn: 140293
|