[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-cvs: pcb.git: branch: master updated (1d6dc09da71e407ece2f042370c2ed350ae8448b)
The branch, master has been updated
via 1d6dc09da71e407ece2f042370c2ed350ae8448b (commit)
from b11b037f3b20721ab4a2b68d25e6681419a1e3a6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
=========
Summary
=========
src/toporouter.c | 56 +++++++++++++++++++++++++++---------------------------
1 files changed, 28 insertions(+), 28 deletions(-)
=================
Commit Messages
=================
commit 1d6dc09da71e407ece2f042370c2ed350ae8448b
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>
toporouter.c: Make inline functions "static inline"
gcc builds break for CFLAGS="-g" only builds (no -O2). Inlineing is only
performed when optimisation is enabled, and unless we make all local
inlined functions "static inline", it does not emit the non-inlined
assembly for them, resulting in undefined symbols at link time.
:100644 100644 41fd4b1... 88c1325... M src/toporouter.c
=========
Changes
=========
commit 1d6dc09da71e407ece2f042370c2ed350ae8448b
Author: Peter Clifton <pcjc2@xxxxxxxxx>
Commit: Peter Clifton <pcjc2@xxxxxxxxx>
toporouter.c: Make inline functions "static inline"
gcc builds break for CFLAGS="-g" only builds (no -O2). Inlineing is only
performed when optimisation is enabled, and unless we make all local
inlined functions "static inline", it does not emit the non-inlined
assembly for them, resulting in undefined symbols at link time.
diff --git a/src/toporouter.c b/src/toporouter.c
index 41fd4b1..88c1325 100644
--- a/src/toporouter.c
+++ b/src/toporouter.c
@@ -303,14 +303,14 @@ lookup_thickness(char *name)
return Settings.LineThickness;
}
-inline gdouble
+static inline gdouble
cluster_keepaway(toporouter_cluster_t *cluster)
{
if(cluster) return lookup_keepaway(cluster->netlist->style);
return lookup_keepaway(NULL);
}
-inline gdouble
+static inline gdouble
cluster_thickness(toporouter_cluster_t *cluster)
{
if(cluster) return lookup_thickness(cluster->netlist->style);
@@ -555,7 +555,7 @@ constraint_netlist(toporouter_constraint_t *c)
return NULL;
}
-inline guint
+static inline guint
epsilon_equals(gdouble a, gdouble b)
{
if(a > b - EPSILON && a < b + EPSILON) return 1;
@@ -763,7 +763,7 @@ point_from_point_to_point(toporouter_vertex_t *a, toporouter_vertex_t *b, gdoubl
}
-inline gint
+static inline gint
coord_wind(gdouble ax, gdouble ay, gdouble bx, gdouble by, gdouble cx, gdouble cy)
{
gdouble rval, dx1, dx2, dy1, dy2;
@@ -786,13 +786,13 @@ point_wind(GtsPoint *a, GtsPoint *b, GtsPoint *c)
return (rval > EPSILON) ? 1 : ((rval < -EPSILON) ? -1 : 0);
}
-inline int
+static inline int
vertex_wind(GtsVertex *a, GtsVertex *b, GtsVertex *c)
{
return point_wind(GTS_POINT(a), GTS_POINT(b), GTS_POINT(c));
}
-inline int
+static inline int
tvertex_wind(toporouter_vertex_t *a, toporouter_vertex_t *b, toporouter_vertex_t *c)
{
return point_wind(GTS_POINT(a), GTS_POINT(b), GTS_POINT(c));
@@ -808,7 +808,7 @@ sloppy_point_wind(GtsPoint *a, GtsPoint *b, GtsPoint *c)
return (rval > 10.) ? 1 : ((rval < -10.) ? -1 : 0);
}
-inline int
+static inline int
sloppy_vertex_wind(GtsVertex *a, GtsVertex *b, GtsVertex *c)
{
return point_wind(GTS_POINT(a), GTS_POINT(b), GTS_POINT(c));
@@ -925,7 +925,7 @@ vertex_move_towards_vertex_values(GtsVertex *v, GtsVertex *p, gdouble d, gdouble
#define tv_on_layer(v,l) (l == TOPOROUTER_BBOX(TOPOROUTER_VERTEX(v)->boxes->data)->layer)
-inline gdouble
+static inline gdouble
min_spacing(toporouter_vertex_t *v1, toporouter_vertex_t *v2)
{
@@ -949,7 +949,7 @@ min_spacing(toporouter_vertex_t *v1, toporouter_vertex_t *v2)
}
// v1 is a vertex in the CDT, and v2 is a net... other way around?
-inline gdouble
+static inline gdouble
min_vertex_net_spacing(toporouter_vertex_t *v1, toporouter_vertex_t *v2)
{
@@ -966,7 +966,7 @@ min_vertex_net_spacing(toporouter_vertex_t *v1, toporouter_vertex_t *v2)
return ms;
}
-inline gdouble
+static inline gdouble
min_oproute_vertex_spacing(toporouter_oproute_t *oproute, toporouter_vertex_t *v2)
{
@@ -1301,7 +1301,7 @@ wind_double(gdouble p1_x, gdouble p1_y, gdouble p2_x, gdouble p2_y, gdouble p3_x
return (rval > 0.0001) ? 1 : ((rval < -0.0001) ? -1 : 0);
}
-inline void
+static inline void
print_toporouter_constraint(toporouter_constraint_t *tc)
{
printf("%f,%f -> %f,%f ",
@@ -1311,7 +1311,7 @@ print_toporouter_constraint(toporouter_constraint_t *tc)
tc->c.edge.segment.v2->p.y);
}
-inline void
+static inline void
print_toporouter_vertex(toporouter_vertex_t *tv)
{
printf("%f,%f ", tv->v.p.x, tv->v.p.y);
@@ -1434,7 +1434,7 @@ vertex_gradient(toporouter_spoint_t *a, toporouter_spoint_t *b)
/*
* Returns gradient of segment given by (x0,y0) & (x1,y1)
*/
-inline gdouble
+static inline gdouble
cartesian_gradient(gdouble x0, gdouble y0, gdouble x1, gdouble y1)
{
if(epsilon_equals(x0,x1)) return INFINITY;
@@ -1445,7 +1445,7 @@ cartesian_gradient(gdouble x0, gdouble y0, gdouble x1, gdouble y1)
/*
* Returns gradient of segment given by (x0,y0) & (x1,y1)
*/
-inline gdouble
+static inline gdouble
point_gradient(GtsPoint *a, GtsPoint *b)
{
return cartesian_gradient(a->x, a->y, b->x, b->y);
@@ -1483,7 +1483,7 @@ vertices_plane_distance(toporouter_spoint_t *a, toporouter_spoint_t *b) {
/*
* Finds the point p distance r away from a on the line segment of a & b
*/
-inline void
+static inline void
vertex_outside_segment(toporouter_spoint_t *a, toporouter_spoint_t *b, gdouble r, toporouter_spoint_t *p)
{
gdouble m;
@@ -1537,19 +1537,19 @@ point_intersect_prop(GtsPoint *a, GtsPoint *b, GtsPoint *c, GtsPoint *d)
( point_wind(c, d, a) ^ point_wind(c, d, b) );
}
-inline int
+static inline int
vertex_intersect_prop(GtsVertex *a, GtsVertex *b, GtsVertex *c, GtsVertex *d)
{
return point_intersect_prop(GTS_POINT(a), GTS_POINT(b), GTS_POINT(c), GTS_POINT(d));
}
-inline int
+static inline int
tvertex_intersect_prop(toporouter_vertex_t *a, toporouter_vertex_t *b, toporouter_vertex_t *c, toporouter_vertex_t *d)
{
return point_intersect_prop(GTS_POINT(a), GTS_POINT(b), GTS_POINT(c), GTS_POINT(d));
}
/*
-inline int
+static inline int
tvertex_intersect(toporouter_vertex_t *a, toporouter_vertex_t *b, toporouter_vertex_t *c, toporouter_vertex_t *d)
{
if( !point_wind(GTS_POINT(a), GTS_POINT(d), GTS_POINT(b)) || !point_wind(GTS_POINT(a), GTS_POINT(c), GTS_POINT(b)) ) return 1;
@@ -1625,7 +1625,7 @@ point_between(GtsPoint *a, GtsPoint *b, GtsPoint *c)
(c->y >= b->y));
}
-inline int
+static inline int
vertex_between(GtsVertex *a, GtsVertex *b, GtsVertex *c)
{
return point_between(GTS_POINT(a), GTS_POINT(b), GTS_POINT(c));
@@ -1846,13 +1846,13 @@ midpoint(GtsPoint *a, GtsPoint *b)
return gts_point_new(gts_point_class(), (a->x + b->x) / 2., (a->y + b->y) / 2., 0.);
}
-inline gdouble
+static inline gdouble
pad_rad(PadType *pad)
{
return (lookup_thickness(pad->Name) / 2.) + lookup_keepaway(pad->Name);
}
-inline gdouble
+static inline gdouble
pin_rad(PinType *pin)
{
return (lookup_thickness(pin->Name) / 2.) + lookup_keepaway(pin->Name);
@@ -3087,7 +3087,7 @@ toporouter_heap_color(gpointer data, gpointer user_data)
v->flags |= (guint) user_data;
}
*/
-inline gdouble
+static inline gdouble
angle_span(gdouble a1, gdouble a2)
{
if(a1 > a2)
@@ -3445,7 +3445,7 @@ triangle_interior_capacity(GtsTriangle *t, toporouter_vertex_t *v)
return INFINITY;
}
-inline toporouter_vertex_t *
+static inline toporouter_vertex_t *
segment_common_vertex(GtsSegment *s1, GtsSegment *s2)
{
if(!s1 || !s2) return NULL;
@@ -3456,14 +3456,14 @@ segment_common_vertex(GtsSegment *s1, GtsSegment *s2)
return NULL;
}
-inline toporouter_vertex_t *
+static inline toporouter_vertex_t *
route_vertices_common_vertex(toporouter_vertex_t *v1, toporouter_vertex_t *v2)
{
return segment_common_vertex(GTS_SEGMENT(v1->routingedge), GTS_SEGMENT(v2->routingedge));
}
-inline guint
+static inline guint
edges_third_edge(GtsSegment *s1, GtsSegment *s2, toporouter_vertex_t **v1, toporouter_vertex_t **v2)
{
if(!s1 || !s2) return 0;
@@ -3976,7 +3976,7 @@ routedata_insert_temppoints(toporouter_route_t *data, GList *temppoints) {
}
-inline gint
+static inline gint
constraint_route_test(toporouter_constraint_t *c, toporouter_route_t *routedata)
{
if(c->box->cluster && c->box->cluster->netlist == routedata->src->netlist) {
@@ -7038,7 +7038,7 @@ print_costmatrix(gdouble *m, guint n)
}
-inline void
+static inline void
init_cost_matrix(gdouble *m, guint n)
{
for(guint i=0;i<n;i++) {
@@ -7086,7 +7086,7 @@ netscore_create(toporouter_t *r, toporouter_route_t *routedata, guint n, guint i
return netscore;
}
-inline void
+static inline void
netscore_destroy(toporouter_netscore_t *netscore)
{
free(netscore->pairwise_nodetour);
_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs