9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] porting help please
@ 2009-09-08 15:44 Fernan Bolando
  2009-09-09  8:36 ` Greg Comeau
  2009-09-09  8:36 ` Greg Comeau
  0 siblings, 2 replies; 3+ messages in thread
From: Fernan Bolando @ 2009-09-08 15:44 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

Hi all

I know it's cheating, but can anybody help me fix an initializer is
not constant error from pcc

error: initializer is not a constant: F0_Prelude_46primLeave

--h file ---
#define VAP_TAG  1

#define WORDSHIFT  5

#define WORDSIZE   (1<<WORDSHIFT)
#define WORDMASK   (WORDSIZE-1)
#define NS         (WORDSIZE>>3)
#define ZAP_BIT    (1L<<(WORDSIZE-1))
----


-- c file ----
unsigned F0_Prelude_46primLeave[] = {
  CAPTAG(FN_Prelude_46primLeave,1)
#ifdef PROFILE
, useLabel(PROF_primLeave)
, 0
, 0
, 0
#endif

----
--
http://www.fernski.com



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9fans] porting help please
  2009-09-08 15:44 [9fans] porting help please Fernan Bolando
@ 2009-09-09  8:36 ` Greg Comeau
  2009-09-09  8:36 ` Greg Comeau
  1 sibling, 0 replies; 3+ messages in thread
From: Greg Comeau @ 2009-09-09  8:36 UTC (permalink / raw)
  To: 9fans

In article <1d5d51400909080844q1bee4c3s114ccc5e51ce52f5@mail.gmail.com>,
Fernan Bolando <fernanbolando@mailc.net> wrote:
>...error: initializer is not a constant: F0_Prelude_46primLeave
>--h file ---
>#define VAP_TAG  1
>#define WORDSHIFT  5
>#define WORDSIZE   (1<<WORDSHIFT)
>#define WORDMASK   (WORDSIZE-1)
>#define NS         (WORDSIZE>>3)
>#define ZAP_BIT    (1L<<(WORDSIZE-1))
>-- c file ----
>unsigned F0_Prelude_46primLeave[] = {
>  CAPTAG(FN_Prelude_46primLeave,1)
>#ifdef PROFILE
>, useLabel(PROF_primLeave)
>, 0
>, 0
>, 0
>#endif

The initializers to some things need to be constants.
In your case, it appears that either CAPTAG or useLabel (or both)
have ended up not being #define'd.  Probably the header they are
#define'd in is not being #include'd (you don't show it above,
but then you don't show enough of your code to even reproduce it).

On a relate note, you can see the results of preprocessing
from pcc by using the -E and/or -P options, that way you
can see whether the macro ended up getting substituted
and what it was substituted to -- or not in your case.
Some compilers also have options which will emit the trail of
files #include'd but I don't see that option for pcc.
--
Greg Comeau / 4.3.10.1 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==>     http://www.comeaucomputing.com/tryitout
World Class Compilers:  Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [9fans] porting help please
  2009-09-08 15:44 [9fans] porting help please Fernan Bolando
  2009-09-09  8:36 ` Greg Comeau
@ 2009-09-09  8:36 ` Greg Comeau
  1 sibling, 0 replies; 3+ messages in thread
From: Greg Comeau @ 2009-09-09  8:36 UTC (permalink / raw)
  To: 9fans

In article <1d5d51400909080844q1bee4c3s114ccc5e51ce52f5@mail.gmail.com>,
Fernan Bolando <fernanbolando@mailc.net> wrote:
>error: initializer is not a constant: F0_Prelude_46primLeave

BTW, I would have thought you received a diagnostic about an
implicit function declaration or something along those lines too,
so you may have told the compiler not to warn about that.
That additional diagnostic could be misleading in some cases,
but it could have been another poke in helping you resolve the issue.
--
Greg Comeau / 4.3.10.1 with C++0xisms now in beta!
Comeau C/C++ ONLINE ==>     http://www.comeaucomputing.com/tryitout
World Class Compilers:  Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-09-09  8:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-08 15:44 [9fans] porting help please Fernan Bolando
2009-09-09  8:36 ` Greg Comeau
2009-09-09  8:36 ` Greg Comeau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).