| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
type.
llvm-svn: 58497
|
| |
|
|
|
|
|
| |
recursive types.
- Style will be clean up in further patches.
llvm-svn: 58490
|
| |
|
|
|
|
| |
- No functionality change.
llvm-svn: 58488
|
| |
|
|
|
|
|
|
|
|
| |
- That is, the metadata for a protocol is only emitted if that
protocol is actually used in the translation unit. This is
important because Objective-C headers frequently contain a large
number of protocol definitions, only a few of which will be used in
any given file.
llvm-svn: 58400
|
| |
|
|
|
|
|
|
|
|
|
| |
va_list, not the value. Patch fixes an assert on
x86-64 and a wrong-code bug on x86. I'm not completely sure,
but I think it's a regression from r58306.
Does anyone run regression tests regularly on x86-64? The crash should
have been picked up there.
llvm-svn: 58366
|
| |
|
|
|
|
| |
in the driver (this means we no longer run the verifier per function, however).
llvm-svn: 58307
|
| |
|
|
| |
llvm-svn: 58304
|
| |
|
|
|
|
|
|
| |
t.c:1:13: error: cannot codegen this designators yet
int a[10] = {2, 4, [8]=9, 10};
^~~~~~~~~~~~~~~~~
llvm-svn: 58220
|
| |
|
|
|
|
| |
must be under the `tools' subdirectory of the LLVM *source* tree.
llvm-svn: 58180
|
| |
|
|
|
|
| |
CGDebugInfo::getOrCreateCompileUnit.
llvm-svn: 58081
|
| |
|
|
|
|
|
|
|
| |
FileIDs. This seems better conceptually and lets the SourceManager
handle details of mapping the location to a file ID.
- In practice, fixes an assert because this code wasn't using
getPhysicalLoc.
llvm-svn: 58055
|
| |
|
|
| |
llvm-svn: 57924
|
| |
|
|
| |
llvm-svn: 57909
|
| |
|
|
|
|
| |
for Obj-C methods.
llvm-svn: 57769
|
| |
|
|
| |
llvm-svn: 57745
|
| |
|
|
| |
llvm-svn: 57743
|
| |
|
|
|
|
|
| |
- Shouldn't assume predefined expr is a function printing one.
- Uses CGM functionality to cache function names per module.
llvm-svn: 57737
|
| |
|
|
|
|
|
| |
(first) global holding the string.
- No functionality change.
llvm-svn: 57736
|
| |
|
|
|
|
| |
assert.
llvm-svn: 57721
|
| |
|
|
| |
llvm-svn: 57716
|
| |
|
|
|
|
|
| |
- Encode unions and bit-fields correctly.
- Accept option to name record fields (used for NeXT runtime).
llvm-svn: 57685
|
| |
|
|
|
|
|
|
|
| |
simplifies clients.
Also, add assert that RegionStack is empty when the CGDebugInfo is
destroyed.
llvm-svn: 57684
|
| |
|
|
|
|
| |
floating point. This is only correct for x86-32 at the moment.
llvm-svn: 57667
|
| |
|
|
|
|
|
|
|
|
| |
structure.
- I'm not sure yet about the behavior, but this at least prevents the
crash.
Add some asserts on RegionStack usage.
llvm-svn: 57661
|
| |
|
|
| |
llvm-svn: 57563
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
- Currently still lives in CGCall.cpp but is intended to be the
target specific place for hooking ABI information.
- Select ABIInfo to use based on Target's prefix and pointer width.
llvm-svn: 57445
|
| |
|
|
| |
llvm-svn: 57392
|
| |
|
|
| |
llvm-svn: 57335
|
| |
|
|
| |
llvm-svn: 57332
|
| |
|
|
|
|
| |
processing the Decl of an Objective-C foreach statement.
llvm-svn: 57209
|
| |
|
|
|
|
| |
processing the Decl of a @catch statement.
llvm-svn: 57208
|
| |
|
|
|
|
| |
scoped decl chain.
llvm-svn: 57192
|
| |
|
|
|
|
|
| |
constant lvalue. Implement this in codegen by moving the code out of CGBuiltin
into EmitConstantExpr.
llvm-svn: 57163
|
| |
|
|
|
|
|
| |
it is possible that a builtin could sometimes be folded (e.g. __builtin_clz)
if it's operand is a constant.
llvm-svn: 57161
|
| |
|
|
| |
llvm-svn: 57157
|
| |
|
|
|
|
|
| |
do it instead. We should still handle __builtin_nan etc, but don't yet.
This fixes incorrect evaluation of __builtin_constant_p, a FIXME.
llvm-svn: 57156
|
| |
|
|
|
|
|
| |
constants for them, just use the constant evaluator to do the job. This
also fixes crashes on 'unknown constant builtins'.
llvm-svn: 57155
|
| |
|
|
| |
llvm-svn: 57142
|
| |
|
|
|
|
|
| |
handling blocks.
- This has false positives, but at least prevents miscompiles.
llvm-svn: 56958
|
| |
|
|
| |
llvm-svn: 56954
|
| |
|
|
| |
llvm-svn: 56902
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
collisions.
- Provide CodeGenModule::CreateRuntimeFunction which guarantees that
the function it creates will have the provided name in the final
module. This allows the runtime to have its functions protected
from declarations of the same name in the source code.
- One could argue that this is a reason to abuse the llvm::Module
namespace for dealing with function redeclarations. However, that
approach seems conceptually flawed to me. This one also happens to
be somewhat more efficient.
No functionality change.
llvm-svn: 56899
|
| |
|
|
| |
llvm-svn: 56830
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Provides a basic primitive to jump to an arbitrary basic block,
through the finally code.
- Only used for return statements and rethrow currently. Still need
to handle break, continue and goto.
- Code still needs to be shuffled around to live elsewhere.
llvm-svn: 56827
|
| |
|
|
|
|
| |
Comment exception-handling code generation strategy.
llvm-svn: 56763
|
| |
|
|
| |
llvm-svn: 56762
|
| |
|
|
|
|
| |
readable and to generate more readable IR.
llvm-svn: 56758
|
| |
|
|
|
|
|
| |
- This should be rejected by sema (IMHO) but that needs some
investigation.
llvm-svn: 56756
|