- Jan 14, 2012
-
-
Richard Smith authored
APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants. Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other entrypoints dealing with constant member pointers are no longer necessary and will be removed in a later change. Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to VarDecl::evaluateValue. This performs caching and deals with the nasty cases in C++11 where a non-const object's initializer can refer indirectly to previously-initialized fields within the same object. Building the intermediate APValue object incurs a measurable performance hit on pathological testcases with huge initializer lists, so we continue to build IR directly from the Expr nodes for array and record types outside of C++11. llvm-svn: 148178
-
Anna Zaks authored
data. llvm-svn: 148176
-
Argyrios Kyrtzidis authored
index parameters. llvm-svn: 148169
-
Rafael Espindola authored
With that, centralize the way we merge visibility, always preferring explicit over implicit and then picking the most restrictive one. Fixes pr10113 and pr11690. llvm-svn: 148163
-
Chad Rosier authored
llvm-svn: 148162
-
Argyrios Kyrtzidis authored
that one wants indexing callbacks for function-local symbols as well. llvm-svn: 148160
-
Douglas Gregor authored
get added to the identifier chains as part of deserialization, because they should not be visible to name lookup. llvm-svn: 148159
-
Eli Friedman authored
Progress towards making isUsed() reflect whether a declaration is odr-used; don't set isUsed for local variables which are referenced in unevaluated contexts. Make other code use isReferenced() (which basically indicates that a declaration isn't dead) where appropriate. I was forced to change test/SemaCXX/linkage.cpp because we aren't actually modeling extern "C" in the AST the way that testcase expects; we were not printing a warning only because we skipped the relevant check. Someone who actually understands the semantics here should fix that. llvm-svn: 148158
-
-
Kaelyn Uhrain authored
The change to SemaTemplateVariadic.cpp improves the typo correction results in certain situations, while the change to SemaTemplate.cpp does not change existing behavior. llvm-svn: 148155
-
Douglas Gregor authored
multiple name lookup results in C/Objective-C. Fixes a regression a caused in r147533, found by Enea Zaffanella! llvm-svn: 148154
-
- Jan 13, 2012
-
-
Douglas Gregor authored
framework is actually a subframework within a top-level framework. If so, only infer a module for the top-level framework and then dig out the appropriate submodule. This helps us cope with an amusing subframeworks anti-pattern, where one uses -F <framework>/Frameworks to get direct include access to the subframeworks of a framework (which otherwise would not be permitted). llvm-svn: 148148
-
Anna Zaks authored
memcmp, strncmp,..) out of Sema and into FunctionDecl so that the logic could be reused in the analyzer. llvm-svn: 148142
-
Eli Friedman authored
llvm-svn: 148141
-
Kaelyn Uhrain authored
improving the typo correction results in certain situations. This is also the first typo correction callback conversion to affect an existing unit test. :) llvm-svn: 148140
-
Sebastian Pop authored
Patch from Jyotsna Verma: I have made the changes to remove assertions in the Hexagon backend specific clang driver. Instead of asserting on invalid arch name, it has been modified to use the default value. I have changed the implementation of the CPU flag validation for the Hexagon backend. Earlier, the clang driver performed the check and asserted on invalid inputs. In the new implementation, the driver passes the last CPU flag (or sets to "v4" if not specified) to the compiler (and also to the assembler and linker which perform their own check) instead of asserting on incorrect values. This patch changes the setCPU function for the Hexagon backend in clang/lib/Basic/Targets.cpp which causes the compiler to error out on incorrect CPU flag values. llvm-svn: 148139
-
Sebastian Pop authored
llvm-svn: 148138
-
Sebastian Pop authored
llvm-svn: 148137
-
Richard Smith authored
llvm-svn: 148135
-
Douglas Gregor authored
llvm-svn: 148118
-
Douglas Gregor authored
llvm-svn: 148117
-
Evgeniy Stepanov authored
Gnu hash is not supported by the Android loader. llvm-svn: 148113
-
Jakob Stoklund Olesen authored
llvm-svn: 148095
-
Richard Smith authored
base classes. llvm-svn: 148094
-
Eli Friedman authored
A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751. llvm-svn: 148093
-
Eli Friedman authored
llvm-svn: 148090
-
Eli Friedman authored
A few minor improvements to error recovery trying to access member of a function. In particular, this restores the cool error recovery for the example from http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html , which regressed a few months back. llvm-svn: 148089
-
Richard Smith authored
incomplete return type. llvm-svn: 148088
-
Kaelyn Uhrain authored
objects, and add a basic CorrectionCandidateCallback template class to simplify the fixups. llvm-svn: 148085
-
Douglas Gregor authored
llvm-svn: 148084
-
Douglas Gregor authored
requirement to headers under PrivateHeaders. We don't want to build them as part of the module (yet). llvm-svn: 148082
-
Anna Zaks authored
radar://10686991 llvm-svn: 148081
-
Anna Zaks authored
llvm-svn: 148080
-
Anna Zaks authored
looking up value at a CodeTextRegion even when the type is not provided. llvm-svn: 148079
-
Anna Zaks authored
llvm-svn: 148078
-
Fariborz Jahanian authored
inside a class implementation with parse errors. // rdar://10633434 llvm-svn: 148074
-
Richard Smith authored
- If the declarator is at the start of a line, and the previous line contained another declarator and ended with a comma, then that comma was probably a typo for a semicolon: int n = 0, m = 1, l = 2, // k = 5; myImportantFunctionCall(); // oops! - If removing the parentheses would correctly initialize the object, then produce a note suggesting that fix. - Otherwise, if there is a simple initializer we can suggest which performs value-initialization, then provide a note suggesting a correction to that initializer. Sema::Declarator now tracks the location of the comma prior to the declarator in the declaration, if there is one, to facilitate providing the note. The code to determine an appropriate initializer from the -Wuninitialized warning has been factored out to allow use in both that and -Wvexing-parse. llvm-svn: 148072
-
Eli Friedman authored
Original message: Make sure adding a field to a struct never reduces its size. PR11745. llvm-svn: 148070
-
Eli Friedman authored
llvm-svn: 148068
-
- Jan 12, 2012
-
-
Eli Friedman authored
llvm-svn: 148058
-