diff options
| author | 2022-03-07 11:08:26 +0100 | |
|---|---|---|
| committer | 2022-03-07 11:08:26 +0100 | |
| commit | 07727753b96d209406783e5e539725bcdafebdc7 (patch) | |
| tree | b32f11cbc304d633ed0acd8f84b4c11e909bb5f3 /vendor/modernc.org/ccgo/v3/lib/go.go | |
| parent | [documentation] Creates Docker documentation and docker-compose.yaml (#416) (diff) | |
| download | gotosocial-07727753b96d209406783e5e539725bcdafebdc7.tar.xz | |
[feature] Clean up/uncache remote media (#407)
* Add whereNotEmptyAndNotNull
* Add GetRemoteOlderThanDays
* Add GetRemoteOlderThanDays
* Add PruneRemote to Manager interface
* Start implementing PruneRemote
* add new attachment + status to tests
* fix up and test GetRemoteOlderThan
* fix bad import
* PruneRemote: return number pruned
* add Cached column to mediaattachment
* update + test pruneRemote
* update mediaTest
* use Cached column
* upstep bun to latest version
* embed structs in mediaAttachment
* migrate mediaAttachment to new format
* don't default cached to true
* select only remote media
* update db dependencies
* step bun back to last working version
* update pruneRemote to use Cached field
* fix storage path of test attachments
* add recache logic to manager
* fix trimmed aspect ratio
* test prune and recache
* return errwithcode
* tidy up different paths for emoji vs attachment
* fix incorrect thumbnail type being stored
* expose TransportController to media processor
* implement tee-ing recached content
* add thoughts of dog to test fedi attachments
* test get remote files
* add comment on PruneRemote
* add postData cleanup to recache
* test thumbnail fetching
* add incredible diagram
* go mod tidy
* buffer pipes for recache streaming
* test for client stops reading after 1kb
* add media-remote-cache-days to config
* add cron package
* wrap logrus so it's available to cron
* start and stop cron jobs gracefully
Diffstat (limited to 'vendor/modernc.org/ccgo/v3/lib/go.go')
| -rw-r--r-- | vendor/modernc.org/ccgo/v3/lib/go.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/vendor/modernc.org/ccgo/v3/lib/go.go b/vendor/modernc.org/ccgo/v3/lib/go.go index 4ee4ad6e8..fc869395b 100644 --- a/vendor/modernc.org/ccgo/v3/lib/go.go +++ b/vendor/modernc.org/ccgo/v3/lib/go.go @@ -3117,6 +3117,9 @@ func (p *project) declaratorDecay(n cc.Node, f *function, d *cc.Declarator, t cc return } + if !local.isPinned { + p.err(n, "%v: %v: missed pinning", n.Position(), d.Position(), d.Name()) + } p.w("(%s%s)/* &%s[0] */", f.bpName, nonZeroUintptr(local.off), local.name) return } @@ -3663,7 +3666,7 @@ func (p *project) declaratorAddrOfNormal(n cc.Node, f *function, d *cc.Declarato x.used = true p.w("uintptr(unsafe.Pointer(&%sX%s))", x.qualifier, d.Name()) default: - panic(todo("%v: %v: %q %T", n.Position(), p.pos(d), d.Name(), x)) + p.err(n, "undefined: %s", d.Name()) } } @@ -8135,6 +8138,11 @@ func (p *project) castExpressionValue(f *function, n *cc.CastExpression, t cc.Ty case cc.CastExpressionUnary: // UnaryExpression p.unaryExpression(f, n.UnaryExpression, t, mode, flags) case cc.CastExpressionCast: // '(' TypeName ')' CastExpression + if f != nil && p.pass1 && n.TypeName.Type().IsIntegerType() && n.CastExpression.Operand.Type().Kind() == cc.Array { + if d := n.CastExpression.Declarator(); d != nil { + f.pin(n, d) + } + } switch k := p.opKind(f, n.CastExpression, n.CastExpression.Operand.Type()); k { case opNormal, opBitfield: p.castExpressionValueNormal(f, n, t, mode, flags) @@ -8168,8 +8176,12 @@ func (p *project) castExpressionValueFunction(f *function, n *cc.CastExpression, switch { case tn.Kind() == cc.Ptr && t.Kind() == cc.Ptr: p.castExpression(f, n.CastExpression, op.Type(), exprValue, flags) + case tn.IsIntegerType(): + p.w("%s(", p.typ(n, tn)) + p.castExpression(f, n.CastExpression, op.Type(), exprValue, flags) + p.w(")") default: - panic(todo("", n.Position())) + panic(todo("%v: tn %v expr %v", n.Position(), tn, op.Type())) } default: panic(todo("%v: %v -> %v -> %v", p.pos(n), op.Type(), tn, t)) @@ -12557,7 +12569,7 @@ func (p *project) iterationStatement(f *function, n *cc.IterationStatement) { break } - v := "ok" + v := "__ccgo" if !p.pass1 { v = f.scope.take(cc.String(v)) } |
