comparison dmd/func.c @ 468:45a67b6f1310

Removed the 'needsstorage' thing from Dsymbol. Arguments are not always given storage when applicable. This is not longer treat specially in this regard. Code for accessing nested variables and contexts rewritten. Probably more. Fairly well tested.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 04 Aug 2008 02:59:34 +0200
parents 44f08170f4ef
children 6aee82889553
comparison
equal deleted inserted replaced
467:261b05cf4d1c 468:45a67b6f1310
794 v->storage_class |= STCvariadic; 794 v->storage_class |= STCvariadic;
795 v->storage_class |= arg->storageClass & (STCin | STCout | STCref | STClazy); 795 v->storage_class |= arg->storageClass & (STCin | STCout | STCref | STClazy);
796 if (v->storage_class & STClazy) 796 if (v->storage_class & STClazy)
797 v->storage_class |= STCin; 797 v->storage_class |= STCin;
798 v->semantic(sc2); 798 v->semantic(sc2);
799 #if IN_LLVM
800 // LLVMDC: the argument needs an addres if we want to attach debug info to it.
801 if (global.params.symdebug)
802 v->needsStorage = true;
803 #endif
804 if (!sc2->insert(v)) 799 if (!sc2->insert(v))
805 error("parameter %s.%s is already defined", toChars(), v->toChars()); 800 error("parameter %s.%s is already defined", toChars(), v->toChars());
806 else 801 else
807 parameters->push(v); 802 parameters->push(v);
808 localsymtab->insert(v); 803 localsymtab->insert(v);