www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - windows "-g" flag necessary to correct code generation

reply Ant <duitoolkit yahoo.ca> writes:
Compiling the DUI OpenGL test programs without
the "-g" flag generates code the will produce "Access Violation".
with the "-G" flag the code run correctly.

How can I demonstrate this
without the full DUI library?

DUI opengl make use of mixins (I don't know if that's relevant).

Ant
Nov 21 2004
parent reply "Walter" <newshound digitalmars.com> writes:
The first thing to do is find out where the problem is happening. Compile
the code without -g, but link with -g. Then run it under windbg.exe, which
will pinpoint the location.

"Ant" <duitoolkit yahoo.ca> wrote in message
news:cnqpu9$27i7$1 digitaldaemon.com...
 Compiling the DUI OpenGL test programs without
 the "-g" flag generates code the will produce "Access Violation".
 with the "-G" flag the code run correctly.

 How can I demonstrate this
 without the full DUI library?

 DUI opengl make use of mixins (I don't know if that's relevant).

 Ant
Nov 21 2004
parent reply Ant <Ant_member pathlink.com> writes:
It seems this might be related with extern(C) instead of extern(Windows).
I'm checking that.

BTW
seems 
version(Win32) extern(Windows):
else extern(C):
glFunctions...
glFunctions...
glFunctions...

doesn't work... do I have to duplicate the functions under
each version?

Ant

In article <cnrc3f$2rd$1 digitaldaemon.com>, Walter says...
The first thing to do is find out where the problem is happening. Compile
the code without -g, but link with -g. Then run it under windbg.exe, which
will pinpoint the location.

"Ant" <duitoolkit yahoo.ca> wrote in message
news:cnqpu9$27i7$1 digitaldaemon.com...
 Compiling the DUI OpenGL test programs without
 the "-g" flag generates code the will produce "Access Violation".
 with the "-G" flag the code run correctly.

 How can I demonstrate this
 without the full DUI library?

 DUI opengl make use of mixins (I don't know if that's relevant).

 Ant
Nov 22 2004
parent reply "Walter" <newshound digitalmars.com> writes:
"Ant" <Ant_member pathlink.com> wrote in message
news:cnt0u3$2qlh$1 digitaldaemon.com...
 It seems this might be related with extern(C) instead of extern(Windows).
 I'm checking that.

 BTW
 seems
 version(Win32) extern(Windows):
 else extern(C):
 glFunctions...
 glFunctions...
 glFunctions...

 doesn't work... do I have to duplicate the functions under
 each version?
It works when I try it: ----------------------------------- version (foo) { extern (Windows): } else { extern (C): } int foo(int x) { return x; } ---------------------------------- compiling with: dmd -c test and: dmd -c test -version=foo produces different callign convention versions of foo().
Nov 22 2004
parent Ant <Ant_member pathlink.com> writes:
In article <cnthv4$mrl$1 digitaldaemon.com>, Walter says...
It works when I try it:

-----------------------------------
version (foo)
{
 extern (Windows):
}
else
{
 extern (C):
}
produces different callign convention versions of foo().
I'll try it again tonight... Ant
Nov 22 2004