changeset 2801:5f91384cf205

* tests/cxxsupp.cxx (cyg_start): Only test 'new' with ARM tools after 3.2.x since up to that point the compiler generates references from the libsupc++ new implementation to .gcc_except_table, which is discarded. This is specific to ARM for now as that's all it has been reported against, but it's possible it may apply to other targets.
author jlarmour
date Sat, 14 Feb 2009 03:15:14 +0000
parents a501465abec6
children e14d4c233d66
files packages/infra/current/ChangeLog packages/infra/current/tests/cxxsupp.cxx
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/packages/infra/current/ChangeLog
+++ b/packages/infra/current/ChangeLog
@@ -1,3 +1,12 @@
+2009-02-14  Jonathan Larmour  <jifl@eCosCentric.com>
+
+	* tests/cxxsupp.cxx (cyg_start): Only test 'new' with ARM tools after
+	3.2.x since up to that point the compiler generates references from
+	the libsupc++ new implementation to .gcc_except_table, which is
+	discarded. This is specific to ARM for now as that's all it has
+	been reported against, but it's possible it may apply to other
+	targets.
+
 2009-02-04  Bart Veer  <bartv@ecoscentric.com>
 
 	* include/cyg_type.h: add new static initialization priorities.
@@ -1069,7 +1078,7 @@ 1998-08-20  Nick Garnett  <nickg@cygnus.
 // ####GPLCOPYRIGHTBEGIN####                                                
 // -------------------------------------------                              
 // This file is part of eCos, the Embedded Configurable Operating System.   
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2009 Free Software Foundation, Inc.
 //
 // This program is free software; you can redistribute it and/or modify     
 // it under the terms of the GNU General Public License as published by     
--- a/packages/infra/current/tests/cxxsupp.cxx
+++ b/packages/infra/current/tests/cxxsupp.cxx
@@ -8,7 +8,7 @@
 // ####ECOSGPLCOPYRIGHTBEGIN####                                            
 // -------------------------------------------                              
 // This file is part of eCos, the Embedded Configurable Operating System.   
-// Copyright (C) 2003 Free Software Foundation, Inc.                        
+// Copyright (C) 2003, 2009 Free Software Foundation, Inc.                        
 //
 // eCos is free software; you can redistribute it and/or modify it under    
 // the terms of the GNU General Public License as published by the Free     
@@ -47,9 +47,11 @@
 //####DESCRIPTIONEND####
 //==========================================================================
 
+#include <pkgconf/system.h>
 #include <pkgconf/hal.h>
 #include <pkgconf/isoinfra.h>
 
+#include <cyg/infra/cyg_type.h>
 #include <cyg/infra/testcase.h>
 #include <cyg/infra/diag.h>
 
@@ -147,7 +149,7 @@ cyg_start( void )
     pure->impure_fun1();
     pure->inline_fun1();
 
-#if CYGINT_ISO_MALLOC
+#if CYGINT_ISO_MALLOC && (!defined(CYGPKG_HAL_ARM) || (__GNUC_VERSION__ >= 30300))
     Derived *derived2 = new Derived(2);
     Pure *pure2 = derived2;