@@ -248,6 +248,7 @@ void configt::ansi_ct::set_arch_spec_i386()
248
248
arch=ARCH_I386;
249
249
endianness=IS_LITTLE_ENDIAN;
250
250
char_is_unsigned=false ;
251
+ NULL_is_zero=true ;
251
252
252
253
switch (mode)
253
254
{
@@ -290,6 +291,7 @@ void configt::ansi_ct::set_arch_spec_x86_64()
290
291
endianness=IS_LITTLE_ENDIAN;
291
292
long_double_width=16 *8 ;
292
293
char_is_unsigned=false ;
294
+ NULL_is_zero=true ;
293
295
294
296
switch (mode)
295
297
{
@@ -340,6 +342,7 @@ void configt::ansi_ct::set_arch_spec_power(const irep_idt &subarch)
340
342
endianness=IS_BIG_ENDIAN;
341
343
long_double_width=16 *8 ;
342
344
char_is_unsigned=true ;
345
+ NULL_is_zero=true ;
343
346
344
347
switch (mode)
345
348
{
@@ -392,6 +395,7 @@ void configt::ansi_ct::set_arch_spec_arm(const irep_idt &subarch)
392
395
arch=ARCH_ARM;
393
396
endianness=IS_LITTLE_ENDIAN;
394
397
char_is_unsigned=true ;
398
+ NULL_is_zero=true ;
395
399
396
400
switch (mode)
397
401
{
@@ -432,6 +436,7 @@ void configt::ansi_ct::set_arch_spec_alpha()
432
436
endianness=IS_LITTLE_ENDIAN;
433
437
long_double_width=16 *8 ;
434
438
char_is_unsigned=false ;
439
+ NULL_is_zero=true ;
435
440
436
441
switch (mode)
437
442
{
@@ -473,6 +478,7 @@ void configt::ansi_ct::set_arch_spec_mips(const irep_idt &subarch)
473
478
endianness=IS_BIG_ENDIAN;
474
479
long_double_width=8 *8 ;
475
480
char_is_unsigned=false ;
481
+ NULL_is_zero=true ;
476
482
477
483
switch (mode)
478
484
{
@@ -513,6 +519,7 @@ void configt::ansi_ct::set_arch_spec_s390()
513
519
endianness=IS_BIG_ENDIAN;
514
520
long_double_width=16 *8 ;
515
521
char_is_unsigned=true ;
522
+ NULL_is_zero=true ;
516
523
517
524
switch (mode)
518
525
{
@@ -550,6 +557,7 @@ void configt::ansi_ct::set_arch_spec_s390x()
550
557
arch=ARCH_S390X;
551
558
endianness=IS_BIG_ENDIAN;
552
559
char_is_unsigned=true ;
560
+ NULL_is_zero=true ;
553
561
554
562
switch (mode)
555
563
{
@@ -588,6 +596,7 @@ void configt::ansi_ct::set_arch_spec_sparc()
588
596
endianness=IS_BIG_ENDIAN;
589
597
long_double_width=16 *8 ;
590
598
char_is_unsigned=false ;
599
+ NULL_is_zero=true ;
591
600
592
601
switch (mode)
593
602
{
@@ -626,6 +635,7 @@ void configt::ansi_ct::set_arch_spec_ia64()
626
635
long_double_width=16 *8 ;
627
636
endianness=IS_LITTLE_ENDIAN;
628
637
char_is_unsigned=false ;
638
+ NULL_is_zero=true ;
629
639
630
640
switch (mode)
631
641
{
@@ -667,6 +677,7 @@ void configt::ansi_ct::set_arch_spec_x32()
667
677
arch=ARCH_X32;
668
678
endianness=IS_LITTLE_ENDIAN;
669
679
char_is_unsigned=false ;
680
+ NULL_is_zero=true ;
670
681
671
682
switch (mode)
672
683
{
@@ -713,6 +724,7 @@ bool configt::set(const cmdlinet &cmdline)
713
724
ansi_c.os =ansi_ct::NO_OS;
714
725
ansi_c.arch =ansi_ct::NO_ARCH;
715
726
ansi_c.lib =configt::ansi_ct::LIB_NONE;
727
+ ansi_c.NULL_is_zero =(size_t )((void *)0 )==0 ;
716
728
717
729
// Default is ROUND_TO_EVEN, justified by C99:
718
730
// 1 At program startup the floating-point environment is initialized as
@@ -824,6 +836,7 @@ bool configt::set(const cmdlinet &cmdline)
824
836
ansi_c.arch =configt::ansi_ct::NO_ARCH;
825
837
ansi_c.endianness =configt::ansi_ct::NO_ENDIANNESS;
826
838
ansi_c.lib =configt::ansi_ct::LIB_NONE;
839
+ ansi_c.NULL_is_zero =false ;
827
840
828
841
if (sizeof (long int )==8 )
829
842
ansi_c.set_64 ();
0 commit comments