Boost logo

Boost :

Subject: Re: [boost] [Predef] Pre-review comments
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-02-26 08:49:09


On 02/25/2012 11:09 PM, Rene Rivera wrote:

>> I have to do
>> #if defined(BOOST_ARCHITECTURE_X86) || defined(BOOST_ARCHITECTURE_AMD64)
>
> Technically none of them are detecting word size. They are detecting the
> instruction-set, and ABI, for the architecture. Which is the key
> distinction for my use case. The subject of detecting the word size is
> mostly orthogonal to this.

This has nothing to do with detecting word size. I just want to know
that I'm on processor part of the x86 family, because there are big
similarities between those processors even if they have a different ABI.

> The key question is whether IA64 and AMD64 should be considered
> sub-categories of X86? And if so, what would we name the "traditional"
> non-IA64 or AMD64, other than X86?

IA64 has nothing to do with the x86 family.
It's Itanium.

I still don't understand how people can be confused about this.
IA64 (Itanium) is completely unrelated to IA32 (x86) other than the fact
that both were created by Intel.

On ther other hand, amd64 (also known as x86-64) is based on x86 and
simply aimed at moving it to 64-bit and fixing a couple of things.
As a result, they're very similar architectures, to the point where
making the distinction between the two is often useless.

I find it worrying that a library that aims at detecting architectures
makes the very basic mistake of confusing the most widely used
architecture with an old and defunct one that is entirely unrelated.
Plus you were told about this in the other thread already.

> It's starting to sound to me that people want some "meta-architectures"
> defined as opposed to, or perhaps in addition to, the specific
> architectures.

In addition.
This is what I said in my original post, when I said it would be nice to
add additional not mutually-exclusive macros to cover families of
things, just like you already do for BSD-style operating systems.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk