Hi Jon

How is your second answer any fuller than your first?

I'm no expert in mingw or I wouldn't be asking such simple questions to
begin with.
If you had provided a link to a more recent version of stralign.h you are
referring to as I asked, I could have tried it myself plus everything else
with it that is more recent.
I gave you exactly the links to what I am using and the dates they
mentioned.

In absence of a more recent link to what you are refering to, I've guessed
a newer version of headers might be here:
http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v2.0.8.tar.gz/download
I still have no idea as to what you are referring to as latest or later
though so I can only discuss what I have found.

I've extracted stralign.h, from the file above, and in that version the
line you can't find, but that is in the above newer version and my
"old" one is on 116:
I just cut and pasted the "if(WSTR_ALIGNED(String)) return
wcsrchr((PCWSTR)String,Character);"
exactly from your message and hit find to find it.

Did you miss it or is it still not in yours? Because that suggests I still
have an "old" version otherwise, but again I don't know, because I don't
know what *you* are looking at or from where.

But in any case, the stralign.h from the tar file above, *does* fix the
problem for me. It seems just some code guards were wrong.

So to be explicit I am saying the new version of stralign.h I obtained from
here:
http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v2.0.8.tar.gz/download

when applied to my REV3 version of files I obtained from here:
http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/seh/

fixes the problem for me and suggests the problem has been fixed generally,
which is great, except:
I still don't know where a later version to what I'm using exactly is and I
don't really want a "custom" version like I have effectively made, by
selectively updated one file way I have, as I can't direct other people to
use such a thing or ask help from people easily while I'm using such a
custom version.

So my question remains, open to anyone: where is the latest version of
mingw that is the logical successor of the REV3 version I use (that I
linked to above). Really anything newer.

Or am I really supposed to manually merge the later tar file I have
downloaded above with my release earlier REV3 version for now? I assume
not. But if so, my other question would be, where is the info to do that
properly. And also, when is there likely to be another "complete" version
like the one I use if I decide to avoid doing any merge. Something like a
4.9.0 version or something that's packaged the one I already use. I'll
mention again, it's this one:
http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/seh/

Sorry for being so verbose, but I don't want to go round and round for such
a simple question.

It's hard to "complain" when your time is "free", like mine is "free" to
explain this, so I'll say this as an observation not a complaint:
FWIW, I think answers on this site are too terse for the inexperienced.
I think that makes it harder for people to contribute back. But thanks for
trying.

Thanks
Glen

Just FYI: A diff from what I was using that was problematic for me, to the
newer version that seems to work is here:

-#if defined (__amd64__) || defined (__arm__)
+#if defined(_X86_)
 #define WSTR_ALIGNED(s) TRUE
-#else
-#define WSTR_ALIGNED(s) (((DWORD_PTR)(s) & 1) == 0)
-#endif
-#if defined(_X86_)
 #define ua_CharUpperW CharUpperW
 #define ua_lstrcmpiW lstrcmpiW
 #define ua_lstrcmpW lstrcmpW
@@ -30,7 +26,7 @@ extern "C" {
 #define ua_wcsrchr wcsrchr

   PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source);
-#if !defined (__CRT__NO_INLINE) && !defined (__CYGWIN__)
+#ifndef __CRT__NO_INLINE
   __CRT_INLINE PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source) {
return wcscpy(Destination,Source); }
 #else
 #define ua_wcscpy wcscpy
@@ -160,7 +156,7 @@ extern "C" {
 #define __UA_WSTRSIZE(s) ((__UA_WCSLEN(s)+1)*sizeof(WCHAR))
 #define __UA_STACKCOPY(p,s) memcpy(_alloca(s),p,s)

-#if defined (__amd64__) || defined (__arm__) || defined (_X86_)
+#ifdef _X86_
 #define WSTR_ALIGNED_STACK_COPY(d,s) (*(d) = (PCWSTR)(s))
 #else
 #define WSTR_ALIGNED_STACK_COPY(d,s) { PCUWSTR __ua_src; ULONG __ua_size;
PWSTR __ua_dst; __ua_src = (s); if(WSTR_ALIGNED(__ua_src)) { __ua_dst =
(PWSTR)__ua_src; } else { __ua_size = __UA_WSTRSIZE(__ua_src); __ua_dst =
(PWSTR)_alloca(__ua_size); memcpy(__ua_dst,__ua_src,__ua_size); } *(d) =
(PCWSTR)__ua_dst; }
@@ -168,7 +164,7 @@ extern "C" {

 #define ASTR_ALIGNED_STACK_COPY(d,s) (*(d) = (PCSTR)(s))

-#if !defined (_X86_) && !defined (__amd64__) && !defined (__arm__)
+#ifndef _X86_
 #define __UA_STRUC_ALIGNED(t,s) (((DWORD_PTR)(s) &
(TYPE_ALIGNMENT(t)-1))==0)
 #define STRUC_ALIGNED_STACK_COPY(t,s) __UA_STRUC_ALIGNED(t,s) ? ((t const
*)(s)) : ((t const *)__UA_STACKCOPY((s),sizeof(t)))
 #else

-----------------------------------------------------
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to