lvalue-cast-1.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 35 行
C
35 行
/* APPLE LOCAL file non lvalue assign *//* { dg-do run } *//* { dg-options "-fnon-lvalue-assign" } */#include <stdlib.h>#define CHECK_IF(expr) if (!(expr)) abort ()static int global;void f(int &) { global = 35; }void f(const int &) { global = 78; }long long_arr[2];int main(void) { char *p; (long *)p = long_arr; /* { dg-warning "target of assignment not really an lvalue" } */ ((long *)p)++; /* { dg-warning "target of assignment not really an lvalue" } */ *(long *)p = -1; *p = -2; CHECK_IF(p[-1] == 0 && p[0] == -2 && p[1] == -1); (long *)p += 2; /* { dg-warning "target of assignment not really an lvalue" } */ (long *)p -= 2; /* { dg-warning "target of assignment not really an lvalue" } */ long x = 0; f((int)x); CHECK_IF(global == 78); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?