- Apr 07, 2012
-
-
Fariborz Jahanian authored
llvm-svn: 154220
-
Douglas Gregor authored
template parameters of pointer, pointer-to-member, or nullptr_t type in C++11. Fixes PR9700 / <rdar://problem/11193097>. llvm-svn: 154219
-
Fariborz Jahanian authored
dictionary literals. This concludes // rdar://10803676 llvm-svn: 154218
-
Ted Kremenek authored
Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that when we generate a new ExplodedNode we use the same Expr* as the one being currently visited. This is preparation for transitioning to having ProgramPoints refer to CFGStmts. This required a bit of trickery. We wish to keep the old Expr* bindings in the Environment intact, as plenty of logic relies on it and there is no reason to change it, but we sometimes want the Stmt* for the ProgramPoint to be different than the Expr* being used for bindings. This requires adding an extra argument for some functions (e.g., evalLocation). This looks a bit strange for some clients, but it will look a lot cleaner when were start using CFGStmt* in the appropriate places. As some fallout, the diagnostics arrows are a bit difference, since some of the node locations have changed. I have audited these, and they look reasonable. llvm-svn: 154214
-
- Apr 06, 2012
-
-
Benjamin Kramer authored
This method is very hot, it is called when emitting diagnostics, in -E mode and for many #pragma handlers. It scans through the whole source file to count newlines, records and caches them in a vector. The speedup from vectorization isn't very large, as we fall back to bytewise scanning when we hit a newline. There might be a way to avoid leaving the sse loop but everything I tried didn't work out because a call to push_back clobbers xmm registers. About 2% speedup on average on "clang -E > /dev/null" of all .cpp files in clang's lib/Sema. llvm-svn: 154204
-
Simon Atanasyan authored
llvm-svn: 154200
-
DeLesley Hutchins authored
Thread safety analysis: downgraded requirement that mutex expressions refer to a lockable type from error to warning. llvm-svn: 154198
-
Fariborz Jahanian authored
expressions. // rdar://10803676 llvm-svn: 154196
-
Simon Atanasyan authored
MIPS: Pass -EB/-EL argument to the assembler according to selected endian when compile for MIPS targets. llvm-svn: 154195
-
Jordy Rose authored
Patch by Sean McBride! llvm-svn: 154194
-
Matt Beaumont-Gay authored
llvm-svn: 154193
-
John McCall authored
global destructor entry. For some reason this isn't enabled for apple-kexts; it'd be good to have documentation for that. Based on a patch by Nakamura Takumi! llvm-svn: 154191
-
John McCall authored
llvm-svn: 154190
-
John McCall authored
the template instantiation of statement-expressions. I think it was jyasskin who had a crashing testcase in this area; hopefully this fixes it and he can find his testcase and check it in. llvm-svn: 154189
-
Jordy Rose authored
llvm-svn: 154188
-
Patrick Beard authored
Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698> llvm-svn: 154187
-
Simon Atanasyan authored
llvm-svn: 154184
-
Chandler Carruth authored
inside of a sysroot targeting a system+sysroot which is "similar" or "compatible" with the host system. This shows up when trying to build system images on largely compatible hardware as-if fully cross compiled. The problem is that previously we *perfectly* mimiced GCC here, and it turns out GCC has a bug that no one has really stumbled across. GCC will try to look in thy system prefix ('/usr/local' f.ex.) into which it is instaled to find libraries installed along side GCC that should be preferred to the base system libraries ('/usr' f.ex.). This seems not unreasonable, but it has a very unfortunate consequence when combined with a '--sysroot' which does *not* contain the GCC installation we're using to complete the toolchain. That results in some of the host system's library directories being searched during the link. Now, it so happens that most folks doing stuff like this use '--with-sysroot' and '--disable-multilib' when configuring GCC. Even better, they're usually not cross-compiling to a target that is similar to the host. As a result, searching the host for libraries doesn't really matter -- most of the time weird directories get appended that don't exist (no arm triple lib directory, etc). Even if you're cross-compiling from 32-bit to 64-bit x86 or vice-versa, disabling multilib makes it less likely that you'll actually find viable libraries on the host. But that's just luck. We shouldn't rely on this, and this patch disables looking in the system prefix containing the GCC installation if that system prefix is *outside* of the sysroot. For empty sysroots, this has no effect. Similarly, when using the GCC *inside* of the sysroot, we still track wherever it is installed within the sysroot and look there for libraries. But now we can use a cross compiler GCC installation outside the system root, and only look for the crtbegin.o in the GCC installation, and look for all the other libraries inside the system root. This should fix PR12478, allowing Clang to be used when building a ChromiumOS image without polluting the image with libraries from the host system. llvm-svn: 154176
-
David Chisnall authored
llvm-svn: 154175
-
DeLesley Hutchins authored
llvm-svn: 154173
-
Simon Atanasyan authored
llvm-svn: 154168
-
David Blaikie authored
llvm-svn: 154164
-
David Blaikie authored
Based on Doug's feedback to r153887 this omits the FixIt if the following token isn't syntactically valid for the context. (not a comma, '...', identifier, '>', or '>>') There's a bunch of work to handle the '>>' case, but it makes for a much more pleasant diagnostic in this case. llvm-svn: 154163
-
Anna Zaks authored
llvm-svn: 154156
-
Richard Smith authored
a namespace alias declaration. llvm-svn: 154138
-
Eli Friedman authored
Implement C90 pedantic warning for duplicate declaration specifiers which are duplicated via a typedef. Patch by Tim Northover. llvm-svn: 154136
-
Eli Friedman authored
Properly implement the C rules for composite types for qualified pointers in conditionals. Patch by Tim Northover. llvm-svn: 154134
-
Fariborz Jahanian authored
declared in its adopted protocol when another category declares it because that category will implement it. // rdar://11186449 llvm-svn: 154132
-
Eric Christopher authored
getter and setter when they're synthesized with the default names. rdar://11179756 llvm-svn: 154130
-
Eric Christopher authored
synthesized ones. Reasonable debug info size reduction for objc. rdar://11179756 llvm-svn: 154129
-
- Apr 05, 2012
-
-
Eli Friedman authored
Make the variant of __builtin_shufflevector that takes the shuffle indexes as a vector actually usable. Patch by David Neto. PR12465. llvm-svn: 154128
-
Ted Kremenek authored
consolidate some commonly used category strings into global references (more of this can be done, I just did a few). Fixes <rdar://problem/11191537>. llvm-svn: 154121
-
Simon Atanasyan authored
to the base class MipsTargetInfoBase. These macros are applicable for both 32/64-bits targets. llvm-svn: 154116
-
Richard Smith authored
a constant expression' error into a DefaultError ExtWarn, so that it can be disabled and is suppressed in system headers. libstdc++4.7 contains some such functions which we currently can't evaluate as constant expressions. llvm-svn: 154115
-
Daniel Dunbar authored
- Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks. llvm-svn: 154105
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 154104
-
Daniel Dunbar authored
llvm-svn: 154103
-
David Blaikie authored
Change suggested by Sebastian Redl on review feedback from r153887. llvm-svn: 154102
-
Ted Kremenek authored
llvm-svn: 154084
-
Ted Kremenek authored
Teach ObjCContainersChecker that the array passed to CFArrayGetValueAtIndex might not be a symbolic value. llvm-svn: 154083
-