| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
EmitCXXConstructorCall out into a EmitCXXMemberCall function.
llvm-svn: 71514
|
|
|
|
| |
llvm-svn: 70835
|
|
|
|
| |
llvm-svn: 70785
|
|
|
|
| |
llvm-svn: 70105
|
|
|
|
| |
llvm-svn: 70067
|
|
|
|
|
|
|
|
|
| |
the type assigned by sema (and is visible with sizeof(__func__) for
example) has nothing to do with what codegen ends up producing.
We should eventually add a method on PredefinedExpr to handle this.
In the meantime, just set up some framework and add some fixme's.
llvm-svn: 69872
|
|
|
|
| |
llvm-svn: 69775
|
|
|
|
|
|
|
|
| |
when we need them -- which is exactly what some code was already
doing!
- No intended functionality change.
llvm-svn: 69648
|
|
|
|
| |
llvm-svn: 69541
|
|
|
|
|
|
| |
"Type Info" parameter. The type info parameter knows how to iterate over its arguments.
llvm-svn: 69469
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct S {
S(int, int);
};
void f() {
S s(10, 10);
}
llvm-svn: 69330
|
|
|
|
| |
llvm-svn: 69050
|
|
|
|
|
|
| |
CleanupEntries vector needed to be reallocated.
llvm-svn: 68835
|
|
|
|
| |
llvm-svn: 68639
|
|
|
|
| |
llvm-svn: 68425
|
|
|
|
| |
llvm-svn: 68412
|
|
|
|
|
|
|
|
|
| |
- <rdar://problem/6732143> Crash when generating @synchronize for
zero-cost exception
- Thanks to Anders for helping track down the problem.
llvm-svn: 68186
|
|
|
|
| |
llvm-svn: 68151
|
|
|
|
|
|
| |
from previous block literals.
llvm-svn: 67696
|
|
|
|
| |
llvm-svn: 67603
|
|
|
|
| |
llvm-svn: 67406
|
|
|
|
|
|
|
| |
when there is actually a property declaration
used in the dot-syntax.
llvm-svn: 67391
|
|
|
|
|
|
|
| |
There are some more complex cases (_Complex and structs)
that I'm still working on.
llvm-svn: 67218
|
|
|
|
|
|
| |
literals.
llvm-svn: 66984
|
|
|
|
| |
llvm-svn: 66319
|
|
|
|
|
|
| |
of code clearer.
llvm-svn: 66284
|
|
|
|
| |
llvm-svn: 66159
|
|
|
|
| |
llvm-svn: 66049
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 66048
|
|
|
|
|
|
|
|
|
| |
BlockModule. No functionality change. This should help people that
don't want to know anything about blocks not be confused by the
overloaded use of the term block or nor want to see all the blocks
goop.
llvm-svn: 66042
|
|
|
|
|
|
| |
people. De-duplicates BLOCK_NEEDS_FREE and friends.
llvm-svn: 66034
|
|
|
|
|
|
|
| |
still give an unsupported error for them due to the fact this is a
work in progress.
llvm-svn: 66007
|
|
|
|
| |
llvm-svn: 65746
|
|
|
|
|
|
| |
Niklas Larsson!
llvm-svn: 65706
|
|
|
|
| |
llvm-svn: 65688
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
giving them rough classifications (normal types, never-canonical
types, always-dependent types, abstract type representations) and
making it far easier to make sure that we've hit all of the cases when
decoding types.
Switched some switch() statements on the type class over to using this
mechanism, and filtering out those things we don't care about. For
example, CodeGen should never see always-dependent or non-canonical
types, while debug info generation should never see always-dependent
types. More switch() statements on the type class need to be moved
over to using this approach, so that we'll get warnings when we add a
new type then fail to account for it somewhere in the compiler.
As part of this, some types have been renamed:
TypeOfExpr -> TypeOfExprType
FunctionTypeProto -> FunctionProtoType
FunctionTypeNoProto -> FunctionNoProtoType
There shouldn't be any functionality change...
llvm-svn: 65591
|
|
|
|
|
|
|
|
|
| |
- For types whose native representation is a pointer.
- Use to replace ExprConstant.cpp:HasPointerEvalType,
CodeGenFunction::isObjCPointerType.
llvm-svn: 65569
|
|
|
|
| |
llvm-svn: 65487
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
The big difference here is that (like string literal) @encode has
array type, not pointer type.
llvm-svn: 65391
|
|
|
|
| |
llvm-svn: 65372
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 65325
|
|
|
|
| |
llvm-svn: 65286
|
|
|
|
| |
llvm-svn: 65285
|
|
|
|
|
|
| |
stuff is mostly done. Move BlockHasCopyDispose up.
llvm-svn: 65242
|
|
|
|
|
|
| |
- Remove an unused variant of EmitCallExpr overload.
llvm-svn: 65130
|
|
|
|
| |
llvm-svn: 65093
|
|
|
|
| |
llvm-svn: 64768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Define pow[lf]?, sqrt[lf]? as builtins.
- Add -fmath-errno option which binds to LangOptions.MathErrno
- Add new builtin flag Builtin::Context::isConstWithoutErrno for
functions which can be marked as const if errno isn't respected for
math functions. Sema automatically marks these functions as const
when they are defined, if MathErrno=0.
- IRgen uses const attribute on sqrt and pow library functions to
decide if it can use the llvm intrinsic.
llvm-svn: 64689
|