[sisyphus] g77 & буква 'я'

Epiphanov Sergei =?iso-8859-1?q?serpiph_=CE=C1_entek=2Eru?=
Вт Апр 6 18:12:23 MSD 2004


Всем привет!

Работаю сейчас с Фортраном, собираю программы под g77 и наткнулся на такую 
странность: буква 'я' не дает нормально работать! А именно: в такой строке 
компилятор выдает ошибку `нет закрывающей кавычки':

write(*,*)'я'

а в такой ошибки нет:

write(*,*)'t'

При этом буква 'я' не только пропадает из выводимого текста, но и при этом 
тянет за собой следующий за ней символ. Я нахожусь в кодировке CP1251, 
поэтому её код равен 255. Судя по всему, g77 воспринимает её как Unicode 
со всеми вытекающими последствиями. При этом gcc в программе

#include <stdio.h>

int main (void)
{
	char s[2]={'я'};
	puts(s);
}

ни на что не ругается и программа работает как надо.
$ locale
LANG=ru_RU.CP1251
LC_CTYPE=ru_RU.CP1251
LC_NUMERIC=ru_RU.CP1251
LC_TIME=ru_RU.CP1251
LC_COLLATE=ru_RU.CP1251
LC_MONETARY=ru_RU.CP1251
LC_MESSAGES=ru_RU.CP1251
LC_PAPER="ru_RU.CP1251"
LC_NAME="ru_RU.CP1251"
LC_ADDRESS="ru_RU.CP1251"
LC_TELEPHONE="ru_RU.CP1251"
LC_MEASUREMENT="ru_RU.CP1251"
LC_IDENTIFICATION="ru_RU.CP1251"
LC_ALL=
$
-- 
С уважением, Епифанов Сергей



Подробная информация о списке рассылки Sisyphus