+Mon May 1 15:37:58 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ From 2000-04-28 Andreas Jaeger <aj@suse.de>:
+ * defs.h: Properly check for GCC version number.
+
2000-04-30 Mark Kettenis <kettenis@gnu.org>
Fix single-stepping out of signal trampolines.
works everywhere we use it. */
#ifndef ATTR_NORETURN
-#if defined(__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 7
+#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))
#define ATTR_NORETURN __attribute__ ((noreturn))
#else
#define ATTR_NORETURN /* nothing */
#endif
#ifndef ATTR_FORMAT
-#if defined(__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 4
+#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4))
#define ATTR_FORMAT(type, x, y) __attribute__ ((format(type, x, y)))
#else
#define ATTR_FORMAT(type, x, y) /* nothing */
+Mon May 1 15:37:58 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ From 2000-04-28 Andreas Jaeger <aj@suse.de>:
+ * gdb.c++/templates.cc: Properly check for GCC version number.
+ * lib/compiler.cc: Likewise
+
2000-04-26 Michael Snyder <msnyder@seadog.cygnus.com>
* gdb.base/call-ar-st.exp: Bail out if target is sparclet.
class T1 {
public:
- static void* operator new(size_t);
+ static void* operator new(size_t) throw ();
static void operator delete(void *pointer);
void operator=(const T1&);
};
void*
-T1::operator new(size_t)
+T1::operator new(size_t) throw ()
{ return 0; }
void
T5(int);
T5(const T5<T>&);
~T5();
- static void* operator new(size_t);
+ static void* operator new(size_t) throw ();
static void operator delete(void *pointer);
int value();
template<class T>
void*
-T5<T>::operator new(size_t)
+T5<T>::operator new(size_t) throw ()
{ return 0; }
template<class T>
int (*manage[5])(double,
void *(*malloc)(unsigned size),
void (*free)(void *pointer));
- int (*device[5])(int open(const char *, unsigned mode, unsigned perms, int extra = 0),
+ int (*device[5])(int open(const char *, unsigned mode, unsigned perms, int extra),
int *(*read)(int fd, void *place, unsigned size),
int *(*write)(int fd, void *place, unsigned size),
void (*close)(int fd));
};
T5<x> t5x(5);
-#if !defined(__GNUC__) || (__GNUC__ >= 2 && __GNUC_MINOR__ >= 6)
+#if !defined(__GNUC__) || (__GNUC__ > 2) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6)
template class T5<char>;
template class T5<int>;
template class T5<int (*)(char, void *)>;
Foo<int> fint;
Foo<char> fchar;
- Foo<volatile char *> fvpchar;
+ Foo<volatile char *> fvpchar = {0, 0};
Bar<int, 33> bint;
Bar<int, (4 > 3)> bint2;
definition made with 'set" to see if one already exists, and if so
warn about conflicts if it is being set to something else. */
-#if defined(__GNUC__) && __GNUC__ >= 2 && __GNUC_MINOR__ >= 6
+#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6))
set supports_template_debugging 1
#else
set supports_template_debugging 0