реклама на сайте
подробности

 
 
> IARCompiler V4.30A-P050906/W32, Не работает #pragma diag_suppress=Pa046
zltigo
сообщение Dec 5 2005, 21:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Многкратно мною ранее портированный на разные платформы и компилированный пятью
компиляторами текст вызова по адресу, типа:

( (void(*)())arg )( (char *)pvalue );


Естественно у любого компилятора вызвывает вопль об отсутствии прототипа.
Естественно у любого вопль давится соответствующей прагмой или на худой конец ключем
компилятора.

Только не у IAR ARM ANSI C/C++ Compiler V4.30A-P050906/W32 (другие не пробовал в ввиду отсутствия истории работ с IAR). У IAR вопль НЕ ОТКЛЮЧАЕТСЯ!
Ни "#pragma diag_suppress=Pa046", ни ключем в командной строке. Не удается и перевести
в разряд "remarks" или "warnings". Только фатальная ошибка. Дурдом какой-то.

Кто-то знает, как заставить IAR работать?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Dec 6 2005, 06:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(_artem_ @ Dec 6 2005, 03:53) *
typedef void(*fptr)(void*,...);
((fptr)(arg))(pvalue);

Месье знает толк в извращениях :-). Спасибо!, что столкнули меня с тупиковых раздумий о
прототипах.
((void(*)( void *))arg)( (char *)pvalue );
Это решение!

P.S.
Напомнило концовку анекдота застойных времен - "я не знаю, кто он такой, но водителем у него
Брежнев работает".

P.P.S.
На свежую голову заметил, что оказывается IDE сгенерила для компилятора дивный ключик:
--require_prototypes
Причем 'галочка' находилась в разделе "language" а отнюдь не в "Diagnostics" со всеми остальными.
Пора с этой IDE завязывать и под make.
Естественно, если ключик убрать, то компилятор забывает начисто о прототипах, настолько забывает, что контроль теперь не включается ни
#pragma diag_warning=Pa046
ни как по другому. Короче, явный баг компилятора....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 21:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016