]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
GCC should never assume that this can not be null.
authorPeter Powell <petpow@saberuk.com>
Sat, 4 Jun 2016 11:55:17 +0000 (12:55 +0100)
committerPeter Powell <petpow@saberuk.com>
Mon, 27 Jun 2016 14:41:27 +0000 (15:41 +0100)
configure
make/template/main.mk

index fd00ff89c04ace244a996c09f27d0463a2f0fe0f..e8c3deb0d168dd60cae77ca41a228c5bd3f1de00 100755 (executable)
--- a/configure
+++ b/configure
@@ -965,6 +965,9 @@ EOF
        my @dotfiles = qw(main.mk inspircd);
        push @dotfiles, 'org.inspircd.plist' if $config{OSNAME} eq 'darwin';
 
+       # HACK: we need to know if we are on GCC6 to disable the omission of `this` null pointer checks.
+       $config{GCC6} = `$config{CC} --version 2>/dev/null` =~ /gcc/i && $config{GCCVER} ge "6" ? "true" : "false";
+
        foreach my $file (@dotfiles) {
                open(FILEHANDLE, "make/template/$file") or die "Can't open make/template/$file: $!";
                $_ = join '', <FILEHANDLE>;
@@ -974,7 +977,7 @@ EOF
 
                for my $var (qw(
                        CC SYSTEM BASE_DIR CONFIG_DIR MODULE_DIR BINARY_DIR BUILD_DIR DATA_DIR UID
-                       STARTSCRIPT DESTINATION SOCKETENGINE LOG_DIR
+                       STARTSCRIPT DESTINATION SOCKETENGINE LOG_DIR GCC6
                )) {
                        s/\@$var\@/$config{$var}/g;
                }
index c46d60502d4db2cdab7274f25a04ae8611972cd7..23daa7efc02a0d2069cc70f694b56958f1870571 100644 (file)
@@ -89,6 +89,11 @@ INSTMODE_LIB = 0644
   D=0
 @ENDIF
 
+GCC6=@GCC6@
+@IFEQ $(GCC6) true
+  CXXFLAGS += -fno-delete-null-pointer-checks
+@ENDIF
+
 DBGOK=0
 @IFEQ $(D) 0
   CXXFLAGS += -O2