History log of /llvm-project/clang/lib/CodeGen/CodeGenModule.cpp (Results 1576 – 1600 of 2157)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a52b1f72 13-May-2011 Fariborz Jahanian <fjahanian@apple.com>

Produce UTF-8 strings with -fconstant-string-class
-fno-constant-cfstrings. Patch by Jonathan Schleifer.

llvm-svn: 131298


# 61226d3f 13-May-2011 Douglas Gregor <dgregor@apple.com>

When determining whether we can make a declaration into a global
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


# 2d1c055e 07-May-2011 Douglas Gregor <dgregor@apple.com>

In C++, allow us to emit a global as 'constant' even if it has class
type, so long as it is known to have a constant initializer and the
class type is a POD class. Fixes <rdar://problem/9306265>.

ll

In C++, allow us to emit a global as 'constant' even if it has class
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

show more ...


# 4a8ea109 06-May-2011 Alexis Hunt <alercah@gmail.com>

Modify some deleted function methods to better reflect reality:

- New isDefined() function checks for deletedness
- isThisDeclarationADefinition checks for deletedness
- New doesThisDeclarationHa

Modify some deleted function methods to better reflect reality:

- 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

show more ...


# 49a94b1c 06-May-2011 Eli Friedman <eli.friedman@gmail.com>

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 alternat

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

show more ...


# 3f1b5d07 05-May-2011 Richard Smith <richard-llvm@metafoo.co.uk>

Implement support for C++0x alias templates.

llvm-svn: 130953


# 85c011dd 05-May-2011 Nick Lewycky <nicholas@mxc.ca>

Preserve the full name of the file, so that '-c -o foo.pic.o' produces
foo.pic.gcno instead of foo.gcno.

llvm-svn: 130899


# 480cb991 04-May-2011 Nick Lewycky <nicholas@mxc.ca>

Record where the GCOV data files should be placed.

llvm-svn: 130866


# 1c229c04 22-Apr-2011 Francois Pichet <pichet2000@gmail.com>

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 al

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

show more ...


# 207bce31 21-Apr-2011 Nick Lewycky <nicholas@mxc.ca>

Wire up the -ftest-coverage and -fprofile-arcs flags to .gcno file emission (at
compile time) and .gcda emission (at runtime). --coverage enables both.

This does not yet add the profile_rt library t

Wire up the -ftest-coverage and -fprofile-arcs flags to .gcno file emission (at
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

show more ...


# ea324f15 21-Apr-2011 Jay Foad <jay.foad@gmail.com>

PR9214: Convert Metadata API to use ArrayRef.

llvm-svn: 129929


# 14ad22f0 19-Apr-2011 Daniel Dunbar <daniel@zuster.org>

ADT/Triple: Switch to using .isOSDarwin() predicate.

llvm-svn: 129823


# 9c8cd4c0 12-Apr-2011 Daniel Dunbar <daniel@zuster.org>

IRgen/Obj-C: Emit CFStrings and NSStrings with the alignment of the char type,
there is no reason to align them higher.
- This roughly matches llvm-gcc's r126913.
- It is an open question whether o

IRgen/Obj-C: Emit CFStrings and NSStrings with the alignment of the char type,
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

show more ...


# a97f3298 12-Apr-2011 John McCall <rjmccall@apple.com>

Template static data members can have weak_odr linkage, not just
weak linkage. Also, fix a problem where global weak variables
with non-trivial initializers were getting guard variables, or at
least

Template static data members can have weak_odr linkage, not just
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

show more ...


# 32f44bd0 12-Apr-2011 John McCall <rjmccall@apple.com>

Ignore indirect field declarations. Fixes PR9570.

llvm-svn: 129337


# 2979fe01 12-Apr-2011 John McCall <rjmccall@apple.com>

After some discussion with Doug, we decided that it made a lot more sense
for __unknown_anytype resolution to destructively modify the AST. So that's
what it does now, which significantly simplifies

After some discussion with Doug, we decided that it made a lot more sense
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

show more ...


# e4ec5abf 09-Apr-2011 Chris Lattner <sabre@nondot.org>

fix indentation

llvm-svn: 129202


# 31996343 07-Apr-2011 John McCall <rjmccall@apple.com>

Basic, untested implementation for an "unknown any" type requested by LLDB.
The idea is that you can create a VarDecl with an unknown type, or a
FunctionDecl with an unknown return type, and it will

Basic, untested implementation for an "unknown any" type requested by LLDB.
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

show more ...


Revision tags: llvmorg-2.9.0
# eafa4e4b 06-Apr-2011 Peter Collingbourne <peter@pcc.me.uk>

If this is an intrinsic function, set the function's attributes to the intrinsic's attributes.

llvm-svn: 129000


Revision tags: llvmorg-2.9.0-rc3
# 1baf38f5 26-Mar-2011 Douglas Gregor <dgregor@apple.com>

On Mac OS X, the presence of an 'availability' attribute for that
platform implies default visibility. To achieve these, refactor our
lookup of explicit visibility so that we search for both an expli

On Mac OS X, the presence of an 'availability' attribute for that
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

show more ...


Revision tags: llvmorg-2.9.0-rc2
# 945b8aed 23-Mar-2011 Devang Patel <dpatel@apple.com>

Update type cache when a type is completed.
Radar 9168773

llvm-svn: 128150


# 20b2ebd7 23-Mar-2011 Douglas Gregor <dgregor@apple.com>

Implement a new 'availability' attribute, that allows one to specify
which versions of an OS provide a certain facility. For example,

void foo()
__attribute__((availability(macosx,introduced=10.

Implement a new 'availability' attribute, that allows one to specify
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

show more ...


# 067f0ed4 22-Mar-2011 David Chisnall <csdavec@swan.ac.uk>

Simplify Mac runtime selection - it's the factory function's job to select which class to produce, not CodeGenModule's.

llvm-svn: 128109


# 6a4fa52b 22-Mar-2011 John McCall <rjmccall@apple.com>

The emission of an Objective-C++'s class .cxx_destruct method should be
conditioned on whether it has any destructible ivars, not on whether
it has any non-trivial class-object initializers.

llvm-sv

The emission of an Objective-C++'s class .cxx_destruct method should be
conditioned on whether it has any destructible ivars, not on whether
it has any non-trivial class-object initializers.

llvm-svn: 128074

show more ...


# 599cb8e4 18-Mar-2011 Peter Collingbourne <peter@pcc.me.uk>

Add support for language-specific address spaces. On top of that,
add support for the OpenCL __private, __local, __constant and
__global address spaces, as well as the __read_only, _read_write and
_

Add support for language-specific address spaces. On top of that,
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

show more ...


1...<<61626364656667686970>>...87