Mercurial > projects > ldc
comparison gen/structs.h @ 217:0806379a5eca trunk
[svn r233] Added: -oq command line option for writing fully qualified object names.
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
author | lindquist |
---|---|
date | Thu, 05 Jun 2008 06:38:36 +0200 |
parents | 7816aafeea3c |
children | a95056b3c996 |
comparison
equal
deleted
inserted
replaced
216:3d022aa016ae | 217:0806379a5eca |
---|---|
28 /** | 28 /** |
29 * Provides the llvm definition for a struct | 29 * Provides the llvm definition for a struct |
30 */ | 30 */ |
31 void DtoDefineStruct(StructDeclaration* sd); | 31 void DtoDefineStruct(StructDeclaration* sd); |
32 | 32 |
33 LLValue* DtoIndexStruct(LLValue* ptr, StructDeclaration* sd, Type* t, unsigned os, std::vector<unsigned>& idxs); | 33 typedef LLSmallVector<unsigned, 3> DStructIndexVector; |
34 LLValue* DtoIndexStruct(LLValue* ptr, StructDeclaration* sd, Type* t, unsigned os, DStructIndexVector& idxs); | |
34 | 35 |
35 struct DUnionField | 36 struct DUnionField |
36 { | 37 { |
37 unsigned offset; | 38 unsigned offset; |
38 size_t size; | 39 size_t size; |