Подробности
[В начало]
Проблема в стандарте № S0449
Краткое описание
Возможная опечатка в описании wchar_t.
Подробное описание
В LSB 3.1 в stddef.h (13.4. Data Definitions for libc, 13.4.44. stddef.h) wchar_t определяется как int:
typedef int wchar_t;
Однако в компиляторе gcc на RHEL4, платформа intel, принято соглашение, что wchar_t - это long int.
gcc компилирует представленный ниже пример без проблем, а lsb-cc выдает ошибку:
bbb.c:3: error: array of inappropriate type initialized from string constant
Пример:
#include <stdio.h>
wchar_t aaa[] = L"Hello, world!";
int main()
{
wprintf(L"%ls\n",aaa);
return 0;
}
Раздел стандарта
Linux Standard Base Core Specification 3.1, Chapter 13. Base Libraries, 13.4. Data Definitions for libc, 13.4.44. stddef.h.
Принято
LSB Bugzilla, 1512
Статус
Исправлена в LSB 3.2
[В начало]