diff options
| author | Andrey Konovalov <andreyknvl@google.com> | 2016-09-15 13:45:06 +0200 |
|---|---|---|
| committer | Andrey Konovalov <andreyknvl@google.com> | 2016-09-19 16:16:24 +0200 |
| commit | f41935d53ff6271e8c2a9022f41b99ccee9b634b (patch) | |
| tree | 881e9441318a2be9ef7f20bff33ffcc1aa05e97a /sys/decl.go | |
| parent | 9decc82111be1754889e46944a6c6bfdfefdbeb7 (diff) | |
Allow range sized arrays
Diffstat (limited to 'sys/decl.go')
| -rw-r--r-- | sys/decl.go | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/sys/decl.go b/sys/decl.go index a447948bc..a87b51d91 100644 --- a/sys/decl.go +++ b/sys/decl.go @@ -236,21 +236,27 @@ func (t FilenameType) Align() uintptr { return 1 } +type ArrayKind int + +const ( + ArrayRandLen ArrayKind = iota + ArrayRangeLen +) + type ArrayType struct { TypeCommon - Type Type - Len uintptr // 0 if variable-length, unused for now + Type Type + Kind ArrayKind + RangeBegin uintptr + RangeEnd uintptr } func (t ArrayType) Size() uintptr { - if t.Len == 0 { - return 0 // for trailing embed arrays - } - return t.Len * t.Type.Size() + panic("should not be called") } func (t ArrayType) Align() uintptr { - return t.Type.Align() + panic("should not be called") } type PtrType struct { |
