LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

И ни один компилятор Си мне не выдаст ошибку при компиляции или выполнении.

#include <stdlib.h>

typedef struct {
    int a;
} int_t;

int main() {
    int *pntr = &((int_t *)NULL)->a;
}

https://gcc.godbolt.org/z/zfTqEbefr

В clang:

/app/example.c:8:31: runtime error: member access within null pointer of type 'int_t'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /app/example.c:8:31 in 

А в gcc кстати норм :)

Исходная версия fsb4000, :

И ни один компилятор Си мне не выдаст ошибку при компиляции или выполнении.

#include <stdlib.h>

typedef struct {
    int a;
} int_t;

int main() {
    int *pntr = &((int_t *)NULL)->a;
}

https://gcc.godbolt.org/z/d98h5MeTE

/app/example.c:8:31: runtime error: member access within null pointer of type 'int_t'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /app/example.c:8:31 in