[bug]? gcc-4.1.1
От: FF  
Дата: 10.09.06 15:15
Оценка:
int main()
{
        int a[0];
}

gcc-4.1.1 и gcc-3.3.6 это успешно компилирует.

А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют, а вот в версиях под Windows нет.
Получается, что в версиях icc-8.0 и icc-9.1 под Linux тоже баг.
Re: [bug]? gcc-4.1.1
От: shank  
Дата: 10.09.06 15:32
Оценка:
Здравствуйте, FF, Вы писали:

FF>
FF>int main()
FF>{
FF>        int a[0];
FF>}
FF>

FF>gcc-4.1.1 и gcc-3.3.6 это успешно компилирует.

FF>А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют, а вот в версиях под Windows нет.

FF>Получается, что в версиях icc-8.0 и icc-9.1 под Linux тоже баг.

Еще gcc компилирует такое
int main
{
    int n = 10; // неконстанта
    int arr[n];
}

Это, кажется, называется variable length array (vla). VLA есть в стандарте C99 (но не С++ конечно).
Возможно для vla допустим 0-й размер, по аналогии с new int[0];
PS Это только предположение, могу ошибаться.
Re: [bug]? gcc-4.1.1
От: MaximE Великобритания  
Дата: 10.09.06 17:55
Оценка: 2 (2)
FF wrote:

> int main()
> {
>         int a[0];
> }

>
>
> gcc-4.1.1 и gcc-3.3.6 это успешно компилирует.
>
> А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют,
> а вот в версиях под Windows нет.

http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Zero-Length.html#Zero-Length
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Variable-Length.html#Variable-Length

--
Maxim Yegorushkin

No Microsoft product was used in any way to write or send this text.
If you use a Microsoft product to read it, you're doing so at your own risk
Posted via RSDN NNTP Server 2.0
Re: [bug]? gcc-4.1.1
От: vvotan Россия  
Дата: 10.09.06 18:46
Оценка: 6 (1) :)
Здравствуйте, FF, Вы писали:


FF>А еще, странно, но и icc-8.0, и icc-9.1 под Linux это тоже компилируют, а вот в версиях под Windows нет.

FF>Получается, что в версиях icc-8.0 и icc-9.1 под Linux тоже баг.
Интел в виндовой версии пытается быть побажно-совместимым с MSVC, а в линуховой — с gcc
--
Sergey Chadov

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.