Re: cpp error: attempt to use poisoned "CPP_PREDEFINES"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 09, 2003 at 05:28:05PM -0300, Alexandre Oliva wrote:
> On Sep  9, 2003, Robert Millan <zeratul2@xxxxxxxxxx> wrote:
> 
> > Anyone knows what "poisoned" means here?
> 
> It means the use of this macro is no longer permitted in GCC.  It was
> replaced with some other means to introduce the same feature.  Search
> for CPP_PREDEFINES in the gccint info manual and you'll see what was
> introduced in its stead.

Glad to see GCC has so good internals documentation. I've fixed it to use
TARGET_{OS,CPU}_CPP_BUILTINS, hacked some other config stuff and got c,c++
to pass "make check" with just a few errors.

I'm not sure how to define the __i386__ macro portably though. I'm forced to
add this define unconditionaly in kfreebsdgnu.h:

#undef TARGET_CPU_CPP_BUILTINS
#define TARGET_CPU_CPP_BUILTINS()                      \
  builtin_define ("__i386__");                         \
  builtin_define_std ("i386");                         \
  builtin_assert ("cpu=i386");                         \
  builtin_assert ("machine=i386");

Otherwise stage1 breaks because of xgcc not defining __i386__. Other systems
don't hardcode cpu macros in their headers; What is the correct way to get
these macros defined?

Thanks,

-- 
Robert Millan

"[..] but the delight and pride of Aule is in the deed of making, and in the
thing made, and neither in possession nor in his own mastery; wherefore he
gives and hoards not, and is free from care, passing ever on to some new work."

 -- J.R.R.T, Ainulindale (Silmarillion)


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux