Подробности

[В начало]

Проблема в стандарте № 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

[В начало]