This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/70435] section attribute of a function template is not honored.


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70435

Armin van der Togt <armin at otheruse dot nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |armin at otheruse dot nl

--- Comment #1 from Armin van der Togt <armin at otheruse dot nl> ---

I am having the same problem with static member variables:

#include <sys/types.h>

class TestClassRegular {
public:
        static volatile const int32_t regularVar;
};
volatile const int32_t TestClassRegular::regularVar __attribute__
((section(".eepromdata.ints"))) = 0;

template <uint32_t size, typename T>
class TestClassTemplate {
public:
        static volatile const int32_t templateVar;
};

template <uint32_t size, typename T>
volatile const int32_t TestClassTemplate<size,T>::templateVar  __attribute__
((section(".eepromdata.ints"))) = 0;

int main() {
        int32_t blah = TestClassRegular::regularVar + TestClassTemplate<10,
uint8_t>::templateVar;
        return blah;
}


 arm-none-eabi-objdump -t stm32l0-Template.elf | grep Var
200000c4  w    O .data  00000004 _ZN17TestClassTemplateILm10EhE11templateVarE
08080008 g     O .eepromdata    00000004 _ZN16TestClassRegular10regularVarE

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]