| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 66126
|
|
|
|
|
|
| |
necessary.
llvm-svn: 66117
|
|
|
|
|
|
| |
booleans.
llvm-svn: 66012
|
|
|
|
| |
llvm-svn: 66010
|
|
|
|
|
|
|
| |
still give an unsupported error for them due to the fact this is a
work in progress.
llvm-svn: 66007
|
|
|
|
| |
llvm-svn: 65688
|
|
|
|
|
|
| |
- PR3662.
llvm-svn: 65472
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 65470
|
|
|
|
|
|
|
|
| |
global variable) out of GenerateStaticBlockVarDecl.
- No intended functionality change.
- Prep for some mild cleanups and PR3662.
llvm-svn: 65466
|
|
|
|
|
|
|
| |
CodeGen. I'm not sure whether this actually makes any visible
difference, but it's better to be consistent anyway.
llvm-svn: 65259
|
|
|
|
| |
llvm-svn: 65089
|
|
|
|
| |
llvm-svn: 64984
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IRgen no longer relies on isConstantInitializer, instead we just try
to emit the constant. If that fails then in C we emit an error
unsupported (this occurs when Sema accepted something that it doesn't
know how to fold, and IRgen doesn't know how to emit) and in C++ we
emit a guarded initializer.
This ends up handling a few more cases, because IRgen was actually
able to emit some of the constants Sema accepts but can't Evaluate().
For example, PR3398.
llvm-svn: 64780
|
|
|
|
| |
llvm-svn: 64502
|
|
|
|
|
|
| |
- PR3566
llvm-svn: 64492
|
|
|
|
| |
llvm-svn: 64445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ABI to the CodeGen library. Since C++ code-generation is so
incomplete, we can't exercise much of this mangling code. However, a
few smoke tests show that it's doing the same thing as GCC. When C++
codegen matures, we'll extend the ABI tester to verify name-mangling
as well, and complete the implementation here.
At this point, the major client of name mangling is in the uses of the
new "overloadable" attribute in C, which allows overloading. Any
"overloadable" function in C (or in an extern "C" block in C++) will
be mangled the same way that the corresponding C++ function would be
mangled.
llvm-svn: 64413
|
|
|
|
| |
llvm-svn: 64411
|
|
|
|
|
|
| |
".auto." to mangle their names. The working of PIC16AsmPrinter relies on that keyword currently.
llvm-svn: 64198
|
|
|
|
|
|
| |
will remove the old Obj-C EH cleanup code.
llvm-svn: 64161
|
|
|
|
| |
llvm-svn: 64052
|
|
|
|
| |
llvm-svn: 64014
|
|
|
|
|
|
| |
Fixes PR3491.
llvm-svn: 63879
|
|
|
|
|
|
|
| |
Specify external linkage for such globals so that llvm optimizer do
not assume there values initialized as zero.
llvm-svn: 63636
|
|
|
|
|
|
|
|
| |
accurately states what the function is trying to do and how it is
different from Expr::isEvaluatable. Also get rid of a parameter that is both
unused and inaccurate.
llvm-svn: 62951
|
|
|
|
|
|
| |
"logical" location, refer to the "instantiation" location.
llvm-svn: 62316
|
|
|
|
|
|
|
|
|
|
| |
simple test that actually does VLA codegen.
Note that despite the fact that the alloca isn't in the entry block, it
should dominate all uses; this is guaranteed by the restrictions on goto
into VLA scope in C99.
llvm-svn: 61291
|
|
|
|
| |
llvm-svn: 61290
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit the size even if the declared type is a variably modified type. This lets us handle
void f(int n) {
int (*a)[n];
printf("size: %d\n", sizeof(*a));
}
llvm-svn: 61285
|
|
|
|
| |
llvm-svn: 61284
|
|
|
|
| |
llvm-svn: 61283
|
|
|
|
| |
llvm-svn: 60989
|
|
|
|
| |
llvm-svn: 60943
|
|
|
|
|
|
| |
NamedDecl::getNameAsString() to make it more explicit.
llvm-svn: 59937
|
|
|
|
|
|
|
|
|
| |
assert if the name is not an identifier. Update callers to do the right
thing and avoid this method in unsafe cases. This also fixes an objc
warning that was missing a space, and migrates a couple more to taking
IdentifierInfo and QualTypes instead of std::strings.
llvm-svn: 59936
|
|
|
|
|
|
|
|
| |
representing the names of declarations in the C family of
languages. DeclarationName is used in NamedDecl to store the name of
the declaration (naturally), and ObjCMethodDecl is now a NamedDecl.
llvm-svn: 59441
|
|
|
|
|
|
|
| |
using MachineModuleInfo. This runs at about the same speed as the old
code, but fixes a bunch of bugs and is simpler and shorter.
llvm-svn: 58971
|
|
|
|
|
|
|
|
|
|
| |
etc more generic. For some targets, long may not be equal to pointer size. For
example: PIC16 has int as i16, ptr as i16 but long as i32.
Also fixed a few build warnings in assert() functions in CFRefCount.cpp,
CGDecl.cpp, SemaDeclCXX.cpp and ParseDeclCXX.cpp.
llvm-svn: 58501
|
|
|
|
|
|
|
|
|
| |
simplifies clients.
Also, add assert that RegionStack is empty when the CGDebugInfo is
destroyed.
llvm-svn: 57684
|
|
|
|
|
|
|
| |
Instead of using two sets of Decl kinds (Struct/Union/Class and CXXStruct/CXXUnion/CXXClass), use one 'Record' and one 'CXXRecord' Decl kind and make tag kind a property of TagDecl.
Cleans up the code a bit and better reflects that Decl class structure.
llvm-svn: 57541
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 56269
|
|
|
|
|
|
| |
- Notably VLAs
llvm-svn: 55544
|
|
|
|
| |
llvm-svn: 55297
|
|
|
|
|
|
| |
initializers.
llvm-svn: 55180
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change CodeGenFunction::EmitParmDecl to take either a ParmVarDecl or an
ImplicitParamDecl.
Drop hasAggregateLLVMType from CodeGenModule.cpp (use version in
CodeGenFunction).
Change the Objective-C method generation to use EmitParmDecl for
implicit parameters.
llvm-svn: 54838
|
|
|
|
|
|
|
|
| |
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h
- Moved Sema::getCurMethodDecl() out of line (dependent on
ObjCMethodDecl via dyn_cast).
llvm-svn: 54629
|
|
|
|
|
|
| |
- Remove internal uses of AST.h
llvm-svn: 54628
|
|
|
|
|
|
|
|
|
|
| |
qualifier in the lvalue, and changes lvalue loads/stores to honor
the volatile flag. Places which need some further attention are marked
with FIXMEs.
Patch by Cédric Venet.
llvm-svn: 52264
|
|
|
|
| |
llvm-svn: 52162
|
|
|
|
|
|
|
| |
This fix just makes sure to construct the global with the appropriate
type, and fixes up the one user this affects to compensate.
llvm-svn: 52084
|