This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Problem building vector/reim_source.c


I don't think this is legal C89 code (from vector/reim_source.c):

QUALIFIED_REAL_VIEW(gsl_vector, view)
FUNCTION(gsl_vector, real) (QUALIFIED_TYPE(gsl_vector) * v)
{
  REAL_TYPE(gsl_vector) s = NULL_VECTOR;

  s.data = v->data;
  s.size = v->size;
  s.stride = MULTIPLICITY * v->stride;
  s.block = 0;  /* FIXME: should be v->block, but cannot point to
                   block of different type */
  s.owner = 0;

  {
    QUALIFIED_REAL_VIEW(gsl_vector,view) view = NULL_VECTOR_VIEW;
    ((REAL_VIEW(gsl_vector,view) *)(&view))->vector = s;
    return view;
  }
}

The Solaris C compiler gives:

cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -mr -Qn -xstrconst -xO2
-xtarget=generic -c reim.c  -KPIC -DPIC -o reim.o
"./reim_source.c", line 35: left operand must be modifiable lvalue: op "="
"./reim_source.c", line 53: left operand must be modifiable lvalue: op "="
"./reim_source.c", line 35: left operand must be modifiable lvalue: op "="
"./reim_source.c", line 53: left operand must be modifiable lvalue: op "="
"./reim_source.c", line 35: left operand must be modifiable lvalue: op "="
"./reim_source.c", line 53: left operand must be modifiable lvalue: op "="
cc: acomp failed for reim.c

I don't believe you can cast an lvalue.

-- 
albert chin (china@thewrittenword.com)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]