This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Mon, 7 Nov 2011, Andrew MacLeod wrote:Hmm. actually, there is a proposed option flag which I noticed never got implemented when I was looking back through stuff on the weekend:
Actually, this target has no lock free support whatsoever? ie, no compare_and_swap instruction, nor an implementation of sync_lock_test_and_set and sync_lock_release?
I think the libstdc++ standard now requires the class atomic_flag to be lock free in order to conform (n3242 29.7.2)
So I guess this is the situation which all the atomic tests are not even suppose to be run since they aren't supported. My guess is that in the previous releases the c++ header files probably provided a locked implementation of test_and_set, and so the tests would run.For bare-metal targets there should maybe be an option to presume there is just one thread and map all atomic operations to dumb non-atomic versions, which is perfectly valid in such a case. But that's a new feature; we didn't have it for __sync_* either.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |