Index: trunk/src/libcschem/abstract.c =================================================================== --- trunk/src/libcschem/abstract.c (revision 7365) +++ trunk/src/libcschem/abstract.c (revision 7366) @@ -123,7 +123,7 @@ /* Initialize an object by setting the common header fields; the only purpose of this function is to get compiler warnings at every caller when the header is extended (because the number of args would be extended here) */ -csch_inline void csch_aobj_init(csch_abstract_t *abs, csch_ahdr_t *dst, csch_atype_t type) +RND_INLINE void csch_aobj_init(csch_abstract_t *abs, csch_ahdr_t *dst, csch_atype_t type) { dst->type = type; csch_attrib_init(&dst->attr); Index: trunk/src/libcschem/attrib.c =================================================================== --- trunk/src/libcschem/attrib.c (revision 7365) +++ trunk/src/libcschem/attrib.c (revision 7366) @@ -445,7 +445,7 @@ } } -csch_inline void notify(csch_chdr_t *obj) +RND_INLINE void notify(csch_chdr_t *obj) { rnd_event(&obj->sheet->hidlib, CSCH_EVENT_OBJ_ATTR_EDITED, "p", obj); csch_cobj_redraw(obj); @@ -653,7 +653,7 @@ } undo_attr_arr_modify_t; /* returns delta achieved */ -csch_inline long attr_arr_move(csch_attrib_t *a, long idx, long delta) +RND_INLINE long attr_arr_move(csch_attrib_t *a, long idx, long delta) { long n, end, res = 0; char *save; @@ -687,7 +687,7 @@ return res; } -csch_inline void attr_arr_del(csch_attrib_t *a, long idx) +RND_INLINE void attr_arr_del(csch_attrib_t *a, long idx) { long n, end = a->arr.used-1; @@ -700,7 +700,7 @@ /* create a new, empty slot at [idx], oving all items starting from idx to +1. Effectively inserts an empty slot at idx, before the item that was at idx. */ -csch_inline void attr_arr_ins_before(csch_attrib_t *a, long idx) +RND_INLINE void attr_arr_ins_before(csch_attrib_t *a, long idx) { long n, end = a->arr.used; Index: trunk/src/libcschem/attrib.h =================================================================== --- trunk/src/libcschem/attrib.h (revision 7365) +++ trunk/src/libcschem/attrib.h (revision 7366) @@ -91,8 +91,8 @@ /* Returns the string value (or arr value) of an attribute or NULL if the attribute doesn't exist or is not a string (or arr) */ -csch_inline const char *csch_attrib_get_str(const csch_attribs_t *attribs, const char *key); -csch_inline const vts0_t *csch_attrib_get_arr(const csch_attribs_t *attribs, const char *key); +RND_INLINE const char *csch_attrib_get_str(const csch_attribs_t *attribs, const char *key); +RND_INLINE const vts0_t *csch_attrib_get_arr(const csch_attribs_t *attribs, const char *key); /* Set a scalar attribute; the ptr version takes malloc()'d val and source; @@ -174,7 +174,7 @@ void csch_attr_free(csch_attrib_t *a); /*** implementation ***/ -csch_inline const char *csch_attrib_get_str(const csch_attribs_t *attribs, const char *key) +RND_INLINE const char *csch_attrib_get_str(const csch_attribs_t *attribs, const char *key) { csch_attrib_t *a = csch_attrib_get(attribs, key); if ((a == NULL) || (a->deleted)) return NULL; @@ -181,7 +181,7 @@ return a->val; } -csch_inline const vts0_t *csch_attrib_get_arr(const csch_attribs_t *attribs, const char *key) +RND_INLINE const vts0_t *csch_attrib_get_arr(const csch_attribs_t *attribs, const char *key) { csch_attrib_t *a = csch_attrib_get(attribs, key); if ((a == NULL) || (a->deleted) || (a->val != NULL)) return NULL; Index: trunk/src/libcschem/cnc_any_obj.c =================================================================== --- trunk/src/libcschem/cnc_any_obj.c (revision 7365) +++ trunk/src/libcschem/cnc_any_obj.c (revision 7366) @@ -261,7 +261,7 @@ } -csch_inline void select_side_effects(csch_sheet_t *sheet, csch_chdr_t *obj, int root) +RND_INLINE void select_side_effects(csch_sheet_t *sheet, csch_chdr_t *obj, int root) { if (obj->type == CSCH_CTYPE_TEXT) csch_text_invalidate_font((csch_text_t *)obj); /* may need to re-render for indicate selection */ Index: trunk/src/libcschem/cnc_any_obj.h =================================================================== --- trunk/src/libcschem/cnc_any_obj.h (revision 7365) +++ trunk/src/libcschem/cnc_any_obj.h (revision 7366) @@ -61,7 +61,7 @@ void csch_cobj_unselect(csch_sheet_t *sheet, csch_chdr_t *obj); /* Unselet object and all parent objects */ -csch_inline void csch_chdr_unselect_wp(csch_chdr_t *obj) +RND_INLINE void csch_chdr_unselect_wp(csch_chdr_t *obj) { csch_sheet_t *sheet = obj->sheet; for(;obj != NULL; obj = &obj->parent->hdr) Index: trunk/src/libcschem/cnc_conn.c =================================================================== --- trunk/src/libcschem/cnc_conn.c (revision 7365) +++ trunk/src/libcschem/cnc_conn.c (revision 7366) @@ -108,7 +108,7 @@ } /* append one or more connection points of o to tmp in x;y form */ -csch_inline void conn_append_pts(csch_conn_t *conn, csch_chdr_t *o, vtl0_t *tmp) +RND_INLINE void conn_append_pts(csch_conn_t *conn, csch_chdr_t *o, vtl0_t *tmp) { switch(o->type) { case CSCH_CTYPE_LINE: @@ -149,7 +149,7 @@ /* append a single line of shortest connection between o1 and o2 notable points to tmp in x1;y1;x2;y2 line form */ -csch_inline void conn_recalc_add_line_npts(csch_conn_t *conn, csch_chdr_t *o1, csch_chdr_t *o2, vtl0_t *tmp) +RND_INLINE void conn_recalc_add_line_npts(csch_conn_t *conn, csch_chdr_t *o1, csch_chdr_t *o2, vtl0_t *tmp) { int o2_start, besti1 = -1, besti2 = -1, i1, i2; double best = (double)CSCH_COORD_MAX * (double)CSCH_COORD_MAX; @@ -192,7 +192,7 @@ /* Search for centerline intersections between o1 and o2, create zero-length conn lines in those points and return the number of points found. */ -csch_inline int conn_recalc_add_line_cent_isc(csch_conn_t *conn, csch_chdr_t *o1, csch_chdr_t *o2, vtl0_t *tmp) +RND_INLINE int conn_recalc_add_line_cent_isc(csch_conn_t *conn, csch_chdr_t *o1, csch_chdr_t *o2, vtl0_t *tmp) { csch_sheet_t *sheet = o1->sheet; g2d_vect_t iscp[32]; @@ -221,7 +221,7 @@ /* Append new connection line(s) between o1 and o2; prefer zero-length conns at center-line intersections, fall back to non-zero-length conns between notable points when there's no centerline intersection */ -csch_inline void conn_recalc_add_line(csch_conn_t *conn, csch_chdr_t *o1, csch_chdr_t *o2, vtl0_t *tmp) +RND_INLINE void conn_recalc_add_line(csch_conn_t *conn, csch_chdr_t *o1, csch_chdr_t *o2, vtl0_t *tmp) { if (o1->parent == o2->parent) return; /* corner case: never indicate connection within the same group */ @@ -282,7 +282,7 @@ return -1; } -csch_inline long csch_conn_add_obj_(csch_sheet_t *sheet, csch_conn_t *conn, csch_chdr_t *obj, long *cidx) +RND_INLINE long csch_conn_add_obj_(csch_sheet_t *sheet, csch_conn_t *conn, csch_chdr_t *obj, long *cidx) { long ci, gi; @@ -307,7 +307,7 @@ } -csch_inline int csch_conn_del_obj_(csch_sheet_t *sheet, csch_conn_t *conn, csch_chdr_t *obj) +RND_INLINE int csch_conn_del_obj_(csch_sheet_t *sheet, csch_conn_t *conn, csch_chdr_t *obj) { long ci, gi; @@ -383,7 +383,7 @@ }; -csch_inline int csch_conn_do_obj(csch_sheet_t *sheet, csch_conn_t *conn, csch_chdr_t *obj, int add, long *cidx, int undoable) +RND_INLINE int csch_conn_do_obj(csch_sheet_t *sheet, csch_conn_t *conn, csch_chdr_t *obj, int add, long *cidx, int undoable) { int res; undo_conn_obj_t utmp, *u = &utmp; @@ -424,7 +424,7 @@ /* Return conn where: obj1 is in the connection and another object from obj2's parent is in too (or return NULL if not found) */ -csch_inline csch_conn_t *conn_find_common(csch_chdr_t *obj1, csch_chdr_t *obj2, long *o1i, csch_conn_t *ignore) +RND_INLINE csch_conn_t *conn_find_common(csch_chdr_t *obj1, csch_chdr_t *obj2, long *o1i, csch_conn_t *ignore) { long n, m; csch_conn_t *conn; @@ -462,7 +462,7 @@ return NULL; } -csch_inline csch_conn_t *csch_conn_auto_add_(csch_sheet_t *sheet, csch_chdr_t *obj1, csch_chdr_t *obj2, long *obj1i) +RND_INLINE csch_conn_t *csch_conn_auto_add_(csch_sheet_t *sheet, csch_chdr_t *obj1, csch_chdr_t *obj2, long *obj1i) { csch_conn_t *conn; Index: trunk/src/libcschem/cnc_grp.c =================================================================== --- trunk/src/libcschem/cnc_grp.c (revision 7365) +++ trunk/src/libcschem/cnc_grp.c (revision 7366) @@ -58,7 +58,7 @@ #include "abstract.h" #include "libcschem.h" -csch_inline csch_role_t csch_role_str2role(const char *str) +RND_INLINE csch_role_t csch_role_str2role(const char *str) { if ((str == NULL) || (*str == '\0')) return CSCH_ROLE_empty; if (strcmp(str, "bus-net") == 0) return CSCH_ROLE_BUS_NET; @@ -71,7 +71,7 @@ return CSCH_ROLE_invalid; } -csch_inline void csch_role_set(csch_cgrp_t *grp, const char *val) +RND_INLINE void csch_role_set(csch_cgrp_t *grp, const char *val) { grp->srole = val; grp->role = csch_role_str2role(val); @@ -463,7 +463,7 @@ } } -csch_inline double cgrp_rotdir(csch_cgrp_t *cgrp) +RND_INLINE double cgrp_rotdir(csch_cgrp_t *cgrp) { return cgrp->mirx ^ cgrp->miry ? -1.0 : 1.0; } @@ -538,7 +538,7 @@ return res; } -csch_inline void csch_cgrp_inverse_matrix_(g2d_xform_t *dst, const csch_cgrp_t *cgrp) +RND_INLINE void csch_cgrp_inverse_matrix_(g2d_xform_t *dst, const csch_cgrp_t *cgrp) { double det = mx33det(cgrp->xform.mx); g2d_xform_t mx = mx33adj(cgrp->xform.mx); Index: trunk/src/libcschem/cnc_grp_child.h =================================================================== --- trunk/src/libcschem/cnc_grp_child.h (revision 7365) +++ trunk/src/libcschem/cnc_grp_child.h (revision 7366) @@ -57,7 +57,7 @@ -csch_inline csch_child_xform_t *csch_grp_ref_get_child_xform(csch_cgrp_t *grp, long idx) +RND_INLINE csch_child_xform_t *csch_grp_ref_get_child_xform(csch_cgrp_t *grp, long idx) { if (grp->hdr.type != CSCH_CTYPE_GRP_REF) return NULL; if ((idx < 0) || (idx >= grp->data.ref.child_xform.used)) return NULL; @@ -64,7 +64,7 @@ return grp->data.ref.child_xform.array[idx]; } -csch_inline g2d_xform_t csch_grp_ref_parent_mx(csch_chdr_t *obj, csch_child_xform_t **cx_out) +RND_INLINE g2d_xform_t csch_grp_ref_parent_mx(csch_chdr_t *obj, csch_child_xform_t **cx_out) { g2d_xform_t mx; csch_child_xform_t *cx; @@ -96,7 +96,7 @@ return mx; } -csch_inline int csch_grp_ref_child_xform_is_empty(csch_child_xform_t *cx) +RND_INLINE int csch_grp_ref_child_xform_is_empty(csch_child_xform_t *cx) { if (cx->movex != 0) return 0; if (cx->movey != 0) return 0; @@ -110,7 +110,7 @@ /* find the topmost group reference above obj (or return NULL if no group ref is found in the ancestry) */ -csch_inline csch_cgrp_t *csch_grp_ref_get_top(csch_sheet_t *sheet, csch_chdr_t *obj) +RND_INLINE csch_cgrp_t *csch_grp_ref_get_top(csch_sheet_t *sheet, csch_chdr_t *obj) { csch_cgrp_t *g, *last = NULL; @@ -126,7 +126,7 @@ } -csch_inline csch_child_xform_t *csch_grp_ref_child_get_cx(csch_cgrp_t *grpref, csch_chdr_t *obj, long *idx_out) +RND_INLINE csch_child_xform_t *csch_grp_ref_child_get_cx(csch_cgrp_t *grpref, csch_chdr_t *obj, long *idx_out) { csch_oidpath_t path = {0}; csch_cgrp_t *g; @@ -184,7 +184,7 @@ assert(cx != NULL); /* returns 1 if child is part of a group ref (directly or indirectly) */ -csch_inline int csch_obj_is_grp_ref_child(csch_sheet_t *sheet, csch_chdr_t *obj) +RND_INLINE int csch_obj_is_grp_ref_child(csch_sheet_t *sheet, csch_chdr_t *obj) { CSCH_PREPARE_GRPREF; return grpref != NULL; @@ -191,7 +191,7 @@ } /* returns 0 if obj is not affected and normal move should be performed */ -csch_inline int csch_grp_ref_child_moved(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t dx, csch_coord_t dy, int undoable) +RND_INLINE int csch_grp_ref_child_moved(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t dx, csch_coord_t dy, int undoable) { int zero = 0; CSCH_PREPARE_GRPREF; @@ -205,7 +205,7 @@ } /* returns 0 if obj is not affected and normal move should be performed */ -csch_inline int csch_grp_ref_child_rotated(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, double da, int undoable) +RND_INLINE int csch_grp_ref_child_rotated(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, double da, int undoable) { int zero = 0; csch_coord_t x, y; @@ -227,7 +227,7 @@ } /* returns 0 if obj is not affected and normal move should be performed */ -csch_inline int csch_grp_ref_child_rotated90(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, int steps, int undoable) +RND_INLINE int csch_grp_ref_child_rotated90(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, int steps, int undoable) { int zero = 0; csch_coord_t x, y; @@ -248,7 +248,7 @@ } /* returns 0 if obj is not affected and normal move should be performed */ -csch_inline int csch_grp_ref_child_mirrored(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t mcx, csch_coord_t mcy, int mirx, int miry, int undoable) +RND_INLINE int csch_grp_ref_child_mirrored(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t mcx, csch_coord_t mcy, int mirx, int miry, int undoable) { int zero = 0; csch_coord_t x, y; Index: trunk/src/libcschem/cnc_grp_ref.c =================================================================== --- trunk/src/libcschem/cnc_grp_ref.c (revision 7365) +++ trunk/src/libcschem/cnc_grp_ref.c (revision 7366) @@ -161,13 +161,13 @@ } -csch_inline void csch_cgrp_childr_xform_apply(csch_sheet_t *sheet, csch_cgrp_t *grpref, csch_child_xform_t *cx, csch_chdr_t *child, long cx_idx) +RND_INLINE void csch_cgrp_childr_xform_apply(csch_sheet_t *sheet, csch_cgrp_t *grpref, csch_child_xform_t *cx, csch_chdr_t *child, long cx_idx) { child->grp_ref_xform.g = grpref; child->grp_ref_xform.idx = cx_idx; } -csch_inline void csch_cgrp_children_xform_apply(csch_sheet_t *sheet, csch_cgrp_t *grpref) +RND_INLINE void csch_cgrp_children_xform_apply(csch_sheet_t *sheet, csch_cgrp_t *grpref) { long n; for(n = 0; n < grpref->data.ref.child_xform.used; n++) { Index: trunk/src/libcschem/cnc_loop.h =================================================================== --- trunk/src/libcschem/cnc_loop.h (revision 7365) +++ trunk/src/libcschem/cnc_loop.h (revision 7366) @@ -30,8 +30,8 @@ /* Iterate over sheet objects */ typedef struct csch_grpo_iter_s csch_grpo_iter_t; -csch_inline csch_chdr_t *csch_grpo_first(csch_grpo_iter_t *it, const csch_sheet_t *sheet, const csch_cgrp_t *grp); -csch_inline csch_chdr_t *csch_grpo_next(csch_grpo_iter_t *it); +RND_INLINE csch_chdr_t *csch_grpo_first(csch_grpo_iter_t *it, const csch_sheet_t *sheet, const csch_cgrp_t *grp); +RND_INLINE csch_chdr_t *csch_grpo_next(csch_grpo_iter_t *it); /*** Implementation ***/ @@ -41,7 +41,7 @@ htip_entry_t *e; }; -csch_inline csch_chdr_t *csch_grpo_first(csch_grpo_iter_t *it, const csch_sheet_t *sheet, const csch_cgrp_t *grp) +RND_INLINE csch_chdr_t *csch_grpo_first(csch_grpo_iter_t *it, const csch_sheet_t *sheet, const csch_cgrp_t *grp) { it->sheet = sheet; it->grp = grp; @@ -52,7 +52,7 @@ return it->e->value; } -csch_inline csch_chdr_t *csch_grpo_next(csch_grpo_iter_t *it) +RND_INLINE csch_chdr_t *csch_grpo_next(csch_grpo_iter_t *it) { it->e = htip_next(&it->grp->id2obj, it->e); if (it->e == NULL) Index: trunk/src/libcschem/cnc_obj.c =================================================================== --- trunk/src/libcschem/cnc_obj.c (revision 7365) +++ trunk/src/libcschem/cnc_obj.c (revision 7366) @@ -35,7 +35,7 @@ #include "cnc_obj.h" -csch_inline csch_displayer_t role2ly(csch_role_t role, csch_chdr_t *obj) +RND_INLINE csch_displayer_t role2ly(csch_role_t role, csch_chdr_t *obj) { switch(role) { case CSCH_ROLE_BUS_NET: return CSCH_DSPLY_BUS; Index: trunk/src/libcschem/cnc_obj.h =================================================================== --- trunk/src/libcschem/cnc_obj.h (revision 7365) +++ trunk/src/libcschem/cnc_obj.h (revision 7366) @@ -58,8 +58,8 @@ } while(0) /* Stop generating redraw events on object changes */ -csch_inline void csch_cobj_redraw_freeze(csch_sheet_t *sheet); -csch_inline void csch_cobj_redraw_unfreeze(csch_sheet_t *sheet); +RND_INLINE void csch_cobj_redraw_freeze(csch_sheet_t *sheet); +RND_INLINE void csch_cobj_redraw_unfreeze(csch_sheet_t *sheet); /* implement heuristics to figure on which display layer an object is supposed to go */ csch_displayer_t csch_cobj_dsply(csch_chdr_t *obj); @@ -71,23 +71,23 @@ /* Object rtree management; del returns 0 on success (object got removed from the tree) and non-zero when the object was not in the tree. */ -csch_inline int csch_cobj_rtree_del(csch_sheet_t *sheet, csch_chdr_t *obj); -csch_inline void csch_cobj_rtree_add(csch_sheet_t *sheet, csch_chdr_t *obj); +RND_INLINE int csch_cobj_rtree_del(csch_sheet_t *sheet, csch_chdr_t *obj); +RND_INLINE void csch_cobj_rtree_add(csch_sheet_t *sheet, csch_chdr_t *obj); /* Insert an object in a group by setting the common header fields; do not use directly, use csch_cobj_insert() */ -csch_inline void csch_cobj_insert_(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid); +RND_INLINE void csch_cobj_insert_(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid); /* Initialize an object by setting the common header fields; the only purpose of this function is to get compiler warnings at every caller when the header is extended (because the number of args would be extended here) */ -csch_inline void csch_cobj_init(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid, csch_ctype_t type); +RND_INLINE void csch_cobj_init(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid, csch_ctype_t type); /* free common fields */ -csch_inline void csch_cobj_uninit(csch_chdr_t *dst); +RND_INLINE void csch_cobj_uninit(csch_chdr_t *dst); /* Recalculate stroke/fill cache in dst */ -csch_inline void csch_cobj_update_pen(csch_chdr_t *dst); +RND_INLINE void csch_cobj_update_pen(csch_chdr_t *dst); /* Insert an object in parent group, using new oid, if the object is not already in a group (so obj->parent must be NULL). Sheet is (the new) @@ -95,25 +95,25 @@ int csch_cobj_insert(csch_sheet_t *sheet, csch_cgrp_t *parent, csch_chdr_t *obj, csch_oid_t oid); /* Returns whether the group is atomic (group parts are not directly editable) */ -csch_inline int csch_grp_is_atomic(csch_sheet_t *sheet, csch_cgrp_t *grp); +RND_INLINE int csch_grp_is_atomic(csch_sheet_t *sheet, csch_cgrp_t *grp); /* Returns 1 if obj is locked for any reason (lock property, group-lock); this means obj should not be edited directly. */ -csch_inline int csch_cobj_is_locked(csch_chdr_t *obj); +RND_INLINE int csch_cobj_is_locked(csch_chdr_t *obj); /* Returns 1 if obj is locked with the lock property directly or through parent, but ignores group locking */ -csch_inline int csch_cobj_is_explicit_locked(csch_chdr_t *obj); +RND_INLINE int csch_cobj_is_explicit_locked(csch_chdr_t *obj); /* Similar to csch_cobj_is_locked() but returns the first parent that is not locked; doesn't return sheet->direct; returns NULL if no such parent found */ -csch_inline csch_chdr_t *csch_cobj_first_unlocked(csch_chdr_t *obj); +RND_INLINE csch_chdr_t *csch_cobj_first_unlocked(csch_chdr_t *obj); /* Similar to csch_cobj_is_locked() but returns the first parent that is explicitly locked using the lock attr; doesn't return sheet->direct; returns NULL if no such parent found */ -csch_inline csch_chdr_t *csch_cobj_first_explicit_locked(csch_chdr_t *obj); +RND_INLINE csch_chdr_t *csch_cobj_first_explicit_locked(csch_chdr_t *obj); /* Modify common properties (doc: {des3:81}) of any object */ void csch_commprp_modify(csch_sheet_t *sheet, csch_chdr_t *obj, int *lock, int *floater, int undoable); @@ -125,11 +125,11 @@ /*** Hash ***/ unsigned csch_chdr_hash(const csch_chdr_t *hdr); -csch_inline unsigned csch_coord_hash(csch_coord_t crd); -csch_inline unsigned csch_angle_hash(double angle); +RND_INLINE unsigned csch_coord_hash(csch_coord_t crd); +RND_INLINE unsigned csch_angle_hash(double angle); unsigned csch_chdr_eq(const csch_chdr_t *hdr1, const csch_chdr_t *hdr2); -csch_inline unsigned csch_angle_eq(double angle1, double angle2); +RND_INLINE unsigned csch_angle_eq(double angle1, double angle2); @@ -137,7 +137,7 @@ /* Internal call for csch_cobj_redraw(): add box to the redraw bbox (sheet->inbbox) without any immediate redraw */ -csch_inline void csch_sheet_inval_lr(csch_sheet_t *sheet, csch_rtree_box_t *box) +RND_INLINE void csch_sheet_inval_lr(csch_sheet_t *sheet, csch_rtree_box_t *box) { if (box->x1 < sheet->invbox.x1) sheet->invbox.x1 = box->x1; if (box->x2 > sheet->invbox.x2) sheet->invbox.x2 = box->x2; @@ -146,7 +146,7 @@ sheet->invbox_valid = 1; } -csch_inline void csch_cobj_redraw_freeze(csch_sheet_t *sheet) +RND_INLINE void csch_cobj_redraw_freeze(csch_sheet_t *sheet) { sheet->redraw_inhibit++; if (sheet->redraw_inhibit == 1) { @@ -156,7 +156,7 @@ } } -csch_inline void csch_cobj_redraw_unfreeze(csch_sheet_t *sheet) +RND_INLINE void csch_cobj_redraw_unfreeze(csch_sheet_t *sheet) { assert(sheet->redraw_inhibit > 0); if (sheet->redraw_inhibit > 0) { @@ -169,7 +169,7 @@ } -csch_inline int csch_cobj_rtree_del(csch_sheet_t *sheet, csch_chdr_t *obj) +RND_INLINE int csch_cobj_rtree_del(csch_sheet_t *sheet, csch_chdr_t *obj) { if ((obj->dsply < 0) || (obj->dsply >= CSCH_DSPLY_max) || (csch_bbox_is_invalid(&obj->bbox))) return -1; @@ -176,7 +176,7 @@ return csch_rtree_delete(&sheet->dsply[obj->dsply], obj, &obj->bbox); } -csch_inline void csch_cobj_rtree_add(csch_sheet_t *sheet, csch_chdr_t *obj) +RND_INLINE void csch_cobj_rtree_add(csch_sheet_t *sheet, csch_chdr_t *obj) { if ((obj->dsply < 0) || (obj->dsply >= CSCH_DSPLY_max) || (csch_bbox_is_invalid(&obj->bbox)) || obj->indirect) return; @@ -184,7 +184,7 @@ } -csch_inline void csch_cobj_insert_(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid) +RND_INLINE void csch_cobj_insert_(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid) { csch_cgrp_t *p; @@ -205,7 +205,7 @@ } } -csch_inline void csch_cobj_init(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid, csch_ctype_t type) +RND_INLINE void csch_cobj_init(csch_chdr_t *dst, csch_sheet_t *sheet, csch_cgrp_t *parent, csch_oid_t oid, csch_ctype_t type) { dst->type = type; csch_cobj_insert_(dst, sheet, parent, oid); @@ -212,7 +212,7 @@ csch_bbox_reset(&dst->bbox); } -csch_inline void csch_cobj_uninit(csch_chdr_t *dst) +RND_INLINE void csch_cobj_uninit(csch_chdr_t *dst) { csch_chdr_t *o; @@ -229,7 +229,7 @@ vtp0_uninit(&dst->conn); } -csch_inline void csch_cobj_update_pen(csch_chdr_t *dst) +RND_INLINE void csch_cobj_update_pen(csch_chdr_t *dst) { csch_cobj_redraw(dst); csch_stroke_(dst); @@ -240,7 +240,7 @@ } -csch_inline int csch_grp_is_atomic(csch_sheet_t *sheet, csch_cgrp_t *grp) +RND_INLINE int csch_grp_is_atomic(csch_sheet_t *sheet, csch_cgrp_t *grp) { if ((grp == NULL) || (grp == &sheet->direct) || (grp == &sheet->indirect)) return 0; @@ -261,7 +261,7 @@ return 0; } -csch_inline int csch_cobj_is_explicit_locked(csch_chdr_t *obj) +RND_INLINE int csch_cobj_is_explicit_locked(csch_chdr_t *obj) { csch_chdr_t *o; @@ -273,7 +273,7 @@ return 0; } -csch_inline int csch_cobj_is_locked(csch_chdr_t *obj) +RND_INLINE int csch_cobj_is_locked(csch_chdr_t *obj) { /* group lock */ if (csch_grp_is_atomic(obj->sheet, obj->parent) && !obj->floater) @@ -283,7 +283,7 @@ } -csch_inline csch_chdr_t *csch_cobj_first_unlocked(csch_chdr_t *obj) +RND_INLINE csch_chdr_t *csch_cobj_first_unlocked(csch_chdr_t *obj) { csch_chdr_t *o; @@ -300,7 +300,7 @@ } -csch_inline csch_chdr_t *csch_cobj_first_explicit_locked(csch_chdr_t *obj) +RND_INLINE csch_chdr_t *csch_cobj_first_explicit_locked(csch_chdr_t *obj) { csch_chdr_t *o; @@ -315,17 +315,17 @@ return NULL; } -csch_inline unsigned csch_coord_hash(csch_coord_t crd) +RND_INLINE unsigned csch_coord_hash(csch_coord_t crd) { return crd; } -csch_inline unsigned csch_angle_hash(double angle) +RND_INLINE unsigned csch_angle_hash(double angle) { return floor(angle * 100.0); } -csch_inline unsigned csch_angle_eq(double angle1, double angle2) +RND_INLINE unsigned csch_angle_eq(double angle1, double angle2) { double diff = angle1 - angle2; return ((diff >= -0.01) && (diff <= +0.01)); Index: trunk/src/libcschem/cnc_pen.c =================================================================== --- trunk/src/libcschem/cnc_pen.c (revision 7365) +++ trunk/src/libcschem/cnc_pen.c (revision 7366) @@ -103,7 +103,7 @@ void (*csch_cb_pen_invalidate_font)(csch_sheet_t *sheet, csch_cpen_t *pen); -csch_inline int csch_pen_same(csch_cpen_t *pen, csch_chdr_t *hdr, int is_fill) +RND_INLINE int csch_pen_same(csch_cpen_t *pen, csch_chdr_t *hdr, int is_fill) { csch_comm_str_t *target; Index: trunk/src/libcschem/cnc_pen.h =================================================================== --- trunk/src/libcschem/cnc_pen.h (revision 7365) +++ trunk/src/libcschem/cnc_pen.h (revision 7366) @@ -84,7 +84,7 @@ /* Return the object pen falling back to the "unknown pen" when not available */ -csch_inline csch_cpen_t *csch_stroke_(csch_chdr_t *hdr) +RND_INLINE csch_cpen_t *csch_stroke_(csch_chdr_t *hdr) { if (hdr->stroke == NULL) { csch_cgrp_t *grp = hdr->parent; @@ -100,7 +100,7 @@ #define csch_stroke(sheet, obj) csch_stroke_(&(obj->hdr)) /* same as csch_stroke_() but with an option to use fallback pens from a group */ -csch_inline csch_cpen_t *csch_stroke_fallback_(csch_chdr_t *hdr, csch_cgrp_t *fallback) +RND_INLINE csch_cpen_t *csch_stroke_fallback_(csch_chdr_t *hdr, csch_cgrp_t *fallback) { csch_cpen_t *res = csch_stroke_(hdr); if ((res == &csch_pen_default_unknown) && (fallback != NULL)) { @@ -113,7 +113,7 @@ #define csch_stroke_fallback(sheet, obj, fb) csch_stroke_fallback_(&(obj->hdr), fb) /* Return the object pen falling back to the "unknown pen" when not available */ -csch_inline csch_cpen_t *csch_fill_(csch_chdr_t *hdr) +RND_INLINE csch_cpen_t *csch_fill_(csch_chdr_t *hdr) { if (hdr->fill == NULL) { csch_cgrp_t *grp = hdr->parent; @@ -130,7 +130,7 @@ /* same as csch_stroke_() but with an option to use fallback pens from a group */ -csch_inline csch_cpen_t *csch_fill_fallback_(csch_chdr_t *hdr, csch_cgrp_t *fallback) +RND_INLINE csch_cpen_t *csch_fill_fallback_(csch_chdr_t *hdr, csch_cgrp_t *fallback) { csch_cpen_t *res = csch_fill_(hdr); if ((res == &csch_pen_default_unknown) && (fallback != NULL)) { Index: trunk/src/libcschem/cnc_poly.c =================================================================== --- trunk/src/libcschem/cnc_poly.c (revision 7365) +++ trunk/src/libcschem/cnc_poly.c (revision 7366) @@ -360,7 +360,7 @@ poly_inst2spec }; -csch_inline unsigned csch_contour_hash(const csch_chdr_t *obj) +RND_INLINE unsigned csch_contour_hash(const csch_chdr_t *obj) { switch(obj->type) { case CSCH_CTYPE_LINE: return csch_line_hash_((const csch_line_t *)obj, 0, 1); @@ -370,7 +370,7 @@ return 0; } -csch_inline int csch_contour_keyeq(const csch_chdr_t *p1, const csch_chdr_t *p2) +RND_INLINE int csch_contour_keyeq(const csch_chdr_t *p1, const csch_chdr_t *p2) { if (p1->type != p2->type) return 0; switch(p1->type) { Index: trunk/src/libcschem/cnc_text.c =================================================================== --- trunk/src/libcschem/cnc_text.c (revision 7365) +++ trunk/src/libcschem/cnc_text.c (revision 7366) @@ -192,7 +192,7 @@ } /* Mirror and return rot_deg as mirx and miry directs */ -csch_inline double text_mirror_rot(csch_text_t *text, double rot_deg, int mirx, int miry) +RND_INLINE double text_mirror_rot(csch_text_t *text, double rot_deg, int mirx, int miry) { double rot, sx, sy; Index: trunk/src/libcschem/cnc_text.h =================================================================== --- trunk/src/libcschem/cnc_text.h (revision 7365) +++ trunk/src/libcschem/cnc_text.h (revision 7366) @@ -119,7 +119,7 @@ void csch_text_invalidate_all_project(csch_project_t *prj, int dynonly); /* Return rendered text; never returns NULL. */ -csch_inline const char *csch_text_get_rtext(csch_text_t *text); +RND_INLINE const char *csch_text_get_rtext(csch_text_t *text); /* Return the number of non-7-bit-ASCII-printable characters in rendered txt string */ @@ -127,7 +127,7 @@ /*** Implementation ***/ -csch_inline const char *csch_text_get_rtext(csch_text_t *text) +RND_INLINE const char *csch_text_get_rtext(csch_text_t *text) { if (text->rtext == NULL) csch_text_dyntext_render(text); Index: trunk/src/libcschem/cnc_text_dyn.c =================================================================== --- trunk/src/libcschem/cnc_text_dyn.c (revision 7365) +++ trunk/src/libcschem/cnc_text_dyn.c (revision 7366) @@ -41,7 +41,7 @@ #include "project.h" #include "util_path.h" -csch_inline const csch_chdr_t *get_attrib_obj(char **path, const csch_text_t *text) +RND_INLINE const csch_chdr_t *get_attrib_obj(char **path, const csch_text_t *text) { const csch_chdr_t *hdr = &text->hdr; for(;;) { Index: trunk/src/libcschem/compile.h =================================================================== --- trunk/src/libcschem/compile.h (revision 7365) +++ trunk/src/libcschem/compile.h (revision 7366) @@ -40,7 +40,7 @@ /*** for lib itnernal use ***/ int csch_compile_connect_net_to(csch_anet_t **net, csch_ahdr_t *a, int allow_reconn); -csch_inline void csch_compile_add_source(csch_cgrp_t *src, csch_ahdr_t *abst) +RND_INLINE void csch_compile_add_source(csch_cgrp_t *src, csch_ahdr_t *abst) { vtl0_append(&src->aid, abst->aid); vtp0_append(&abst->srcs, src); Index: trunk/src/libcschem/concrete.h =================================================================== --- trunk/src/libcschem/concrete.h (revision 7365) +++ trunk/src/libcschem/concrete.h (revision 7366) @@ -280,7 +280,7 @@ csch_sheet_t *csch_sheet_alloc(csch_project_t *parent); void csch_sheet_free(csch_sheet_t *); -csch_inline const csch_rtree_box_t *csch_sheet_bbox(csch_sheet_t *sheet); +RND_INLINE const csch_rtree_box_t *csch_sheet_bbox(csch_sheet_t *sheet); void csch_sheet_bbox_update(csch_sheet_t *sheet); csch_oid_t csch_oid_new(csch_sheet_t *sheet, csch_cgrp_t *grp); @@ -300,10 +300,10 @@ char *csch_chdr_to_oidpath_str(const csch_chdr_t *chdr); /* An object is selected if it is ->selected or if any of its parents is ->selected */ -csch_inline int csch_chdr_is_selected(csch_chdr_t *obj); +RND_INLINE int csch_chdr_is_selected(csch_chdr_t *obj); /* An object is selected if it is ->selected or if any of its parents is ->selected */ -csch_inline int csch_chdr_any_parent_selected(csch_chdr_t *obj); +RND_INLINE int csch_chdr_any_parent_selected(csch_chdr_t *obj); /* Return common string for str; if not already allocated and alloc != 0, strup and insert str to common strings. If str is NULL or not found/allocated, @@ -312,7 +312,7 @@ /*** implementation ***/ -csch_inline const csch_rtree_box_t *csch_sheet_bbox(csch_sheet_t *sheet) +RND_INLINE const csch_rtree_box_t *csch_sheet_bbox(csch_sheet_t *sheet) { if (csch_bbox_is_invalid(&sheet->bbox)) csch_sheet_bbox_update(sheet); @@ -319,7 +319,7 @@ return &sheet->bbox; } -csch_inline int csch_chdr_is_selected(csch_chdr_t *obj) +RND_INLINE int csch_chdr_is_selected(csch_chdr_t *obj) { for(;obj != NULL; obj = &obj->parent->hdr) if (obj->selected) @@ -328,7 +328,7 @@ return 0; } -csch_inline int csch_chdr_any_parent_selected(csch_chdr_t *obj) +RND_INLINE int csch_chdr_any_parent_selected(csch_chdr_t *obj) { return csch_chdr_is_selected(&obj->parent->hdr); } @@ -335,13 +335,13 @@ /* Returns 1 if obj is a group or group ref, 0 for other objects */ -csch_inline int csch_obj_is_grp(const csch_chdr_t *obj) +RND_INLINE int csch_obj_is_grp(const csch_chdr_t *obj) { return ((obj != NULL) && ((obj->type == CSCH_CTYPE_GRP) || (obj->type == CSCH_CTYPE_GRP_REF))); } /* Returns 1 if obj is deleted (not part of the active objects of the sheet) */ -csch_inline int csch_obj_is_deleted(const csch_chdr_t *obj) +RND_INLINE int csch_obj_is_deleted(const csch_chdr_t *obj) { return (obj->link.parent == &obj->sheet->deleted); } Index: trunk/src/libcschem/engine.h =================================================================== --- trunk/src/libcschem/engine.h (revision 7365) +++ trunk/src/libcschem/engine.h (revision 7366) @@ -78,11 +78,11 @@ /* Clean up after csch_eng_call_strmod(). defval must be the same pointer that was passed to csch_eng_call_strmod() */ -csch_inline void csch_eng_free_strmod(const char **res, const char *defval); +RND_INLINE void csch_eng_free_strmod(const char **res, const char *defval); /*** implementation ***/ -csch_inline void csch_eng_free_strmod(const char **res, const char *defval) +RND_INLINE void csch_eng_free_strmod(const char **res, const char *defval) { if (*res != defval) { free((char *)(*res)); Index: trunk/src/libcschem/integrity.c =================================================================== --- trunk/src/libcschem/integrity.c (revision 7365) +++ trunk/src/libcschem/integrity.c (revision 7366) @@ -52,9 +52,9 @@ } \ } while(0) -csch_inline int igy_cnc_grp(void *parent, csch_cgrp_t *grp, const char *called_from); +RND_INLINE int igy_cnc_grp(void *parent, csch_cgrp_t *grp, const char *called_from); -csch_inline int igy_cnc_conn(void *parent, csch_conn_t *c, const char *called_from) +RND_INLINE int igy_cnc_conn(void *parent, csch_conn_t *c, const char *called_from) { int res = 0, had_two_grps = 0; csch_sheet_t *sheet = c->hdr.sheet; @@ -91,7 +91,7 @@ return res; } -csch_inline int igy_cnc_obj(csch_cgrp_t *parent, csch_chdr_t *obj, const char *called_from) +RND_INLINE int igy_cnc_obj(csch_cgrp_t *parent, csch_chdr_t *obj, const char *called_from) { int res = 0; @@ -127,7 +127,7 @@ /* Recursive intersection search: set ->mark on any object that is in the same group and on the CSCH_DSPLY_WIRE layer that are reachable through intersections from obj */ -csch_inline void igy_wirenet_find_segs_from(csch_chdr_t *obj) +RND_INLINE void igy_wirenet_find_segs_from(csch_chdr_t *obj) { csch_chdr_t *pair; csch_rtree_it_t it; @@ -153,7 +153,7 @@ } } -csch_inline int igy_wirenet(void *parent, csch_cgrp_t *wn, const char *called_from) +RND_INLINE int igy_wirenet(void *parent, csch_cgrp_t *wn, const char *called_from) { int res = 0; long wnlen = htip_length(&wn->id2obj); @@ -206,7 +206,7 @@ return res; } -csch_inline int igy_cnc_grp(void *parent, csch_cgrp_t *grp, const char *called_from) +RND_INLINE int igy_cnc_grp(void *parent, csch_cgrp_t *grp, const char *called_from) { int res = 0; htip_entry_t *e; @@ -239,7 +239,7 @@ return res; } -csch_inline int igy_cnc_direct(csch_cgrp_t *grp, const char *called_from) +RND_INLINE int igy_cnc_direct(csch_cgrp_t *grp, const char *called_from) { int res = 0; @@ -252,7 +252,7 @@ return res; } -csch_inline int igy_sheet(csch_project_t *proj, csch_sheet_t *sheet, const char *called_from) +RND_INLINE int igy_sheet(csch_project_t *proj, csch_sheet_t *sheet, const char *called_from) { int res = 0; Index: trunk/src/libcschem/intersect.c =================================================================== --- trunk/src/libcschem/intersect.c (revision 7365) +++ trunk/src/libcschem/intersect.c (revision 7366) @@ -42,7 +42,7 @@ static long csch_obj_intersect_obj_(csch_chdr_t *o1, csch_chdr_t *o2, g2d_vect_t **iscp, long *iscp_len); -csch_inline void isc_append(g2d_vect_t **dst, long *dst_len, g2d_vect_t *src, long src_len) +RND_INLINE void isc_append(g2d_vect_t **dst, long *dst_len, g2d_vect_t *src, long src_len) { long n; @@ -56,7 +56,7 @@ } } -csch_inline long isc_ll(csch_line_t *l1, csch_line_t *l2, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_ll(csch_line_t *l1, csch_line_t *l2, g2d_vect_t **iscp, long *iscp_len) { if (*iscp != NULL) { g2d_vect_t ip[2]; @@ -68,7 +68,7 @@ return g2d_isc_sline_sline(&l1->inst, &l2->inst); } -csch_inline long isc_la(csch_line_t *l, csch_arc_t *a, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_la(csch_line_t *l, csch_arc_t *a, g2d_vect_t **iscp, long *iscp_len) { if (*iscp != NULL) { g2d_vect_t ip[2]; @@ -80,13 +80,13 @@ return g2d_isc_sline_sarc(&l->inst, &a->inst); } -csch_inline long isc_aa(csch_arc_t *a1, csch_arc_t *a2, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_aa(csch_arc_t *a1, csch_arc_t *a2, g2d_vect_t **iscp, long *iscp_len) { TODO("g2d needs arc-arc intersection calculations"); return 0; } -csch_inline long isc_po(csch_cpoly_t *p, csch_chdr_t *o, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_po(csch_cpoly_t *p, csch_chdr_t *o, g2d_vect_t **iscp, long *iscp_len) { long n, res = 0; for(n = 0; n < p->outline.used; n++) { @@ -96,7 +96,7 @@ return res; } -csch_inline long isc_pp(csch_cpoly_t *p1, csch_cpoly_t *p2, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_pp(csch_cpoly_t *p1, csch_cpoly_t *p2, g2d_vect_t **iscp, long *iscp_len) { long n, res = 0; for(n = 0; n < p1->outline.used; n++) { @@ -106,7 +106,7 @@ return res; } -csch_inline long isc_go(csch_cgrp_t *g, csch_chdr_t *o, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_go(csch_cgrp_t *g, csch_chdr_t *o, g2d_vect_t **iscp, long *iscp_len) { long res = 0; htip_entry_t *e; @@ -117,7 +117,7 @@ return res; } -csch_inline long isc_gg(csch_cgrp_t *g1, csch_cgrp_t *g2, g2d_vect_t **iscp, long *iscp_len) +RND_INLINE long isc_gg(csch_cgrp_t *g1, csch_cgrp_t *g2, g2d_vect_t **iscp, long *iscp_len) { long res = 0; htip_entry_t *e; Index: trunk/src/libcschem/oidpath.c =================================================================== --- trunk/src/libcschem/oidpath.c (revision 7365) +++ trunk/src/libcschem/oidpath.c (revision 7366) @@ -61,7 +61,7 @@ return csch_oidpath_parse_relative(dst, src); } -csch_inline csch_chdr_t *csch_oidpath_resolve_in_(csch_cgrp_t *curr, const csch_oidpath_t *path, long start_idx) +RND_INLINE csch_chdr_t *csch_oidpath_resolve_in_(csch_cgrp_t *curr, const csch_oidpath_t *path, long start_idx) { int n; Index: trunk/src/libcschem/oidpath.h =================================================================== --- trunk/src/libcschem/oidpath.h (revision 7365) +++ trunk/src/libcschem/oidpath.h (revision 7366) @@ -55,7 +55,7 @@ /* Returns wheter p1 has the same path as p2; returns 1 on match, 0 on mismatch */ int csch_oidpath_eq(const csch_oidpath_t *p1, const csch_oidpath_t *p2); -csch_inline int csch_oidpath_is_empty(const csch_oidpath_t *path) +RND_INLINE int csch_oidpath_is_empty(const csch_oidpath_t *path) { return path->vt.used == 0; } Index: trunk/src/libcschem/operation.c =================================================================== --- trunk/src/libcschem/operation.c (revision 7365) +++ trunk/src/libcschem/operation.c (revision 7366) @@ -77,7 +77,7 @@ return ops[type]; } -csch_inline csch_chdr_t *csch_cnc_remove_(csch_sheet_t *sheet, csch_chdr_t *obj, csch_cnc_common_remove_t how) +RND_INLINE csch_chdr_t *csch_cnc_remove_(csch_sheet_t *sheet, csch_chdr_t *obj, csch_cnc_common_remove_t how) { const csch_ops_t *ops = csch_op_get(obj->type); csch_undo_remove_t *u, utmp; Index: trunk/src/libcschem/plug_library.c =================================================================== --- trunk/src/libcschem/plug_library.c (revision 7365) +++ trunk/src/libcschem/plug_library.c (revision 7366) @@ -59,7 +59,7 @@ return sl; } -csch_inline void csch_lib_uninit(csch_lib_t *sl) +RND_INLINE void csch_lib_uninit(csch_lib_t *sl) { long n; @@ -103,7 +103,7 @@ -csch_inline char *slib_find_realpath(rnd_design_t *hl, csch_lib_master_t *master, char *path, const csch_lib_backend_t **be_out) +RND_INLINE char *slib_find_realpath(rnd_design_t *hl, csch_lib_master_t *master, char *path, const csch_lib_backend_t **be_out) { long n; @@ -131,7 +131,7 @@ } /* recursively sort a lib dir */ -csch_inline void csch_lib_sort(rnd_design_t *hl, csch_lib_t *l) +RND_INLINE void csch_lib_sort(rnd_design_t *hl, csch_lib_t *l) { long n; @@ -143,7 +143,7 @@ } } -csch_inline csch_lib_t *csch_lib_map(rnd_design_t *hl, csch_lib_master_t *master, const csch_lib_backend_t *be, char *path, char *real_path) +RND_INLINE csch_lib_t *csch_lib_map(rnd_design_t *hl, csch_lib_master_t *master, const csch_lib_backend_t *be, char *path, char *real_path) { csch_lib_t *res; Index: trunk/src/libcschem/project.h =================================================================== --- trunk/src/libcschem/project.h (revision 7365) +++ trunk/src/libcschem/project.h (revision 7366) @@ -72,7 +72,7 @@ csch_view_t *csch_view_create(csch_project_t *prj, const char *name); /* Returns current view or NULL */ -csch_inline csch_view_t *csch_view_get_current(csch_project_t *prj); +RND_INLINE csch_view_t *csch_view_get_current(csch_project_t *prj); /* Retuirns view by name using linear search (there'd be only a few views) */ csch_view_t *csch_view_get(csch_project_t *prj, const char *name); @@ -123,7 +123,7 @@ /*** implementation ***/ -csch_inline csch_view_t *csch_view_get_current(csch_project_t *prj) +RND_INLINE csch_view_t *csch_view_get_current(csch_project_t *prj) { if ((prj->curr < 0) || (prj->curr >= prj->views.used)) return NULL; Index: trunk/src/libcschem/rotate.h =================================================================== --- trunk/src/libcschem/rotate.h (revision 7365) +++ trunk/src/libcschem/rotate.h (revision 7366) @@ -32,7 +32,7 @@ #include #include -csch_inline void csch_rotate90_pt(csch_coord_t *x, csch_coord_t *y, csch_coord_t cx, csch_coord_t cy, int n) +RND_INLINE void csch_rotate90_pt(csch_coord_t *x, csch_coord_t *y, csch_coord_t cx, csch_coord_t cy, int n) { csch_coord_t dx = *x - cx, dy = *y - cy; switch(n & 0x3) { @@ -42,7 +42,7 @@ } } -csch_inline void csch_rotate_pt(csch_coord_t *x, csch_coord_t *y, csch_coord_t cx, csch_coord_t cy, double cosa, double sina) +RND_INLINE void csch_rotate_pt(csch_coord_t *x, csch_coord_t *y, csch_coord_t cx, csch_coord_t cy, double cosa, double sina) { csch_coord_t px = *x - cx, py = *y - cy; @@ -50,7 +50,7 @@ *y = rnd_round(py * cosa - px * sina + cy); } -csch_inline void csch_mirror_pt(csch_coord_t *x, csch_coord_t *y, csch_coord_t mcx, csch_coord_t mcy, int mirx, int miry) +RND_INLINE void csch_mirror_pt(csch_coord_t *x, csch_coord_t *y, csch_coord_t mcx, csch_coord_t mcy, int mirx, int miry) { if (mirx) *x = 2*mcx - *x; Index: trunk/src/libcschem/util_wirenet.c =================================================================== --- trunk/src/libcschem/util_wirenet.c (revision 7365) +++ trunk/src/libcschem/util_wirenet.c (revision 7366) @@ -126,7 +126,7 @@ return grp; } -csch_inline void remove_grp_if_empty(csch_sheet_t *sheet, csch_cgrp_t *grp) +RND_INLINE void remove_grp_if_empty(csch_sheet_t *sheet, csch_cgrp_t *grp) { if ((grp == NULL) || (grp->id2obj.used != 0) || (csch_obj_is_deleted(&grp->hdr))) return; @@ -144,7 +144,7 @@ } wire_merge_t; /* Return unique direction; 180 degree shift doesn't make a difference */ -csch_inline long line_dir(csch_line_t *line) +RND_INLINE long line_dir(csch_line_t *line) { double l, dx = line->inst.c.p2.x - line->inst.c.p1.x, dy = line->inst.c.p2.y - line->inst.c.p1.y; int sig, sdx, sdy; @@ -184,7 +184,7 @@ /* merges any lines that connect with "line" from within the same wirenet and has the same direction; line is never removed */ -csch_inline void csch_wirenet_recalc_merge(csch_sheet_t *sheet, csch_line_t *line) +RND_INLINE void csch_wirenet_recalc_merge(csch_sheet_t *sheet, csch_line_t *line) { wire_merge_t ctx = {0}; g2d_vect_t min, max; @@ -607,7 +607,7 @@ unsigned has_segmap:1; } crmap_t; -csch_inline void map_seg_obj(crmap_t *map, csch_chdr_t *obj) +RND_INLINE void map_seg_obj(crmap_t *map, csch_chdr_t *obj) { csch_line_t *l = (csch_line_t *)obj; @@ -624,7 +624,7 @@ map->seg_next++; } -csch_inline void map_seg_cr(crmap_t *map, csch_line_t *lo, csch_line_t *lp, int segmap_lp_junction, int lp_is_junc) +RND_INLINE void map_seg_cr(crmap_t *map, csch_line_t *lo, csch_line_t *lp, int segmap_lp_junction, int lp_is_junc) { int id_lo, id_lp; @@ -821,7 +821,7 @@ } /* Recalculate junctions of a wirenet and remove the wirenet if it became empty */ -csch_inline void wirenet_remove_or_recalc(csch_sheet_t *sheet, csch_cgrp_t *wirenet) +RND_INLINE void wirenet_remove_or_recalc(csch_sheet_t *sheet, csch_cgrp_t *wirenet) { csch_wirenet_recalc_junctions(sheet, wirenet);