|
4.41A не различает одинаковые символы из разных namespace, баг? |
|
|
|
Nov 15 2007, 13:14
|
Знающий
   
Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32

|
Тестовый пример: Цитата(n1.cpp) Код namespace n1 { int flags; } Цитата(n2.cpp) Код namespace n2 { int flags; } Цитата(main.cpp) Код namespace n1 { extern int flags; } namespace n2 { extern int flags; }
volatile int a;
int main() { a = n1::flags; a = n2::flags; return 0; } Что видим в листинге (взят тулчейн для AVR, с ARM то же самое): Цитата(main.s90) Код `?<Name n1 0>` SYMBOL "n1" flags SYMBOL "flags", `?<Name n1 0>`
EXTERN flags ... RSEG CODE:CODE:NOROOT(1) // 13 int main() main: // 14 { // 15 a = n1::flags; LDI R30, LOW(flags) LDI R31, (flags) >> 8 LD R16, Z LDD R17, Z+1 LDI R30, LOW(a) LDI R31, (a) >> 8 ST Z, R16 STD Z+1, R17 // 16 a = n2::flags; LDI R30, LOW(flags) LDI R31, (flags) >> 8 LD R16, Z LDD R17, Z+1 LDI R30, LOW(a) LDI R31, (a) >> 8 ST Z, R16 STD Z+1, R17 // 17 return 0; LDI R16, 0 LDI R17, 0 RET // 18 }
--------------------
Главная линия этого опуса ясна мне насквозь!
|
|
|
|
|
 |
Ответов
|
Nov 16 2007, 07:02
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(dxp @ Nov 16 2007, 08:14)  Не уверен, что это баг. У вас тут объект в одном из пространств имен ничего не делает полезного, компилятор просто его оптимизировал - имеет полное право. Нагрузите его полезной работой. Хотя бы заведите вторую переменную:
volatile b = n2::flags; Не помогает, к сожалению. Нагружал как угодно и в проверки вставлял. Давал flags разные значения при инициализации. Воспринимается тот, который раньше используется в программе, второй игнорируется.
|
|
|
|
Сообщений в этой теме
vet 4.41A не различает одинаковые символы из разных namespace Nov 15 2007, 13:14 VladislavS Мне кажется, что в main.cpp и в n1, и в n2 задана ... Nov 15 2007, 20:19   Сергей Борщ Цитата(dxp @ Nov 16 2007, 09:54) Тогда де... Nov 16 2007, 16:20 Непомнящий Евгений А если написать это в одном модуле:
Кодnamespace n... Nov 16 2007, 07:32 IgorKossak Кто может отписать это на IAR?
На основании тестир... Nov 16 2007, 15:15 ig_z Цитата(IgorKossak @ Nov 16 2007, 19:15) К... Nov 16 2007, 15:55  IgorKossak Цитата(ig_z @ Nov 16 2007, 17:55) На днях... Nov 16 2007, 18:00   ig_z Цитата(IgorKossak @ Nov 16 2007, 22:00) И... Nov 20 2007, 10:37  alexander55 Цитата(ig_z @ Nov 16 2007, 18:55) т.к. об... Nov 19 2007, 07:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|