- Apr 23, 2009
-
-
Douglas Gregor authored
multiple declarations of the function. Should fix PR3989 and <rdar://problem/6818429>. llvm-svn: 69905
-
Douglas Gregor authored
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
-
- Apr 22, 2009
-
-
Daniel Dunbar authored
- 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
-
Chris Lattner authored
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
-
- Apr 21, 2009
-
-
Douglas Gregor authored
llvm-svn: 69699
-
Douglas Gregor authored
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
-
- Apr 20, 2009
-
-
Chris Lattner authored
PR4023 llvm-svn: 69618
-
- Apr 19, 2009
-
-
Eli Friedman authored
llvm-svn: 69545
-
Chris Lattner authored
will talk to steve. llvm-svn: 69519
-
- Apr 18, 2009
-
-
Douglas Gregor authored
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
-
- Apr 17, 2009
-
-
Anders Carlsson authored
llvm-svn: 69343
-
Daniel Dunbar authored
- <rdar://problem/6800351> clang not producing correct large struct return code for Blocks llvm-svn: 69337
-
- Apr 16, 2009
-
-
Daniel Dunbar authored
when generating a common definition. llvm-svn: 69287
-
Daniel Dunbar authored
- 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
-
- Apr 15, 2009
-
-
Anders Carlsson authored
llvm-svn: 69168
-
Daniel Dunbar authored
llvm-svn: 69091
-
- Apr 14, 2009
-
-
Chris Lattner authored
C99 mode. This is a regression from an earlier patch of mine. This also simplifies the linkage enums a bit. llvm-svn: 69069
-
Chris Lattner authored
pulling some attribute munging stuff into GetLinkageForFunction. This should fix PR3986 llvm-svn: 69045
-
Daniel Dunbar authored
- Pull out SetCommonAttributes, which handles the things common to aliases, methods, functions, and variables. - Pull out SetLLVMFunctionAttributesForDefinition, which handles the LLVM attributes which we only want to apply to a definition (like noinline and alwaysinline). - Kill SetGVDeclarationAttributes (inlined into SetFunctionAttributes and specialized). - Kill SetFunctionAttributesForDefinition (inlined into sole caller). - Inline SetGVDefinitionAttributes into SetMethodAttributes and specialize. - Rename SetGVDefinitionAttributes to SetFunctionDefinitionAttributes. This is supposed to be a no functionality change commit, but I may have made a mistake. llvm-svn: 69036
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 69035
-
Daniel Dunbar authored
disambiguate it. - No functionality change. llvm-svn: 69034
-
Daniel Dunbar authored
llvm-svn: 69033
-
Chris Lattner authored
not in c89 mode). llvm-svn: 69032
-
Chris Lattner authored
inlined for some reason, then we don't want a strong or even weak definition. llvm-svn: 69031
-
Chris Lattner authored
llvm-svn: 69030
-
Daniel Dunbar authored
llvm-svn: 69029
-
Chris Lattner authored
llvm-svn: 69028
-
Daniel Dunbar authored
llvm-svn: 69027
-
Chris Lattner authored
llvm-svn: 69026
-
Chris Lattner authored
llvm-svn: 69025
-
- Apr 13, 2009
-
-
Daniel Dunbar authored
- No functionality change. llvm-svn: 68987
-
Steve Naroff authored
llvm-svn: 68982
-
rdar://problem/6780904Steve Naroff authored
Fixed crasher in <rdar://problem/6780904> [irgen] Assertion failed: (Result == conversionOK && "UTF-8 to UTF-16 conversion failed"), function GetAddrOfConstantCFString, file CodeGenModule.cpp, line 1063. Still a diagnostic related FIXME (will discuss with Daniel/Fariborz offline). llvm-svn: 68975
-
- Apr 10, 2009
-
-
Daniel Dunbar authored
their emission was deferred. - <rdar://problem/6775234> variables with internal linkage should not be exposed with -fvisibility=hidden. llvm-svn: 68818
-
-
- Apr 09, 2009
-
-
Douglas Gregor authored
No functionality change (really). llvm-svn: 68726
-
- Apr 08, 2009
-
-
Anders Carlsson authored
Add a destination type argument to EmitConstantExpr. This will be used for when the destination has a reference type. (No functionality change yet) llvm-svn: 68593
-
Daniel Dunbar authored
llvm-svn: 68561
-
- Apr 07, 2009
-
-
Daniel Dunbar authored
- Changed method names to match gcc (categories names still aren't mangled in). - Expose correct name for class and metadata symbols (although -fvisibility=hidden isn't yet correct). - Remove several things from llvm.used that didn't need to be there (I suspect this can still be trimmed). - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not needed). - Hide EH type class info with -fvisibility=hidden - Change setGlobal[Option]Visibility to not change the visibility of functions with internal linkage. llvm-svn: 68510
-
- Apr 04, 2009
-
-
Anders Carlsson authored
llvm-svn: 68425
-