public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/26882]  New: ICE when using template function with memory attributes
@ 2006-03-27  7:19 gcc-bugzilla at gcc dot gnu dot org
  2006-03-27  7:26 ` [Bug target/26882] " ned at bike-nomad dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: gcc-bugzilla at gcc dot gnu dot org @ 2006-03-27  7:19 UTC (permalink / raw)
  To: gcc-bugs



This program (which has no included files) causes an ICE and a bus error:

--

typedef unsigned char uint8_t ;
typedef unsigned short uint16_t ;
typedef unsigned long uint32_t ;

#define PROGMEM __attribute__((__progmem__))

template<typename T>
T PROGMEM * rom(const T& init)
{
        static T PROGMEM t = init;
        return &t;
}

struct funny
{
    uint8_t a;
    uint16_t b;
    uint32_t c;
};

uint8_t PROGMEM *rom1 = rom((uint8_t)123);

funny f = { 0xBB, 0xCCCC, 0xDDDDEEEE };
funny PROGMEM *rom2 = rom(f);

int main()
{
    *((volatile uint8_t*)0x55) = *rom1;
    *((volatile uint8_t*)0xAA) = rom2->a;
}

bool __cxa_guard_acquire(uint8_t *gv) { return true; }
bool __cxa_guard_release(uint8_t *gv) { return true; }

--

Environment:
System: Darwin Neds-Mini.local 8.5.0 Darwin Kernel Version 8.5.0: Sun Jan 22
10:38:46 PST 2006; root:xnu-792.6.61.obj~1/RELEASE_PPC Power Macintosh powerpc



host: powerpc-apple-darwin8.5.0
build: powerpc-apple-darwin8.5.0
target: avr-unknown-none
configured with:
/opt/local/var/db/dports/build/_Users_ned_src_darwinports_dports_cross_avr-gcc/work/gcc-4.0.2/configure
--prefix=/opt/local --infodir=/opt/local/share/info
--mandir=/opt/local/share/man --target=avr --program-prefix=avr-
--with-included-gettext --enable-obsolete
--with-gxx-include-dir=/opt/local/avr/include/c++/4.0.2/
--enable-languages=c,c++

How-To-Repeat:

Compile the above program. I used the command line:

avr-g++ -mmcu=atmega128 -c -o romtest2.o romtest2.cpp

and got this:

romtest2.cpp: In function 'T* rom(const T&) [with T = uint8_t]':
romtest2.cpp|21| instantiated from here
romtest2.cpp|10| internal compiler error: Bus error


-- 
           Summary: ICE when using template function with memory attributes
           Product: gcc
           Version: 4.0.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ned at bike-nomad dot com
 GCC build triplet: powerpc-apple-darwin8.5.0
  GCC host triplet: powerpc-apple-darwin8.5.0
GCC target triplet: avr-unknown-none


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/26882] ICE when using template function with memory attributes
  2006-03-27  7:19 [Bug c++/26882] New: ICE when using template function with memory attributes gcc-bugzilla at gcc dot gnu dot org
@ 2006-03-27  7:26 ` ned at bike-nomad dot com
  2006-05-01 15:01 ` ned at bike-nomad dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: ned at bike-nomad dot com @ 2006-03-27  7:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from ned at bike-nomad dot com  2006-03-27 07:26 -------
Created an attachment (id=11133)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11133&action=view)
Test program (no included files) demonstrating the problem.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/26882] ICE when using template function with memory attributes
  2006-03-27  7:19 [Bug c++/26882] New: ICE when using template function with memory attributes gcc-bugzilla at gcc dot gnu dot org
  2006-03-27  7:26 ` [Bug target/26882] " ned at bike-nomad dot com
@ 2006-05-01 15:01 ` ned at bike-nomad dot com
  2007-07-25 17:42 ` [Bug target/26882] [AVR][C++] " eweddington at cso dot atmel dot com
  2007-07-25 17:42 ` eweddington at cso dot atmel dot com
  3 siblings, 0 replies; 7+ messages in thread
From: ned at bike-nomad dot com @ 2006-05-01 15:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from ned at bike-nomad dot com  2006-05-01 15:01 -------
Still present in 4.2-20060429 snapshot.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/26882] [AVR][C++] ICE when using template function with memory attributes
  2006-03-27  7:19 [Bug c++/26882] New: ICE when using template function with memory attributes gcc-bugzilla at gcc dot gnu dot org
  2006-03-27  7:26 ` [Bug target/26882] " ned at bike-nomad dot com
  2006-05-01 15:01 ` ned at bike-nomad dot com
@ 2007-07-25 17:42 ` eweddington at cso dot atmel dot com
  2007-07-25 17:42 ` eweddington at cso dot atmel dot com
  3 siblings, 0 replies; 7+ messages in thread
From: eweddington at cso dot atmel dot com @ 2007-07-25 17:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from eweddington at cso dot atmel dot com  2007-07-25 17:42 -------
Confirmed for 4.2.1 on mingw host.

test.cpp: In function 'T* rom(const T&) [with T = uint8_t]':
test.cpp:21:   instantiated from here
test.cpp:10: internal compiler error: Segmentation fault


-- 

eweddington at cso dot atmel dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  GCC build triplet|powerpc-apple-darwin8.5.0   |
   GCC host triplet|powerpc-apple-darwin8.5.0   |*-*-*
      Known to fail|4.0.2                       |4.0.2 4.2.1
            Summary|ICE when using template     |[AVR][C++] ICE when using
                   |function with memory        |template function with
                   |attributes                  |memory attributes


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/26882] [AVR][C++] ICE when using template function with memory attributes
  2006-03-27  7:19 [Bug c++/26882] New: ICE when using template function with memory attributes gcc-bugzilla at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2007-07-25 17:42 ` [Bug target/26882] [AVR][C++] " eweddington at cso dot atmel dot com
@ 2007-07-25 17:42 ` eweddington at cso dot atmel dot com
  3 siblings, 0 replies; 7+ messages in thread
From: eweddington at cso dot atmel dot com @ 2007-07-25 17:42 UTC (permalink / raw)
  To: gcc-bugs



-- 

eweddington at cso dot atmel dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-07-25 17:42:40
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/26882] [AVR][C++] ICE when using template function with memory attributes
       [not found] <bug-26882-4@http.gcc.gnu.org/bugzilla/>
  2011-06-10 20:30 ` gjl at gcc dot gnu.org
@ 2012-03-03 14:09 ` gjl at gcc dot gnu.org
  1 sibling, 0 replies; 7+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-03-03 14:09 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|avr-unknown-none            |avr-*
           Priority|P3                          |P5
             Status|NEW                         |RESOLVED
      Known to work|                            |4.7.0
               Host|*-*-*                       |
         Resolution|                            |WORKSFORME
   Target Milestone|---                         |4.7.0

--- Comment #5 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-03-03 14:08:33 UTC ---
Works in 4.7.0, thus closed


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/26882] [AVR][C++] ICE when using template function with memory attributes
       [not found] <bug-26882-4@http.gcc.gnu.org/bugzilla/>
@ 2011-06-10 20:30 ` gjl at gcc dot gnu.org
  2012-03-03 14:09 ` gjl at gcc dot gnu.org
  1 sibling, 0 replies; 7+ messages in thread
From: gjl at gcc dot gnu.org @ 2011-06-10 20:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26882

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gjl at gcc dot gnu.org
      Known to fail|                            |4.5.2

--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-06-10 20:30:12 UTC ---
Reduded testcase that threds avr-gcc 4.5.2:

template<typename T>
T * rom (const T& init)
{
    static T t = init;
    return &t;
}

int * rom1 = rom(123);

extern bool __cxa_guard_acquire (void*);


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-03-03 14:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-27  7:19 [Bug c++/26882] New: ICE when using template function with memory attributes gcc-bugzilla at gcc dot gnu dot org
2006-03-27  7:26 ` [Bug target/26882] " ned at bike-nomad dot com
2006-05-01 15:01 ` ned at bike-nomad dot com
2007-07-25 17:42 ` [Bug target/26882] [AVR][C++] " eweddington at cso dot atmel dot com
2007-07-25 17:42 ` eweddington at cso dot atmel dot com
     [not found] <bug-26882-4@http.gcc.gnu.org/bugzilla/>
2011-06-10 20:30 ` gjl at gcc dot gnu.org
2012-03-03 14:09 ` gjl at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).