- Sep 16, 2010
-
-
Ted Kremenek authored
Fixes <rdar://problem/8436021>. llvm-svn: 114049
-
Ted Kremenek authored
are expanded from macros (and if so, omit the warning). Previously we were just looking at the location of the binary expression. Fixes <rdar://problem/8435950>. llvm-svn: 114044
-
Douglas Gregor authored
narrow, almost useless case where we're inside a parenthesized expression, e.g., (NSArray alloc]) The solution to the general case still eludes me. llvm-svn: 114039
-
- Sep 15, 2010
-
-
Douglas Gregor authored
'[' is missing. Prior commits improving recovery also improved code completion beyond the first selector, e.g., at or after the "to" in calculator add:x to:y but not after "calculator". We now provide the same completions for calculator <CC> that we would for [calculator <CC> if "calculator" is an expression whose type is something that can receive Objective-C messages. This code completion works for instance and super message sends, but not class message sends. llvm-svn: 113976
-
Douglas Gregor authored
part of parser recovery. For example, given: a method1:arg]; we detect after parsing the expression "a" that we have the start of a message send expression. We pretend we've seen a '[' prior to the a, then parse the remainder as a message send. We'll then give a diagnostic+fix-it such as: fixit-objc-message.m:17:3: error: missing '[' at start of message send expression a method1:arg]; ^ [ The algorithm here is very simple, and always assumes that the open bracket goes at the beginning of the message send. It also only works for non-super instance message sends at this time. llvm-svn: 113968
-
John McCall authored
slot. The easiest way to do that was to bundle up the information we care about for aggregate slots into a new structure which demands that its creators at least consider the question. I could probably be convinced that the ObjC 'needs GC' bit should be rolled into this structure. Implement generalized copy elision. The main obstacle here is that IR-generation must be much more careful about making sure that exactly llvm-svn: 113962
-
Francois Pichet authored
- in union - as the only element of a struct/class. llvm-svn: 113909
-
Douglas Gregor authored
expression, e.g., after the '(' that could also be a type cast. Here, we provide types as code-completion results in C/Objective-C (C++ already had them), although we wouldn't in a normal expression context. llvm-svn: 113904
-
Sebastian Redl authored
llvm-svn: 113897
-
Fariborz Jahanian authored
copy initialization before passing it to a setter. Fixes radar 8427922. llvm-svn: 113885
-
Douglas Gregor authored
"used", at the time that the default argument itself is used, also mark destructors that will be called by this expression. This fixes a regression that I introduced in r113700, which broke WebKit, and fixes <rdar://problem/8427926>. llvm-svn: 113883
-
- Sep 14, 2010
-
-
John McCall authored
placement 'operator delete', even if there are no placement args (i.e. overload resolution selected an operator new with default arguments). llvm-svn: 113861
-
Michael J. Spencer authored
This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt llvm-svn: 113817
-
Sebastian Redl authored
llvm-svn: 113796
-
Sebastian Redl authored
Remove CXXRecordDecl::getDefaultConstructor(), an inherently unsafe function due to lazy declaration of default constructors. Now that __has_nothrow_constructor doesn't use it anymore, part of PR8101 is fixed. llvm-svn: 113794
-
- Sep 13, 2010
-
-
Sebastian Redl authored
Have __has_nothrow_copy use Sema's lookup routines. This fixes the problem with not finding implicitly declared copy constructors, part of PR8107. llvm-svn: 113784
-
Sebastian Redl authored
Eagerly evaluate type traits in Sema instead of lazily in AST. They actually need Sema access to be correct, fixes coming up. llvm-svn: 113782
-
Argyrios Kyrtzidis authored
When applying 'delete' on a pointer-to-array type match GCC and EDG behavior and treat it as 'delete[]'. Also offer a fix-it hint adding '[]'. llvm-svn: 113778
-
Douglas Gregor authored
llvm-svn: 113754
-
Abramo Bagnara authored
llvm-svn: 113740
-
Abramo Bagnara authored
llvm-svn: 113739
-
- Sep 12, 2010
-
-
Douglas Gregor authored
function fails due to ambiguities in partial ordering of function templates. Fixes PR8033. llvm-svn: 113725
-
Douglas Gregor authored
sequences for two conversion functions when in fact we are in the text of initialization by a user-defined conversion sequences. Fixes PR8034. llvm-svn: 113724
-
Douglas Gregor authored
members) with function type. Fixes PR8047. llvm-svn: 113723
-
Douglas Gregor authored
they were instantiated from a template. In template metaprogramming, stuff happens. Fixes PR8065. llvm-svn: 113722
-
Douglas Gregor authored
error to a warning if we're in a case that would be allowed in C++0x. This "fixes" PR8084 by making Clang accept more code than GCC and (non-strict) EDG do. Also, add the missing test case for the C++0x semantics, which should have been in r113717. llvm-svn: 113718
-
Douglas Gregor authored
restrictions on out-of-line specializations to allow them anywhere in an enclosing context. Motivated by PR8084. llvm-svn: 113717
-
Francois Pichet authored
Assigning an underlying integral type to an enum forward declaration will come in a next patch. llvm-svn: 113716
-
Douglas Gregor authored
be a semantic requirement that a built-in overloaded operator is not added to the overload set of there is already a user-defined overloaded operator with the same parameter types. Fixes PR8087. llvm-svn: 113713
-
Douglas Gregor authored
type. Fixes PR8089 in a slightly different way than had been suggested. llvm-svn: 113711
-
Douglas Gregor authored
declarations in potentially-evaluated subexpressions, about recursion. Fixes the release-mode self-host failure I introduced in r113700. llvm-svn: 113708
-
- Sep 11, 2010
-
-
Douglas Gregor authored
used in the default function argument as "used". Instead, when we actually use the default argument, make another pass over the expression to mark any used declarations as "used" at that point. This addresses two kinds of related problems: 1) We were marking some declarations "used" that shouldn't be, because we were marking them too eagerly. 2) We were failing to mark some declarations as "used" when we should, if the first time it was instantiated happened to be an unevaluated context, we wouldn't mark them again at a later point. I've also added a potentially-handy visitor class template EvaluatedExprVisitor, which only visits the potentially-evaluated subexpressions of an expression. I bet this would have been useful for noexcept... Fixes PR5810 and PR8127. llvm-svn: 113700
-
John McCall authored
llvm-svn: 113663
-
- Sep 10, 2010
-
-
Sebastian Redl authored
llvm-svn: 113642
-
Michael J. Spencer authored
of whatever we were using before... llvm-svn: 113631
-
Sebastian Redl authored
llvm-svn: 113623
-
Sebastian Redl authored
llvm-svn: 113622
-
Fariborz Jahanian authored
follows objective's semantics and is not overload'able with an assignment operator. Fixes a crash and a missing diagnostics. Radar 8379892. llvm-svn: 113555
-
- Sep 09, 2010
-
-
Douglas Gregor authored
constructor, in source order. Also introduces a new reference kind for class members, which is used here (for member initializers) and will also be used for designated initializers and offsetof. llvm-svn: 113545
-
Douglas Gregor authored
eliminating an unnecessary use of TemporaryBase in the process. llvm-svn: 113500
-