- Jun 10, 2011
-
-
Eli Friedman authored
PR10120: Make CodeGenModule::getVTableLinkage use NamedDecl::getLinkage to determine whether the vtable should be externally visible, instead of a rough approximation of it which messes up with templates. While I'm here, zap the other user of isInAnonymousNamespace outside of Decl.cpp. llvm-svn: 132861
-
- Jun 05, 2011
-
-
Douglas Gregor authored
with a type-dependent expression, infer the placeholder type 'Context.DependentTy' to indicate that this is just a placeholder. Fixes PR9982 / <rdar://problem/9486685>. llvm-svn: 132657
-
- May 28, 2011
-
-
Eli Friedman authored
Match llvm-gcc's string literals alignment by forcing alignment on string literals to 1. This can significantly impact the size of the string data, and as far as I know, the alignment doesn't help performance. rdar://9078969 . llvm-svn: 132223
-
- May 25, 2011
-
-
Rafael Espindola authored
llvm-svn: 132034
-
- May 18, 2011
-
-
Fariborz Jahanian authored
llvm-svn: 131499
-
Fariborz Jahanian authored
user specified string class via -fconstant-string-class option. pr9914. llvm-svn: 131496
-
- May 15, 2011
-
-
John McCall authored
types. Also, cache a translation of 'void' in CGM and provide a ptrdiff_t alias. No functionality change. llvm-svn: 131373
-
- May 14, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 131321
-
- May 13, 2011
-
-
Joerg Sonnenberger authored
mangled to avoid doing it twice for platforms that use prefixes like Darwin. llvm-svn: 131311
-
Fariborz Jahanian authored
-fno-constant-cfstrings. Patch by Jonathan Schleifer. llvm-svn: 131298
-
Douglas Gregor authored
constant, also consider whether it's a class type that has any mutable fields. If so, it can't be a global constant. llvm-svn: 131276
-
- May 08, 2011
-
-
Douglas Gregor authored
type, so long as it is known to have a constant initializer and the class type is a POD class. Fixes <rdar://problem/9306265>. llvm-svn: 131060
-
- May 06, 2011
-
-
Alexis Hunt authored
- New isDefined() function checks for deletedness - isThisDeclarationADefinition checks for deletedness - New doesThisDeclarationHaveABody() does what isThisDeclarationADefinition() used to do - The IsDeleted bit is not propagated across redeclarations - isDeleted() now checks the canoncial declaration - New isDeletedAsWritten() does what it says on the tin. - isUserProvided() now correct (thanks Richard!) This fixes the bug that we weren't catching void foo() = delete; void foo() {} as being a redefinition. llvm-svn: 131013
-
Eli Friedman authored
Add an implementation of thunks for varargs methods. The implementation is a bit messy, but it is correct as long as the method in question doesn't use indirect gotos. A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 . llvm-svn: 130993
-
- May 05, 2011
-
-
Richard Smith authored
llvm-svn: 130953
-
Nick Lewycky authored
foo.pic.gcno instead of foo.gcno. llvm-svn: 130899
-
- May 04, 2011
-
-
Nick Lewycky authored
llvm-svn: 130866
-
- Apr 23, 2011
-
-
Francois Pichet authored
Add -fdelayed-template-parsing option. Using this option all templated function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup. Using this flag is necessary for compatibility with Microsoft template code. This also provides some parsing speed improvement. llvm-svn: 130022
-
- Apr 22, 2011
-
-
Nick Lewycky authored
compile time) and .gcda emission (at runtime). --coverage enables both. This does not yet add the profile_rt library to the link step if -fprofile-arcs is enabled when linking. llvm-svn: 129956
-
- Apr 21, 2011
-
-
Jay Foad authored
llvm-svn: 129929
-
- Apr 19, 2011
-
-
Daniel Dunbar authored
llvm-svn: 129823
-
- Apr 13, 2011
-
-
Daniel Dunbar authored
there is no reason to align them higher. - This roughly matches llvm-gcc's r126913. - It is an open question whether or not we should do this for cstring's in general (code size vs optimization potential), for now we just match llvm-gcc until someone wants to run some experiments. llvm-svn: 129410
-
- Apr 12, 2011
-
-
John McCall authored
weak linkage. Also, fix a problem where global weak variables with non-trivial initializers were getting guard variables, or at least were checking for them and then crashing. llvm-svn: 129342
-
John McCall authored
llvm-svn: 129337
-
John McCall authored
for __unknown_anytype resolution to destructively modify the AST. So that's what it does now, which significantly simplifies some of the implementation. Normal member calls work pretty cleanly now, and I added support for propagating unknown-ness through &. llvm-svn: 129331
-
- Apr 09, 2011
-
-
Chris Lattner authored
llvm-svn: 129202
-
- Apr 07, 2011
-
-
John McCall authored
The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will still be valid to access that object as long as you explicitly cast it at every use. I'm still going back and forth about how I want to test this effectively, but I wanted to go ahead and provide a skeletal implementation for the LLDB folks' benefit and because it also improves some diagnostic goodness for placeholder expressions. llvm-svn: 129065
-
- Apr 06, 2011
-
-
Peter Collingbourne authored
llvm-svn: 129000
-
- Mar 26, 2011
-
-
Douglas Gregor authored
platform implies default visibility. To achieve these, refactor our lookup of explicit visibility so that we search for both an explicit VisibilityAttr and an appropriate AvailabilityAttr, favoring the VisibilityAttr if it is present. llvm-svn: 128336
-
- Mar 23, 2011
-
-
Devang Patel authored
Radar 9168773 llvm-svn: 128150
-
Douglas Gregor authored
which versions of an OS provide a certain facility. For example, void foo() __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6))); says that the function "foo" was introduced in 10.2, deprecated in 10.4, and completely obsoleted in 10.6. This attribute ties in with the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that we want to deploy back to Mac OS X 10.1). There are several concrete behaviors that this attribute enables, as illustrated with the function foo() above: - If we choose a deployment target >= Mac OS X 10.4, uses of "foo" will result in a deprecation warning, as if we had placed attribute((deprecated)) on it (but with a better diagnostic) - If we choose a deployment target >= Mac OS X 10.6, uses of "foo" will result in an "unavailable" warning (in C)/error (in C++), as if we had placed attribute((unavailable)) on it - If we choose a deployment target prior to 10.2, foo() is weak-imported (if it is a kind of entity that can be weak imported), as if we had placed the weak_import attribute on it. Naturally, there can be multiple availability attributes on a declaration, for different platforms; only the current platform matters when checking availability attributes. The only platforms this attribute currently works for are "ios" and "macosx", since we already have -mxxxx-version-min flags for them and we have experience there with macro tricks translating down to the deprecated/unavailable/weak_import attributes. The end goal is to open this up to other platforms, and even extension to other "platforms" that are really libraries (say, through a #pragma clang define_system), but that hasn't yet been designed and we may want to shake out more issues with this narrower problem first. Addresses <rdar://problem/6690412>. As a drive-by bug-fix, if an entity is both deprecated and unavailable, we only emit the "unavailable" diagnostic. llvm-svn: 128127
-
- Mar 22, 2011
-
-
David Chisnall authored
Simplify Mac runtime selection - it's the factory function's job to select which class to produce, not CodeGenModule's. llvm-svn: 128109
-
John McCall authored
conditioned on whether it has any destructible ivars, not on whether it has any non-trivial class-object initializers. llvm-svn: 128074
-
- Mar 18, 2011
-
-
Peter Collingbourne authored
add support for the OpenCL __private, __local, __constant and __global address spaces, as well as the __read_only, _read_write and __write_only image access specifiers. Patch originally by ARM; language-specific address space support by myself. llvm-svn: 127915
-
John McCall authored
Issue this as an IR-gen error; it's not really worthwhile doing this "right", i.e. in Sema, because IR gen knows a lot of tricks beyond what the constant evaluator knows. llvm-svn: 127854
-
- Mar 17, 2011
-
-
David Chisnall authored
Remove code that was intentionally generating bad code on the GNU runtime for no reason (failing to emit .cxx_constructor / .cxx_destructor methods). llvm-svn: 127806
-
- Mar 14, 2011
-
-
Rafael Espindola authored
llvm-svn: 127622
-
Rafael Espindola authored
is working around a bug in ld or if the new linker has a reasonable reason for wanting the string constant to be linker visible. llvm-svn: 127594
-
- Mar 09, 2011
-
-
John McCall authored
recomputation. llvm-svn: 127322
-
John McCall authored
simplify the logic of initializing function parameters so that we don't need both a variable declaration and a type in FunctionArgList. This also means that we need to propagate the CGFunctionInfo down in a lot of places rather than recalculating it from the FAL. There's more we can do to eliminate redundancy here, and I've left FIXMEs behind to do it. llvm-svn: 127314
-