Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
From: Paul E. McKenney <hidden>
Date: 2007-08-15 22:43:31
Also in:
linux-arch, lkml
On Wed, Aug 15, 2007 at 10:52:53PM +0200, Segher Boessenkool wrote:
quoted
quoted
I think this was just terminology confusion here again. Isn't "any code that it cannot currently see" the same as "another compilation unit", and wouldn't the "compilation unit" itself expand if we ask gcc to compile more than one unit at once? Or is there some more specific "definition" for "compilation unit" (in gcc lingo, possibly?)This is indeed my understanding -- "compilation unit" is whatever the compiler looks at in one go. I have heard the word "module" used for the minimal compilation unit covering a single .c file and everything that it #includes, but there might be a better name for this.Yes, that's what's called "compilation unit" :-) [/me double checks] Erm, the C standard actually calls it "translation unit". To be exact, to avoid any more confusion: 5.1.1.1/1: A C program need not all be translated at the same time. The text of the program is kept in units called source files, (or preprocessing files) in this International Standard. A source file together with all the headers and source files included via the preprocessing directive #include is known as a preprocessing translation unit. After preprocessing, a preprocessing translation unit is called a translation unit.
I am OK with "translation" and "compilation" being near-synonyms. ;-) Thanx, Paul