History log of /llvm-project-15.0.7/clang/lib/CodeGen/CodeGenModule.cpp (Results 1626 – 1650 of 1864)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# eb7466d2 12-May-2009 Chris Lattner <[email protected]>

cleanups, no functionality change.

llvm-svn: 71590


# e7834115 12-May-2009 Chris Lattner <[email protected]>

revert my previous patch, I committed the wrong file.

llvm-svn: 71585


# cd74ffa3 12-May-2009 Chris Lattner <[email protected]>

static methods don't get this pointers.

llvm-svn: 71583


# 36797ab2 05-May-2009 Chris Lattner <[email protected]>

When defining a function whose type has no prototype, make an effort
to go back and clean up existing uses of the bitcasted function. This
is not just an optimization: it is required for correctness

When defining a function whose type has no prototype, make an effort
to go back and clean up existing uses of the bitcasted function. This
is not just an optimization: it is required for correctness to get
always inline functions to work, see testcases in function-attributes.c.

llvm-svn: 70971

show more ...


# dae1abc7 05-May-2009 Anders Carlsson <[email protected]>

Refactor global decls to hold either a regular Decl or a CXXConstructorDecl + ctor type or a CXXDestructorDecl + dtor type.

llvm-svn: 70962


# 5a3b1b0f 03-May-2009 Eli Friedman <[email protected]>

Fix comment to account for r70786.

llvm-svn: 70789


# c0042d80 03-May-2009 Eli Friedman <[email protected]>

PR4133: fix always_inline implementation to be consistent with gcc.

llvm-svn: 70786


# 76fe50c6 28-Apr-2009 Douglas Gregor <[email protected]>

Improve compatibility with GCC regarding inline semantics in GNU89
mode and in the presence of __gnu_inline__ attributes. This should fix
both PR3989 and PR4069.

As part of this, we now keep track o

Improve compatibility with GCC regarding inline semantics in GNU89
mode and in the presence of __gnu_inline__ attributes. This should fix
both PR3989 and PR4069.

As part of this, we now keep track of all of the attributes attached
to each declaration even after we've performed declaration
merging. This fixes PR3264.

llvm-svn: 70292

show more ...


# 89c8e000 23-Apr-2009 Douglas Gregor <[email protected]>

Fix handling of C99 "extern inline" semantics when dealing with
multiple declarations of the function. Should fix PR3989 and
<rdar://problem/6818429>.

llvm-svn: 69905


# 29bd76fd 23-Apr-2009 Douglas Gregor <[email protected]>

Eliminate the three SmallVectors in ObjCImplDecl (for instance
methods, class methods, and property implementations) and instead
place all of these entities into the DeclContext.

This eliminates mor

Eliminate the three SmallVectors in ObjCImplDecl (for instance
methods, class methods, and property implementations) and instead
place all of these entities into the DeclContext.

This eliminates more linear walks when looking for class or instance
methods and should make PCH (de-)serialization of ObjCDecls trivial
(and lazy).

llvm-svn: 69849

show more ...


# 7d4e1c5e 22-Apr-2009 Daniel Dunbar <[email protected]>

Don't convert interface types (to structs) as part of CodeGenTypes.
- This has pros and cons, but for now the pros seem to significantly
outway the con.

The con is that we will always need to ca

Don't convert interface types (to structs) as part of CodeGenTypes.
- This has pros and cons, but for now the pros seem to significantly
outway the con.

The con is that we will always need to cast in the runtime
implementation to a struct type, if we wish to access an interface
directly.

The pros are:
- Avoid the cost of generating types which are used. Most
manipulation of Objective-C objects is done through messages, and
only the implementation of a class will directly access
memory. Previously, we would convert the type even if it only
appear as a function parameter, for example.

- We don't need to worry about incomplete types, and
UpdateCompletedType for interfaces is gone.

- It becomes easier to narrow the interface to the shadow struct for
Objective-C interfaces (so it can be eliminated).

Currently the runtimes still use the CodeGenTypes machinery to
generate the LLVM structure they need via ConvertTagDecl, but this can
eventually be replaced.

llvm-svn: 69797

show more ...


# f8dc0736 22-Apr-2009 Chris Lattner <[email protected]>

Fix some mishandling of the attr(gnu_inline) mode when used with
extern. Previously we would warn about it and ignore the attribute.
This is incorrect, it should be handled as a c89 "extern inline"

Fix some mishandling of the attr(gnu_inline) mode when used with
extern. Previously we would warn about it and ignore the attribute.
This is incorrect, it should be handled as a c89 "extern inline"
function. Many thanks to Matthieu Castet for pointing this out and
beating me over the head until I got it.

PR3988: extern inline function are not externally visible
llvm-svn: 69756

show more ...


# fa9ab53d 21-Apr-2009 Douglas Gregor <[email protected]>

Fix emission of static tentative definitions referenced from other static functions

llvm-svn: 69699


# beecd58e 21-Apr-2009 Douglas Gregor <[email protected]>

Explictly track tentative definitions within Sema, then hand those
tentative definitions off to the ASTConsumer at the end of the
translation unit.

Eliminate CodeGen's internal tracking of tentativ

Explictly track tentative definitions within Sema, then hand those
tentative definitions off to the ASTConsumer at the end of the
translation unit.

Eliminate CodeGen's internal tracking of tentative definitions, and
instead hook into ASTConsumer::CompleteTentativeDefinition. Also,
tweak the definition-deferal logic for C++, where there are no
tentative definitions.

Fixes <rdar://problem/6808352>, and will make it much easier for
precompiled headers to cope with tentative definitions in the future.

llvm-svn: 69681

show more ...


# ddf6ca03 20-Apr-2009 Chris Lattner <[email protected]>

the __gnuc_inline__ attribute is actually named __gnu_inline__,
PR4023

llvm-svn: 69618


# 4f856744 19-Apr-2009 Eli Friedman <[email protected]>

PR3853: Add CodeGen support for __thread.

llvm-svn: 69545


# 5f65cc82 19-Apr-2009 Chris Lattner <[email protected]>

silence a warning, it isn't clear what the right answer is here,
will talk to steve.

llvm-svn: 69519


# e3dcb2dd 18-Apr-2009 Douglas Gregor <[email protected]>

FunctionDecl::getBody() is getting an ASTContext argument for use in
lazy PCH deserialization. Propagate that argument wherever it needs to
be. No functionality change, except that I've tightened up

FunctionDecl::getBody() is getting an ASTContext argument for use in
lazy PCH deserialization. Propagate that argument wherever it needs to
be. No functionality change, except that I've tightened up a few PCH
tests in preparation.

llvm-svn: 69406

show more ...


# eaa28f7e 17-Apr-2009 Anders Carlsson <[email protected]>

Add support for generating (very basic) C++ destructors. These aren't called by anything yet.

llvm-svn: 69343


# c3e7cff6 17-Apr-2009 Daniel Dunbar <[email protected]>

Attributes on block functions were not being set.
- <rdar://problem/6800351> clang not producing correct large struct
return code for Blocks

llvm-svn: 69337


# 426b5cf1 16-Apr-2009 Daniel Dunbar <[email protected]>

Ensure that the most recent declaration of a tentative definition wins
when generating a common definition.

llvm-svn: 69287


# 7dd749e6 15-Apr-2009 Daniel Dunbar <[email protected]>

Defer generation of tentative definitions.
- PR3980.

- <rdar://problem/6762287> [irgen] crash when generating tentative
definition of incomplete structure

- This also avoids creating common d

Defer generation of tentative definitions.
- PR3980.

- <rdar://problem/6762287> [irgen] crash when generating tentative
definition of incomplete structure

- This also avoids creating common definitions for things which are
later overwritten.

- XFAIL'ed external-defs.c, it isn't completing types properly yet.

llvm-svn: 69231

show more ...


# f7475248 15-Apr-2009 Anders Carlsson <[email protected]>

Start attempting to generate code for C++ ctors.

llvm-svn: 69168


# 346892aa 14-Apr-2009 Daniel Dunbar <[email protected]>

Comment fix.

llvm-svn: 69091


# bae0e689 14-Apr-2009 Chris Lattner <[email protected]>

Fix PR3988: extern inline functions get strong symbol definitions in
C99 mode. This is a regression from an earlier patch of mine.

This also simplifies the linkage enums a bit.

llvm-svn: 69069


1...<<61626364656667686970>>...75