Changeset 752:2d7bcfa68128
- Timestamp:
- 11/03/08 09:23:22
(2 months ago)
- Author:
- Christian Kamm <kamm incasoftware de>
- branch:
- default
- Message:
Enable function parameter debug info for a wider range of args.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r739 |
r752 |
|
| 746 | 746 | bool lazy = vd->storage_class & STClazy; |
|---|
| 747 | 747 | |
|---|
| 748 | | if (refout) |
|---|
| | 748 | if (!refout && (!DtoIsPassedByRef(vd->type) || lazy)) |
|---|
| 749 | 749 | { |
|---|
| 750 | | continue; |
|---|
| | 750 | LLValue* a = irloc->value; |
|---|
| | 751 | LLValue* v = DtoAlloca(a->getType(), "."+a->getName()); |
|---|
| | 752 | DtoStore(a,v); |
|---|
| | 753 | irloc->value = v; |
|---|
| 751 | 754 | } |
|---|
| 752 | | else if (!lazy && DtoIsPassedByRef(vd->type)) |
|---|
| 753 | | { |
|---|
| 754 | | LLValue* vdirval = irloc->value; |
|---|
| 755 | | if (global.params.symdebug && !(isaArgument(vdirval) && !isaArgument(vdirval)->hasByValAttr())) |
|---|
| 756 | | DtoDwarfLocalVariable(vdirval, vd); |
|---|
| 757 | | continue; |
|---|
| 758 | | } |
|---|
| 759 | | |
|---|
| 760 | | LLValue* a = irloc->value; |
|---|
| 761 | | LLValue* v = DtoAlloca(a->getType(), "."+a->getName()); |
|---|
| 762 | | DtoStore(a,v); |
|---|
| 763 | | irloc->value = v; |
|---|
| | 755 | if (global.params.symdebug && !(isaArgument(irloc->value) && !isaArgument(irloc->value)->hasByValAttr()) && !refout) |
|---|
| | 756 | DtoDwarfLocalVariable(irloc->value, vd); |
|---|
| 764 | 757 | } |
|---|
| 765 | 758 | } |
|---|