------- Comment #8 from redi at gcc dot gnu dot org 2010-04-12 12:30 ------- (In reply to comment #7) > smart pointers to addresses within a shared memory region
then shouldn't that be "SmartPtr<volatile T>" rather than "volatile SmartPtr<T>" ? the former points to an object which might change due to effects outside the program, the latter implies that the smart pointer itself might change, which only makes sense if the smart pointer object exists in shared memory (as opposed to pointing to shared memory) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7614