about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | simpler core networkSilvino Silva2016-10-161-4/+1
| | |
| * | core hosts updated with same ip fromSilvino Silva2016-10-162-2/+2
| | | | | | | | | | | | network document and net script.
| * | Deleted iptables script with many errors,Silvino Silva2016-10-164-348/+149
| | | | | | | | | | | | | | | added simple rules.v4 file that can be used by iptables-restore
| * | More compatible ip for init net scriptSilvino Silva2016-10-163-33/+27
| | | | | | | | | | | | and revision of core network document.
| * | better core hostsSilvino Silva2016-10-162-4/+4
| | |
| * | bumped new revisionSilvino Silva2016-10-161-1/+1
| |/
| * release 0.2.5Silvino Silva2016-10-1537-1406/+1934
| |\
* | \ revision 0.2.5 merged to developSilvino Silva2016-10-1536-1405/+1933
|\ \ \ | | |/ | |/|
| * | dev revisionSilvino Silva2016-10-154-10/+132
| | |
| * | tools revisionSilvino Silva2016-10-1514-117/+460
| | |
| * | core revisionSilvino Silva2016-10-1518-1278/+1341
| | |
| * | bumped new releaseSilvino Silva2016-10-151-1/+1
| |/
| * release 0.2.4Silvino Silva2016-10-0810-291/+381
| |\
* | | correct develop versionSilvino Silva2016-10-081-1/+1
| | |
* | | Merge branch 'r-0.2.4' into developSilvino Silva2016-10-0810-291/+381
|\ \ \ | | |/ | |/|
| * | qemu partition disk imageSilvino Silva2016-10-081-6/+20
| | |
| * | core scripts revisionSilvino Silva2016-10-086-198/+227
| | |
| * | dev git revisionSilvino Silva2016-10-082-86/+133
| | |
| * | bumped new release 0.2.4Silvino Silva2016-10-041-1/+1
|/ /
* | corrected index version in developSilvino Silva2016-10-041-1/+1
| |
* | Merge release '0.2.3' into developSilvino Silva2016-10-0313-140/+948
|\| | | | | | | 0.2.3
| * Release 0.2.3Silvino Silva2016-10-0337-708/+2148
| |\
| | * Merge branch 'b-postgresql' into r-0.2.3Silvino Silva2016-10-033-4/+628
| | |\
| | | * tools postgresql configuration files revisionSilvino Silva2016-10-033-4/+628
| | |/
| | * Merge branch 'b-nginx' into r-0.2.3Silvino Silva2016-10-036-123/+195
| | |\
| | | * nginx documentation and configuration reviewSilvino Silva2016-10-036-123/+195
| | |/
| | * Merge branch 'f-certs' into r-0.2.3Silvino Silva2016-10-035-16/+128
| |/| |/| |
| | * review certificates for exim, nginx and postgresqlSilvino Silva2016-10-033-14/+122
| | |
| | * nginx and php revisionSilvino Silva2016-09-293-2/+6
| |/ |/|
* | Merge branch 'f-postgres' into developSilvino Silva2016-09-294-90/+203
|\ \
| * | postgresql revisionSilvino Silva2016-09-294-90/+203
| | |
* | | Merge branch 'f-lvm' into developSilvino Silva2016-09-293-339/+169
|\ \ \ | |/ / |/| |
| * | tools storage and lvm revisionSilvino Silva2016-09-293-339/+169
|/ /
* | fix core network bad mergeSilvino Silva2016-09-281-21/+0
| |
* | Merge branch 'f-net' into developSilvino Silva2016-09-2810-84/+303
|\ \
| * | network revisionSilvino Silva2016-09-2810-84/+303
|/ /
* | core network revisionSilvino Silva2016-09-281-1/+43
| |
* | Merge branch 'f-auto-nginx' into developSilvino Silva2016-09-2813-102/+547
|\ \
| * | nginx revision with mantisbtSilvino Silva2016-09-283-9/+31
| | |
| * | tools index revisionSilvino Silva2016-09-281-6/+6
| | |
| * | tools nginx fix script installSilvino Silva2016-09-282-6/+14
| | |
| * | nginx configuration fixSilvino Silva2016-09-282-2/+2
| | |
| * | tool ningx revision, added install scriptsSilvino Silva2016-09-2810-92/+507
| | |
* | | core rc.d/net revisionSilvino Silva2016-09-281-2/+1
|/ /
* | network name revisionSilvino Silva2016-09-283-21/+18
| |
* | Merge branch 'f-core-net' into developSilvino Silva2016-09-285-48/+56
|\ \
| * | new core network configurationSilvino Silva2016-09-285-48/+56
|/ /
* | develop merge r0.2.2Silvino Silva2016-09-248-68/+113
|\ \
* \ \ Merge branch 'r-0.2.1' into developSilvino Silva2016-09-2233-330/+31496
|\ \ \
| | | * release 'r-0.2.2'Silvino Silva2016-09-249-69/+114
| | | |\ | | | |/ | | |/|
an>in 1 .. <typ.len: var branch = copyTree(typ[i]) let L = branch.len branch.sons[L-1] = newNodeI(nkStmtList, forLoop.info) semForObjectFields(c, typ[i].lastSon, forLoop, branch[L-1]) caseStmt.add(branch) father.add(caseStmt) of nkRecList: for t in items(typ): liftBodyObj(c, t, x, y) else: illFormedAstLocal(typ) proc newAsgnCall(op: PSym; x, y: PNode): PNode = result = newNodeI(nkCall, x.info) result.add(newSymNode(op)) result.add x result.add y proc newAsgnStmt(le, ri: PNode): PNode = result = newNodeI(nkAsgn, le.info, 2) result.sons[0] = le result.sons[1] = ri proc newDestructorCall(op: PSym; x: PNode): PNode = result = newNodeIT(nkCall, x.info, op.typ.sons[0]) result.add(newSymNode(op)) result.add x proc newDeepCopyCall(op: PSym; x, y: PNode): PNode = result = newAsgnStmt(x, newDestructorCall(op, y)) proc considerOverloadedOp(c: TLiftCtx; t: PType; x, y: PNode): bool = let op = t.attachedOps[c.kind] if op != nil: markUsed(c.info, op) styleCheckUse(c.info, op) case c.kind of attachedDestructor: c.result.add newDestructorCall(op, x) of attachedAsgn: c.result.add newAsgnCall(op, x, y) of attachedDeepCopy: c.result.add newDeepCopyCall(op, x, y) result = true proc defaultOp(c: TLiftCtx; t: PType; x, y: PNode) = if c.kind != attachedDestructor: c.result.add newAsgnStmt(x, y) proc liftBodyAux(c: TLiftCtx; t: PType; x, y: PNode) = const hasAttachedOp: array[TTypeAttachedOp, TTypeIter] = [ (proc (t: PType, closure: PObject): bool = t.attachedOp[attachedDestructor] != nil), (proc (t: PType, closure: PObject): bool = t.attachedOp[attachedAsgn] != nil), (proc (t: PType, closure: PObject): bool = t.attachedOp[attachedDeepCopy] != nil)] case t.kind of tyNone, tyEmpty: discard of tyPointer, tySet, tyBool, tyChar, tyEnum, tyInt..tyUInt64, tyCString: defaultOp(c, t, x, y) of tyPtr, tyString: if not considerOverloadedOp(c, t, x, y): defaultOp(c, t, x, y) of tyArrayConstr, tyArray, tySequence: if iterOverType(lastSon(t), hasAttachedOp[c.kind], nil): # generate loop and call the attached Op: else: defaultOp(c, t, x, y) of tyObject: liftBodyObj(c, t.n, x, y) of tyTuple: liftBodyTup(c, t, x, y) of tyRef: # we MUST not check for acyclic here as a DAG might still share nodes: of tyProc: if t.callConv != ccClosure or c.kind != attachedDeepCopy: defaultOp(c, t, x, y) else: # a big problem is that we don't know the enviroment's type here, so we # have to go through some indirection; we delegate this to the codegen: call = newNodeI(nkCall, n.info, 2) call.typ = t call.sons[0] = newSymNode(createMagic("deepCopy", mDeepCopy)) call.sons[1] = y c.result.add newAsgnStmt(x, call) of tyVarargs, tyOpenArray: localError(c.info, errGenerated, "cannot copy openArray") of tyFromExpr, tyIter, tyProxy, tyBuiltInTypeClass, tyUserTypeClass, tyUserTypeClassInst, tyCompositeTypeClass, tyAnd, tyOr, tyNot, tyAnything, tyMutable, tyGenericParam, tyGenericBody, tyNil, tyExpr, tyStmt, tyTypeDesc, tyGenericInvocation, tyBigNum, tyConst, tyForward: internalError(c.info, "assignment requested for type: " & typeToString(t)) of tyDistinct, tyOrdinal, tyRange, tyGenericInst, tyFieldAccessor, tyStatic, tyVar: liftBodyAux(c, lastSon(t)) proc liftBody(c: PContext; typ: PType; info: TLineInfo): PNode = var a: TLiftCtx a.info = info a.result = newNodeI(nkStmtList, info) liftBodyAux(a, typ)