- Jun 28, 2012
-
-
Rafael Espindola authored
the correct this pointer. There is some potential for sharing a bit more code with canDevirtualizeMemberFunctionCalls, but that can be done in an independent patch. llvm-svn: 159326
-
Eric Christopher authored
llvm-svn: 159321
-
Bill Wendling authored
llvm-svn: 159315
-
- Jun 27, 2012
-
-
Eli Friedman authored
llvm-svn: 159295
-
Rafael Espindola authored
being updated. Will fix that in a second. llvm-svn: 159280
-
- Jun 26, 2012
-
-
Rafael Espindola authored
the member expression is qualified, call the method specified in the code, not the most derived one we can find. llvm-svn: 159219
-
Rafael Espindola authored
to see if we had an underlying final class or method, but we would then use the cast type to do the call, resulting in a direct call to the wrong method. llvm-svn: 159212
-
Fariborz Jahanian authored
literal helper functions. All helper functions (global and locals) use block_invoke as their prefix. Local literal helper names are prefixed by their enclosing mangled function names. Blocks in non-local initializers (e.g. a global variable or a C++11 field) are prefixed by their mangled variable name. The descriminator number added to end of the name starts off with blank (for first block) and _<N> (for the N+2-th block). llvm-svn: 159206
-
Kostya Serebryany authored
llvm-svn: 159191
-
Manman Ren authored
Revert r136662 which disables ARM byval. llvm-svn: 159168
-
- Jun 24, 2012
-
-
Charles Davis authored
llvm-svn: 159091
-
- Jun 23, 2012
-
-
Hans Wennborg authored
This adds support for the tls_model attribute. This allows the user to choose a TLS model that is better than what LLVM would select by default. For example, a variable might be declared as: __thread int x __attribute__((tls_model("initial-exec"))); if it will not be used in a shared library that is dlopen'ed. This depends on LLVM r159077. llvm-svn: 159078
-
Nico Weber authored
Heavily based on a patch from Aaron Wishnick <aaron.s.wishnick@gmail.com>. I'll clean up the duplicated function in CodeGen as a follow-up, later today or tomorrow. llvm-svn: 159060
-
- Jun 22, 2012
-
-
Nuno Lopes authored
revert CodeGen support for the alloc_size attribute until we finish the design of a more generic metadata node llvm-svn: 159016
-
James Dennett authored
llvm-svn: 158982
-
James Dennett authored
llvm-svn: 158974
-
- Jun 21, 2012
-
-
Chandler Carruth authored
express library-level dependencies within Clang. This is no more verbose really, and plays nicer with the rest of the CMake facilities. It should also have no change in functionality. llvm-svn: 158888
-
- Jun 20, 2012
-
-
Chad Rosier authored
error was asserting on anything that included Windows.h. MS-style inline asm is still dropped, but at least now we're not completely silent about it. llvm-svn: 158833
-
Benjamin Kramer authored
CreateEnumType doesn't participate in caching so the descriptor for the enum gets recomputed for every reference of an element of an enum, only to get discarded when it gets turned into an MDNode. No functionality change except performance. llvm-svn: 158832
-
Chad Rosier authored
llvm-svn: 158830
-
John McCall authored
target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. llvm-svn: 158793
-
James Dennett authored
llvm-svn: 158778
-
- Jun 19, 2012
-
-
Fariborz Jahanian authored
initializer need be null initialized before initializer takes hold, just like any other initialized retainable object pointer. // rdar://11016025 llvm-svn: 158738
-
Rafael Espindola authored
option. On the driver, check if we are using libraries from gcc 4.7 or newer and if so pass -fuse-init-array to the frontend. The crtbegin*.o files in gcc 4.7 no longer call the constructors listed in .ctors, so we have to use .init_array. llvm-svn: 158694
-
- Jun 18, 2012
-
-
Michael J. Spencer authored
__forceinline is a combination of the inline keyword and __attribute__((always_inline)) llvm-svn: 158653
-
- Jun 16, 2012
-
-
Eli Friedman authored
Fix Sema and IRGen for atomic compound assignment so it has the right semantics when promotions are involved. (As far as I can tell, this only affects some edge cases.) llvm-svn: 158591
-
Eli Friedman authored
Make the ".*" operator work correctly when the base is a prvalue and the field has a non-trivial copy constructor. PR13097. llvm-svn: 158578
-
James Dennett authored
* Escaped Objective-C @keywords in Doxygen comments; * Documented more accurate \params; * Exposed some more summaries using \brief. llvm-svn: 158559
-
- Jun 15, 2012
-
-
James Dennett authored
llvm-svn: 158511
-
James Dennett authored
llvm-svn: 158501
-
John McCall authored
semantics of a ctor/dtor function-try-block catch handler by pushing a normal cleanup is not just overkill but actually actively wrong when the handler contains an explicit return (which is only legal in a dtor). Just emit the rethrow as ordinary code at the fallthrough point. Fixes PR13102. llvm-svn: 158488
-
- Jun 14, 2012
-
-
James Dennett authored
This reduces the number of warnings generated by Doxygen by about 100 (roughly 10%). Issues addressed: (1) Primarily, backslash-escaped "@foo" and "#bah" in Doxygen comments when they're not supposed to be Doxygen commands or links, and similarly for "<baz>" when it's not intended as as HTML tag; (2) Changed some \t commands (which don't exist) to \c ("to refer to a word of code", as the Doxygen manual says); (3) \precondition becomes \pre; (4) When touching comments, deleted a couple of spurious spaces in them; (5) Changed some \n and \r to \\n and \\r; (6) Fixed one tiny typo: #pragms -> #pragma. This patch touches documentation/comments only. llvm-svn: 158422
-
- Jun 12, 2012
-
-
Bill Wendling authored
llvm-svn: 158353
-
- Jun 11, 2012
-
-
Chad Rosier authored
assembly is completely untested and unsupported. llvm-svn: 158329
-
Chad Rosier authored
llvm-svn: 158325
-
James Dennett authored
such as "protocol" and "expression" being implicitly turned into links to mistakenly-generated Doxygen pages: - Escaping @ symbols when Doxygen would otherwise incorrectly interpret them; - Escaping # symbols when they're not intended as explicit Doxygen link requests, such as when discussing preprocessor directives; - In one odd case, unescaping @ in @__experimental_modules_import, because Doxygen wrote '\@' to the output in that case, causing the example in the description of ImportDecl to be wrong; and - Fixing a typo: @breif -> @brief. llvm-svn: 158299
-
- Jun 10, 2012
-
-
Richard Smith authored
initialization, and use that information to produce the right kind of initialization during template instantiation. llvm-svn: 158288
-
- Jun 09, 2012
-
-
Michael J. Spencer authored
While this code is valid C++98, it is not valid C++11. The problem can be reduced to: class MDNode; class DIType { operator MDNode*() const {return 0;} }; class WeakVH { WeakVH(MDNode*) {} }; int main() { DIType di; std::pair<void*, WeakVH> p(std::make_pair((void*)0, di))); } This was not detected by any of the bots we have because they either compile C++98 with libstdc++ (which allows it), or C++11 with libc++ (which incorrectly allows it). I ran into the problem when compiling with VS 2012 RC. Thanks to Richard for explaining the issue. llvm-svn: 158245
-
- Jun 07, 2012
-
-
Fariborz Jahanian authored
// rdar://11485774 llvm-svn: 158157
-
Fariborz Jahanian authored
sure to emit vla size to prevent an irgen crash. // rdar://11485774 llvm-svn: 158153
-