Re: _WIN32_WINNT redefined?

niXman via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 2022-11-02 15:18, Eli Zaretskii wrote:

> Then the stuff in common-defs.h should be augmented to define
> _WIN32_WINNT to the value 0x0600 or greater, if it isn't already high
> enough, but only if the patch for gthreads is being used.  How exactly
> to write the cpp conditional for that, I don't know, but hopefully you
> will be able to figure that out.

no.
just for eyes:
74 #if defined (__MINGW32__) || defined (__CYGWIN__)
75 # ifdef _WIN32_WINNT
76 #  if _WIN32_WINNT < 0x0501
77 #   undef _WIN32_WINNT
78 #   define _WIN32_WINNT 0x0501
79 #  endif
80 # else
81 #  define _WIN32_WINNT 0x0501
82 # endif
83 #endif  /* __MINGW32__ || __CYGWIN__ */

the condition on line 75 is always false, because none of the inclusions 
above include neither `windows.h` nor `winver.h`.
it can be solved by inclusion `windows.h` after line 74.
but I did it and faced with another error:
```
   CXX    gdb.o
   CXX    ada-exp.o
ada-exp.c.tmp:557: warning: "IN" redefined
In file included from 
C:/msys64/home/Sysuser/mingw-gcc-trunk/x86_64-trunk-win32-seh-rt_v10-rev0/mingw64/x86_64-w64-mingw32/include/windef.h:9,
                  from 
C:/msys64/home/Sysuser/mingw-gcc-trunk/x86_64-trunk-win32-seh-rt_v10-rev0/mingw64/x86_64-w64-mingw32/include/windows.h:69,
                  from 
../../../../src/gdb-11.2/gdb/../gdbsupport/common-defs.h:75,
                  from ../../../../src/gdb-11.2/gdb/defs.h:28,
                  from ada-exp.y:38:
C:/msys64/home/Sysuser/mingw-gcc-trunk/x86_64-trunk-win32-seh-rt_v10-rev0/mingw64/x86_64-w64-mingw32/include/minwindef.h:57: 
note: this is the location of the previous definition
    57 | #define IN
       |
ada-exp.c.tmp:482:11: error: 'INT' redeclared as different kind of 
entity
In file included from 
C:/msys64/home/Sysuser/mingw-gcc-trunk/x86_64-trunk-win32-seh-rt_v10-rev0/mingw64/x86_64-w64-mingw32/include/minwindef.h:163:
C:/msys64/home/Sysuser/mingw-gcc-trunk/x86_64-trunk-win32-seh-rt_v10-rev0/mingw64/x86_64-w64-mingw32/include/winnt.h:299:15: 
note: previous declaration 'typedef int INT'
   299 |   typedef int INT;
       |               ^~~
ada-exp.c.tmp:485:13: error: 'FLOAT' redeclared as different kind of 
entity
C:/msys64/home/Sysuser/mingw-gcc-trunk/x86_64-trunk-win32-seh-rt_v10-rev0/mingw64/x86_64-w64-mingw32/include/minwindef.h:142:17: 
note: previous declaration 'typedef float FLOAT'
   142 |   typedef float FLOAT;
       |                 ^~~~~
```

in that case I couldn't figure out why the `ada-exp.c.tmp` file is 
mentioned in the error message but I don't see anything that looks like 
an error in the `ada-exp.c` file.
I think `ada-exp.c.tmp` is some kind of generated file... I don't know 
what and how should I fix in that case %)


> Or maybe you should do that in gdbsupport/thread-pool.cc instead.
> Whatever is easier.

I will think on it...



> One thing is certain: GDB builds on Windows that don't use the gthread
> patch should not be broken by increasing the minimum value of
> _WIN32_WINNT with which GDB can be built on Windows.

I understand.



I have another option. will try and report back.





best!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.