Mercurial > projects > ldc
diff dmd/attrib.c @ 73:b706170e24a9 trunk
[svn r77] Fixed foreach on slice.
Fixed some nested function problems when accessing outer function parameters.
Major changes to handling of structs.
Initial support for unions.
Probably more...
author | lindquist |
---|---|
date | Wed, 31 Oct 2007 03:11:32 +0100 |
parents | 0ccfae271c45 |
children | eb379601d445 |
line wrap: on
line diff
--- a/dmd/attrib.c Mon Oct 29 03:28:12 2007 +0100 +++ b/dmd/attrib.c Wed Oct 31 03:11:32 2007 +0100 @@ -887,13 +887,17 @@ llvm_internal = LLVMva_intrinsic; assert(args->dim == 2); } + else if (strcmp(str,"notypeinfo")==0) { + llvm_internal = LLVMnotypeinfo; + assert(args->dim == 1); + } else { error("unknown pragma command: %s", str); } } else error("1st argument must be a string"); - + if (llvm_internal) switch (llvm_internal) { @@ -910,12 +914,13 @@ else error("2nd argument must be a string"); break; - + case LLVMnull: case LLVMva_arg: case LLVMva_start: + case LLVMnotypeinfo: break; - + default: assert(0); } @@ -988,6 +993,10 @@ } break; + case LLVMnotypeinfo: + s->llvmInternal = llvm_internal; + break; + default: assert(0 && "invalid LLVM_internal pragma got through :/"); }