{"push_id":2644142879,"size":1,"distinct_size":1,"ref":"refs/heads/gcc-8-branch","head":"c10d8b4f2494ad79866377057873cd5b24937e99","before":"1a6fd8ed169f64bfee4cab100230a3d9d6ff01b7","commits":[{"sha":"c10d8b4f2494ad79866377057873cd5b24937e99","author":{"name":"sh","email":"16795633e2c1543064a3ad70ac3ba71d3d589b3b@138bc75d-0d04-0410-961f-82ee72b054a4"},"message":"RTEMS: Prefer int for int32_t\n\nCommon systems like glibc and FreeBSD define int32_t to int.  This means\na lot of third party code works well in these cases:\n\n  #include <stdint.h>\n\n  void f(int32_t);\n\n  void f(int);\n\n  void g(int32_t *);\n\n  void h(void)\n  {\n    int i;\n    g(&i);\n  }\n\nOn RTEMS you got however in C\n\n  test.c:5:6: error: conflicting types for 'f'\n    void f(int);\n        ^\n  test.c:3:6: note: previous declaration of 'f' was here\n    void f(int32_t);\n        ^\n  test.c: In function 'h':\n  test.c:12:4: warning: passing argument 1 of 'g' from incompatible\n  pointer type [-Wincompatible-pointer-types]\n    g(&i);\n      ^\n  test.c:7:6: note: expected 'int32_t * {aka long int *}' but argument\n  is of type 'int *' void g(int32_t *);\n\nand C++\n\n  test.c: In function 'void h()':\n  test.c:12:4: error: invalid conversion from 'int*' to 'int32_t* {aka\n  long int*}' [-fpermissive]\n    g(&i);\n      ^~\n  test.c:7:6: note:   initializing argument 1 of 'void g(int32_t*)'\n    void g(int32_t *);\n      ^\n\nThis was due to a Newlib speciality which uses long for int32_t if long\nis a 32-bit type.  To ease the use of third party software in RTEMS we\noverride this Newlib option now and use int for int32_t if int is a\n32-bit type.\n\ngcc/\n\t* config/rtems.h (STDINT_LONG32): Define.\n\n\n\ngit-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@261583 138bc75d-0d04-0410-961f-82ee72b054a4","distinct":true,"url":"https://api.github.com/repos/kraj/gcc/commits/c10d8b4f2494ad79866377057873cd5b24937e99"}]}
{"actor":{"display_login":"kraj"}}