From 50391ff5436f561f0d547de605adfc9527a336cc Mon Sep 17 00:00:00 2001 From: rillig Date: Sat, 29 Sep 2007 12:08:25 +0000 Subject: Fixed gcc 4 error message. --- cad/felt/distinfo | 3 ++- cad/felt/patches/patch-ao | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 cad/felt/patches/patch-ao (limited to 'cad/felt') diff --git a/cad/felt/distinfo b/cad/felt/distinfo index 3c1c7d739a3..8f029cad3aa 100644 --- a/cad/felt/distinfo +++ b/cad/felt/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.12 2007/08/08 19:15:44 joerg Exp $ +$NetBSD: distinfo,v 1.13 2007/09/29 12:08:25 rillig Exp $ SHA1 (felt-3.05.src.tar.gz) = da3e1ced626cc1c65a570d3e6e242252c039c28b RMD160 (felt-3.05.src.tar.gz) = 0d2a363a6ef09f3b3a0e2be186c4c051ac1ea19a @@ -20,3 +20,4 @@ SHA1 (patch-ak) = 58591211dd9a04983613be83b1e479ef9ea833a7 SHA1 (patch-al) = 1918af0d648ae4f00a720f5402524980588467c8 SHA1 (patch-am) = cee82a628575135bf8cc45c4737ab679b5cffe72 SHA1 (patch-an) = 00a2196b96bfe0823ba58bb444576131df398682 +SHA1 (patch-ao) = 749e6edcb0061e39371ef4be668b4523c3e4dd89 diff --git a/cad/felt/patches/patch-ao b/cad/felt/patches/patch-ao new file mode 100644 index 00000000000..2a32889223b --- /dev/null +++ b/cad/felt/patches/patch-ao @@ -0,0 +1,47 @@ +$NetBSD: patch-ao,v 1.1 2007/09/29 12:08:25 rillig Exp $ + +Since gcc 4, type casts are no longer lvalues. + +--- src/Burlap/descriptor.h.orig 2000-02-21 23:44:29.000000000 +0100 ++++ src/Burlap/descriptor.h 2007-09-29 14:04:42.000000000 +0200 +@@ -65,6 +65,7 @@ + + # define D_NumTypes (T_External + 1) + ++# define D_uptr_as(d, Type) (*((Type *) &((d) -> u.ptr))) + # define D_Type(d) ((d) -> type) + # define D_Temp(d) ((d) -> temp) + # define D_Trapped(d) ((d) -> trapped) +@@ -80,19 +81,19 @@ + # define D_Array(d) ((d) -> u.array) + # define D_Row(d) ((d) -> u.row) + # define D_Matrix(d) ((d) -> u.mtx) +-# define D_MatrixPtr(d) ((Matrix *) (d) -> u.ptr) +-# define D_Analysis(d) ((Analysis *) (d) -> u.ptr) +-# define D_Constraint(d) ((Constraint *) (d) -> u.ptr) +-# define D_Definition(d) ((Definition *) (d) -> u.ptr) +-# define D_Element(d) ((Element *) (d) -> u.ptr) +-# define D_Force(d) ((Force *) (d) -> u.ptr) +-# define D_Load(d) ((Distributed *) (d) -> u.ptr) +-# define D_Material(d) ((Material *) (d) -> u.ptr) +-# define D_Node(d) ((Node *) (d) -> u.ptr) +-# define D_Pair(d) ((Pair *) (d) -> u.ptr) +-# define D_Problem(d) ((Problem *) (d) -> u.ptr) +-# define D_Stress(d) ((Stress *) (d) -> u.ptr) +-# define D_External(d) ((int (**) ( )) (d) -> u.ptr) ++# define D_MatrixPtr(d) D_uptr_as((d), Matrix *) ++# define D_Analysis(d) D_uptr_as((d), Analysis *) ++# define D_Constraint(d) D_uptr_as((d), Constraint *) ++# define D_Definition(d) D_uptr_as((d), Definition *) ++# define D_Element(d) D_uptr_as((d), Element *) ++# define D_Force(d) D_uptr_as((d), Force *) ++# define D_Load(d) D_uptr_as((d), Distributed *) ++# define D_Material(d) D_uptr_as((d), Material *) ++# define D_Node(d) D_uptr_as((d), Node *) ++# define D_Pair(d) D_uptr_as((d), Pair *) ++# define D_Problem(d) D_uptr_as((d), Problem *) ++# define D_Stress(d) D_uptr_as((d), Stress *) ++# define D_External(d) (*((int (***) ( )) &((d) -> u.ptr))) + # define D_TypeName(d) (type_names [D_Type (d)]) + # define D_Direct(d) (D_Type (d) == T_Analysis || \ + D_Type (d) == T_Problem || D_Type (d) == T_Pair) -- cgit v1.2.3