Nits

Mark Mitchell mark at codesourcery.com
Thu Aug 10 18:21:52 UTC 2000


>>>>> "Jim" == Jim Dehnert <dehnert at baalbek.engr.sgi.com> writes:

    Jim> Is the new wording in 5.2.2 and 5.2 respectively OK?

Almost.  I think that in:

  Note that nothing in this section should be construed to require
  COMDAT usage for objects with internal linkage unless they may in fact
  be referenced outside the translation unit where they appear, for
  instance due to inlining.

the "unless" clause is unnecessary and misleading.  (In other words,
the condition can never be true.)

If a function has internal linkage it cannot be referenced outside the
translation unit.

  static inline void f() { static int x; }

should result in a different `x' everywhere this function is used.

Likewise for:
 
  template <class T>
  static inline void f() { static int x; }
 
I don't think `COMDAT' and `internal linkage' make sense at the same
time.  Am I confused?

--
Mark Mitchell                   mark at codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com




More information about the cxx-abi-dev mailing list