-
- А что за бага-то? Может мне тоже пригодится знание про нее. - rezident(16.11.2010 17:12)
- Да вряд ли. Компилятор не относит extern к внутренностям union и линкер выдает ошибку двойного декларирования переменных, входящих в union. - Vladimir Ljaschko(16.11.2010 17:22)
- А можно подробнее? Мнится мне, что тут простое недопонимание стандарта языка Си. - rezident(16.11.2010 17:32)
- Может быть, только совсем недавно мы с компилятором понимали одинаково. Про линкер я загнул - все происходит при компиляции модуля. Некорректность вижу только в неиспользовании typedef. Vladimir Ljaschko(1587 знак., 16.11.2010 17:42 - 17:44)
- #pragma anon_union есть? А то по-умолчанию оно бывает включено, а бывает и выключено - koyodza(29.11.2010 21:09)
- Warning[Pe161]: unrecognized #pragma D:\vl-projects\IAR_trouble\Short\f_backup.c 4 - Vladimir Ljaschko(30.11.2010 09:25)
- ну извиняйте, может в иаре оно как-то по-другому зовётся - koyodza(30.11.2010 09:49)
- Не, спасибо за то, что я понял, что это не я сам придумал, что юнион без имени существует или существовал :) - Vladimir Ljaschko(30.11.2010 10:58)
- я тоже этим приёмом пользуюсь. Правда, в С++ его кажись зарубили. А жаль - koyodza(30.11.2010 11:28)
- Не, спасибо за то, что я понял, что это не я сам придумал, что юнион без имени существует или существовал :) - Vladimir Ljaschko(30.11.2010 10:58)
- ну извиняйте, может в иаре оно как-то по-другому зовётся - koyodza(30.11.2010 09:49)
- Warning[Pe161]: unrecognized #pragma D:\vl-projects\IAR_trouble\Short\f_backup.c 4 - Vladimir Ljaschko(30.11.2010 09:25)
- Пардон, тег code сильно исказил текст, не заметил бекслешей, думал проблема в их отсутствии. :) ut1wpr(26 знак., 23.11.2010 17:14 - 17:17)
- Действительно выдает ошибки. IAR EW430 5.10.6. Этот же кусок в IAR EWARM 5.50.5 компилируется без ошибок. - rezident(16.11.2010 18:19)
- Нет, typedef struct не помогает. - Vladimir Ljaschko(16.11.2010 17:53)
- #pragma anon_union есть? А то по-умолчанию оно бывает включено, а бывает и выключено - koyodza(29.11.2010 21:09)
- Может быть, только совсем недавно мы с компилятором понимали одинаково. Про линкер я загнул - все происходит при компиляции модуля. Некорректность вижу только в неиспользовании typedef. Vladimir Ljaschko(1587 знак., 16.11.2010 17:42 - 17:44)
- А можно подробнее? Мнится мне, что тут простое недопонимание стандарта языка Си. - rezident(16.11.2010 17:32)
- Да вряд ли. Компилятор не относит extern к внутренностям union и линкер выдает ошибку двойного декларирования переменных, входящих в union. - Vladimir Ljaschko(16.11.2010 17:22)
- а что мешает просто выслать им кусок проекта с подробным описанием бага? - Mahagam(16.11.2010 16:47)
- А ничо, что софт 3.14зженый? ;-) - Shura(16.11.2010 16:50)
- У них есть форма для репортов. В ней можно не заполнять личные данные и номера лицензий. Мне за репорт о ColdFire сказали спасибо. - teap0t(22.11.2010 22:50)
- Где? Нашел только вот эту форму для контактов - Vladimir Ljaschko(23.11.2010 09:06, ссылка)
- "special Request Technical Assistance form" (там заметно меньше обязательных для заполнения полей). Просто написал, что помощь не нужна, но есть информация, которую они возможно сочтут полезной. - teap0t(23.11.2010 16:45, ссылка)
- Пасиб. Послал с белорусского IP с указанием немецкого мыла :) - Vladimir Ljaschko(23.11.2010 17:19)
- И что мне теперь делать?! "Hi Vlad,Could you please tell me the exact version that you are using? I tested it on the EW430 V5.10.6 and it works fine for me:" - Vladimir Ljaschko(24.11.2010 09:59)
- У меня в 5.10.6 тоже все нормально компилируется. - PIC32(24.11.2010 16:51)
- Я уже выслал ему более полный пример, и он замолчал :) Проверьте и Вы плз. Vladimir Ljaschko(24.11.2010 17:02)
- Компилятор ругается. Естественно, ведь в обоих случаях union используется и без имени шаблона (тэга) и без имени переменной - по сути два раза объявляется одно и тоже. extern примененный к одному из объявлений не учитывается, т.к. нет имени PIC32(12 знак., 25.11.2010 02:15)
- Лет 5 назад, когда я так написал, мне очень понравилась эта фича компилятора, позволяющая обращаться к внутренностям объединения напрямую. Она работала до вер 4.21 включительно. Посмотрим, что ИАР ответит. Да, эта фича до сих пор работает в AVR, Vladimir Ljaschko(9 знак., 25.11.2010 08:52 - 10:03)
- Получил ответ от ИАРа, где они гордо сказали, что у них ANSI C компилятор и это нарушение синтаксиса. Вежливо поблагодарил и ткнул, что другие версии компилируют эту фичу без проблем, следовательно не такие они уж и ANSI C. Кароч, придется Vladimir Ljaschko(27 знак., 29.11.2010 20:29)
- В предыдущих документациях у них было Compiler reference->Portability->IAR language extensions->Anonymous structs and unions. Теперь, выходит, убрали? Или я вопрос не понял? Или вы не включили "Allow IAR extensions"? - Cepгeй Бopщ(30.11.2010 14:43)
- Они поменяли: ver 421: Allow IAR extensions -> ver 5106: Standard with IAR extensions(включено)/standard/strict - Vladimir Ljaschko(30.11.2010 15:59)
- В предыдущих документациях у них было Compiler reference->Portability->IAR language extensions->Anonymous structs and unions. Теперь, выходит, убрали? Или я вопрос не понял? Или вы не включили "Allow IAR extensions"? - Cepгeй Бopщ(30.11.2010 14:43)
- Получил ответ от ИАРа, где они гордо сказали, что у них ANSI C компилятор и это нарушение синтаксиса. Вежливо поблагодарил и ткнул, что другие версии компилируют эту фичу без проблем, следовательно не такие они уж и ANSI C. Кароч, придется Vladimir Ljaschko(27 знак., 29.11.2010 20:29)
- Лет 5 назад, когда я так написал, мне очень понравилась эта фича компилятора, позволяющая обращаться к внутренностям объединения напрямую. Она работала до вер 4.21 включительно. Посмотрим, что ИАР ответит. Да, эта фича до сих пор работает в AVR, Vladimir Ljaschko(9 знак., 25.11.2010 08:52 - 10:03)
- Компилятор ругается. Естественно, ведь в обоих случаях union используется и без имени шаблона (тэга) и без имени переменной - по сути два раза объявляется одно и тоже. extern примененный к одному из объявлений не учитывается, т.к. нет имени PIC32(12 знак., 25.11.2010 02:15)
- Я уже выслал ему более полный пример, и он замолчал :) Проверьте и Вы плз. Vladimir Ljaschko(24.11.2010 17:02)
- Ну так tell 'em - Shura(24.11.2010 10:21)
- Я сам выбирал из выпадающего списка "Product name" (EWCF), и, не мудрствуя лукаво, вписал "Product version" из листинга (v.123-из известного источника). Вопрос о доступности для скачивания мне в голову не пришел. - teap0t(26.11.2010 18:32)
- Дык версия та же. Следующий вопрос будет - где я ее взял, потому как в базе данных скачек меня нет. По крайней мере с сайта ИАРа :) Сцуко... Нужно покопать, может какое-нить окружение влияет. - Vladimir Ljaschko(24.11.2010 10:32)
- У меня в 5.10.6 тоже все нормально компилируется. - PIC32(24.11.2010 16:51)
- И что мне теперь делать?! "Hi Vlad,Could you please tell me the exact version that you are using? I tested it on the EW430 V5.10.6 and it works fine for me:" - Vladimir Ljaschko(24.11.2010 09:59)
- Пасиб. Послал с белорусского IP с указанием немецкого мыла :) - Vladimir Ljaschko(23.11.2010 17:19)
- "special Request Technical Assistance form" (там заметно меньше обязательных для заполнения полей). Просто написал, что помощь не нужна, но есть информация, которую они возможно сочтут полезной. - teap0t(23.11.2010 16:45, ссылка)
- Где? Нашел только вот эту форму для контактов - Vladimir Ljaschko(23.11.2010 09:06, ссылка)
- дык бага будет такая же и в легальном. баге пофик на лицензию. им что? не реагировать только потому что нелегал о баге репортнул? ждать пока легальный юзер заплачется? - Mahagam(16.11.2010 17:00)
- Для Eval версии прямо указано Limited Technical Support only - rezident(16.11.2010 17:05, ссылка)
- хе. тут нелегал им услугу оказывает, заменяя собой тестера. это не техникал суппорт, а то ж можно _аргументированно_ растрындеть на всех форумах что иар - бажный атстой. дешевле будет такому юзеру бесплатно лицензию выдать. - Mahagam(16.11.2010 17:09)
- Это из серии "испугали ежа голой задницей" :))) - rezident(16.11.2010 17:12)
- но реакция будет. - Mahagam(16.11.2010 17:21)
- Точно. Фирмы и послабее этой придерживаются жесткой политики даже в отношении легальных клиентов. - Vladimir Ljaschko(16.11.2010 17:15)
- Это из серии "испугали ежа голой задницей" :))) - rezident(16.11.2010 17:12)
- хе. тут нелегал им услугу оказывает, заменяя собой тестера. это не техникал суппорт, а то ж можно _аргументированно_ растрындеть на всех форумах что иар - бажный атстой. дешевле будет такому юзеру бесплатно лицензию выдать. - Mahagam(16.11.2010 17:09)
- Тем не менее я читал, что при таких обращениях они стали просить указать лицензию и проверяют регистрацию при скачке EW. - Vladimir Ljaschko(16.11.2010 17:04)
- Ну как бы просто "не реагировать" это даже может не самый худший из возможных вариантов, ага? Могут попытаться и отловить. - Shura(16.11.2010 17:02)
- ой. им оно надо? - Mahagam(16.11.2010 17:07)
- Есть желание проверить? ;-) - Shura(16.11.2010 17:11)
- есть такой софт для печати как Qimage. пару лет назад я пользовался ломанным вариантом. Mahagam(276 знак., 16.11.2010 17:22)
- Есть желание проверить? ;-) - Shura(16.11.2010 17:11)
- ой. им оно надо? - Mahagam(16.11.2010 17:07)
- Для Eval версии прямо указано Limited Technical Support only - rezident(16.11.2010 17:05, ссылка)
- У них есть форма для репортов. В ней можно не заполнять личные данные и номера лицензий. Мне за репорт о ColdFire сказали спасибо. - teap0t(22.11.2010 22:50)
- А ничо, что софт 3.14зженый? ;-) - Shura(16.11.2010 16:50)
- А что за бага-то? Может мне тоже пригодится знание про нее. - rezident(16.11.2010 17:12)