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

 
 
> 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
Ответов
VAI
сообщение Dec 6 2005, 11:18
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Да варнингов и не должно быть. Что я и показал в примере, который скомпилил используя "IAR C/C++ Compiler for ARM 4.30A-P050906 (4.30.1.500)"
Цитата
( (void(*)())arg )( (char *)pvalue );

При подобном вызове нет нужды в прототипах, т.к. приведение типов производится ручками.
А вот если у Вас неопределены arg и/или pvalue - тогда должны быть.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 18:10
Рейтинг@Mail.ru


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