Re: glib 1.1.12, gtk1.1.12 for debian/ppc
On Fri, 15 Jan 1999, Daniel Jacobowitz wrote:
> OK, it's not schedule-insns2 then. Try a few others if you can find
> them in the docs.
yep, you were right. it's -O -fschedule-insns that causes the bug to
appear.
> 62 lines is great. But, can you grab the bare minimum of the necessary
> definitions from glib.h and remove the #include? Then it will be self
> contained.
Ok, did so. I even preprocessed the file with gcc -E, tidied it up a
little, and removed lots of unnecessary code. it's now 61 lines without
any includes.
Konstantinos Margaritis
kmargar@cc.uoa.gr
typedef unsigned int guint32;
__extension__ typedef unsigned long long guint64;
typedef struct __va_list_tag
{
char gpr;
char fpr;
char *overflow_arg_area;
char *reg_save_area;
}
__va_list[1], __gnuc_va_list[1];
typedef char gchar;
typedef int gint;
typedef unsigned int guint;
void g_log ();
void g_free (gchar * mem);
int main (int argc,
char *argv[])
{
gchar *string;
gchar *mem[10000];
gint i;
guint n_dirname_checks = 1; //NOTE I changed this into 1 myself and it had no effect on the bug.
guint64 gu64t1 = (__extension__ (0x1d636b02300a7aa7ULL)),
gu64t2 = (__extension__ (0xa77a0a30026b631dULL));
for (i = 0; i < n_dirname_checks; i++)
{
gchar *dirname ="";
g_free (dirname);
}
(void)({
if (!((((guint64) ((((guint64) (gu64t1) & (guint64) (__extension__ (0x00000000000000ffULL))) << 56) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0x000000000000ff00ULL))) << 40) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0x0000000000ff0000ULL))) << 24) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0x00000000ff000000ULL))) << 8) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0x000000ff00000000ULL))) >> 8) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0x0000ff0000000000ULL))) >> 24) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0x00ff000000000000ULL))) >> 40) |
(((guint64) (gu64t1) & (guint64) (__extension__ (0xff00000000000000ULL))) >> 56))))
== gu64t2))
g_log (); }
);
string = __builtin_alloca (80);
return 0;
}
Reply to: