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]

Preprocessor Problems



Greetings -- I'm not a permanent member of the
gcc-bugs list, but I found this topic and hope
it's relevant, and will very much appreciate an
advice on compiling the offending piece of LEDA
(www.algorithmic-solutions.com) -- the biggest C++
algorithms library.  I also CC'ed to the authors
of the original discussion, hoping for advice.

The problems began with g++ v2.96, coming standard
with the full Red Hat 7.0.  These same warnings
are often received when compiling any kinds of
Linux tarballs:

../../incl/LEDA/event_macros.h:22:29: warning: nothing can be pasted after this token

...after some hacking:
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token

Apparently, at v4.2 (c) 1991-2000, LEDA is a
tested and evolved library.  Is there a clear
definition how the new CPP is different from what
worked, and a recommended workaround?

One solution I think of is getting an old CPP.
Then is there a way to instruct gcc to use that
instead of its default one?

-- 
Cheers,
Alexy V. Khrabrov :: www.suffix.com :: Age Quod Agis

/*******************************************************************************
+
+  LEDA-4.2
+
+  event_macros.h
+
+  This file is part of the LEDA research version (LEDA-R) that can be 
+  used free of charge in academic research and teaching. Any commercial
+  use of this software requires a license which is distributed by the
+  Algorithmic Solutions GmbH, Postfach 151101, 66041 Saarbruecken, Germany,
+  http://www.algorithmic-solutions.com (contact@algorithmic-solutions.com)
+
+  Copyright (c) 1991-2000  by  Max-Planck-Institut fuer Informatik
+  Im Stadtwald, 66123 Saarbruecken, Germany     
+  All rights reserved.
+ 
*******************************************************************************/

#define _E1FMT0(arg)
#define _E1FMT1(arg) arg
#define _E1FMT2(arg) arg##1 , arg##2
#define _E1FMT3(arg) _E1FMT2(##arg) , arg##3
#define _E1FMT4(arg) _E1FMT3(##arg) , arg##4
#define _E1FMT5(arg) _E1FMT4(##arg) , arg##5
#define _E1FMT6(arg) _E1FMT5(##arg) , arg##6 
 
#define _E2FMT0(type,arg)
#define _E2FMT1(type,arg) type arg
#define _E2FMT2(type,arg) type##1 arg##1 , type##2 arg##2
#define _E2FMT3(type,arg) _E2FMT2(type,arg) , type##3 arg##3
#define _E2FMT4(type,arg) _E2FMT3(type,arg) , type##4 arg##4
#define _E2FMT5(type,arg) _E2FMT4(type,arg) , type##5 arg##5
#define _E2FMT6(type,arg) _E2FMT5(type,arg) , type##6 arg##6

#define _DECLARE_BASE_RECEIVER(name,ctypes,types) \
ETEMPLATE(##ctypes) class name; \
ETEMPLATE(##ctypes) \
class BASE_RECEIVER_##name : public base_receiver { \
  friend class name EANGLES(##types); \
  typedef name EANGLES(##types)                 event; \
  typedef BASE_RECEIVER_##name EANGLES(##types) receiver; \
  event* _e; \
  list_item _it; \
  public : \
  BASE_RECEIVER_##name() : _e(0) {} \
  inline ~BASE_RECEIVER_##name(); \
  base_event* get_event() const { return (base_event*)_e; } \
  virtual void notify(types) = 0; \
};


#define _DECLARE_EVENTS(name,ctypes,types,type_args,args) \
\
template<class obs, class func ECOMMA(##ctypes)> \
event_item attach(name EANGLES(##types)& e, obs& c, func f); \
\
template<class func ECOMMA(##ctypes)> \
event_item attach(name EANGLES(##types)& e, func f); \
\
ETEMPLATE(##ctypes) \
class name : public base_event { \
  typedef BASE_RECEIVER_##name EANGLES(##types) receiver; \
  list<receiver*> _receivers; \
  int _occur_level; \
  int _empty_attachments; \
  void init() { _occur_level = 0; _empty_attachments = 0; } \
\
protected : \
  virtual void notify_receivers(type_args) { \
    receiver *r; \
    forall(r,_receivers) if (r && r->is_enabled()) r->notify(args); \
  } \
\
public : \
  name() { init(); } \
  name& operator = (const name&) { return *this; } \
  name(const name& e) : base_event() { init(); *this = e; } \
  ~name() { \
    receiver *r; \
    forall(r,_receivers) if (r) delete r; \
  } \
\
  virtual void append(receiver& r) { \
    r._it = _receivers.append(&r); \
    r._e  = this; \
  } \
\
  virtual void remove(receiver& r) { \
    if (_occur_level) { \
      _receivers[r._it] = 0; \
      _empty_attachments++; \
    } \
    else _receivers.erase(r._it); \
    r._e = 0; \
  } \
\
  void occur(type_args) { \
    if (!_receivers.empty()) { \
      _occur_level++; notify_receivers(args); _occur_level--; \
    } \
  } \
\
  void remove_empty_attachments () { \
    list_item it; \
    forall_items(it,_receivers) \
      if (_receivers[it] == nil) _receivers.erase(it); \
    _empty_attachments = 0; \
  } \
\
  void operator () (type_args) { occur(args); } \
  int number_of_attachments() const { return _receivers.size(); } \
  int number_of_empty_attachments() const { return _empty_attachments; } \
  int occur_level() const { return _occur_level; } \
  EVENT_MEMBER_TEMPLATES \
};                       


#ifdef LEDA_MEMBER_TEMPLATES
#define EVENT_MEMBER_TEMPLATES \
  template<class obs,class func> \
  event_item attach(obs & c, func f) { return ::attach(*this,c,f); } \
  template<class func> \
  event_item attach(func f) { return ::attach(*this,f); }
#else
#define EVENT_MEMBER_TEMPLATES
#endif


#define _DECLARE_EVENT_XDEFS(name,ctypes,types,type_args,args) \
ETEMPLATE(##ctypes) \
inline BASE_RECEIVER_##name EANGLES(##types)::~BASE_RECEIVER_##name() { \
  if (_e) _e->remove(*this); \
} 


#define _DECLARE_RECEIVERS(name,ctypes,types,type_args,args) \
\
template<class obs, class func ECOMMA(##ctypes)> \
class RECEIVER_##name : public BASE_RECEIVER_##name EANGLES(##types) { \
  obs *_c; func _f; \
  public : \
  void notify(type_args) { (_c->*_f)(args); } \
  RECEIVER_##name(obs& c, func f) :  _c(&c) , _f(f) {} \
}; \
\
template<class func ECOMMA(##ctypes)> \
class GLOBAL_RECEIVER_##name : public BASE_RECEIVER_##name EANGLES(##types) { \
  func _f; \
  public : \
  void notify(type_args) { (*_f)(args); } \
  GLOBAL_RECEIVER_##name(func f) : _f(f) {} \
};


#define _DECLARE_ATTACH_FUNCS(name,ctypes,types) \
\
template<class obs, class func ECOMMA(##ctypes)> \
inline event_item attach(name EANGLES(##types)& e, obs& c, func f) { \
  typedef RECEIVER_##name<obs,func ECOMMA(##types)> receiver; \
  receiver* r = new receiver (c,f); \
  e.append(*r); \
  return r; \
} \
\
template<class func ECOMMA(##ctypes)> \
inline event_item attach(name EANGLES(##types)& e, func f) { \
  typedef GLOBAL_RECEIVER_##name<func ECOMMA(##types)> receiver; \
  receiver* r = new receiver (f); \
  e.append(*r); \
  return r; \
}

#define _DECLARE_EVENT_SYSTEM(name,ctypes,types,type_args,args) \
  _DECLARE_BASE_RECEIVER ( name, ##ctypes, ##types                      ) \
  _DECLARE_EVENTS        ( name, ##ctypes, ##types, ##type_args, ##args ) \
  _DECLARE_RECEIVERS     ( name, ##ctypes, ##types, ##type_args, ##args ) \
  _DECLARE_EVENT_XDEFS   ( name, ##ctypes, ##types, ##type_args, ##args ) \
  _DECLARE_ATTACH_FUNCS  ( name, ##ctypes, ##types                      )

#define DECLARE_EVENT_SYSTEM(name,argc) \
  _DECLARE_EVENT_SYSTEM( name, \
		         _E1FMT##argc(class argt), \
		         _E1FMT##argc(argt), \
			 _E2FMT##argc(argt,a), \
			 _E1FMT##argc(a) )


#define ETEMPLATE(args)
#define EANGLES(args)
#define ECOMMA(args)

#if defined(_MSC_VER)
#pragma warning(disable: 4003)
#endif

DECLARE_EVENT_SYSTEM(EVENT0,0)   // makes EVENT0 available

#if defined(_MSC_VER)
#pragma warning(default: 4003)
#endif

#undef ETEMPLATE
#undef EANGLES
#undef ECOMMA


#define ETEMPLATE(args) template<args>
#define EANGLES(args)   <args>
#define ECOMMA(args)    ,args

DECLARE_EVENT_SYSTEM(EVENT1,1)   // makes EVENT1<type> available
DECLARE_EVENT_SYSTEM(EVENT2,2)   // makes EVENT2<type1,type2> available ...
DECLARE_EVENT_SYSTEM(EVENT3,3)        
DECLARE_EVENT_SYSTEM(EVENT4,4)        
DECLARE_EVENT_SYSTEM(EVENT5,5)        

// DECLARE_EVENT_SYSTEM(event_name,argument_count) 



cd /src/LEDA-4.2/incl/LEDA/
(cd /src/LEDA-4.2; make)
make[1]: Entering directory `/src/LEDA-4.2/src'
cd basic;     make
make[2]: Entering directory `/src/LEDA-4.2/src/basic'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/src/LEDA-4.2/src/basic'
cd basic_alg; make
make[2]: Entering directory `/src/LEDA-4.2/src/basic_alg'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/src/LEDA-4.2/src/basic_alg'
cd numbers;   make
make[2]: Entering directory `/src/LEDA-4.2/src/numbers'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/src/LEDA-4.2/src/numbers'
cd asm_i386;  make
make[2]: Entering directory `/src/LEDA-4.2/src/asm_i386'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/src/LEDA-4.2/src/asm_i386'
cd dict;      make
make[2]: Entering directory `/src/LEDA-4.2/src/dict'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/src/LEDA-4.2/src/dict'
cd prio;      make
make[2]: Entering directory `/src/LEDA-4.2/src/prio'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/src/LEDA-4.2/src/prio'
cd graph;     make
make[2]: Entering directory `/src/LEDA-4.2/src/graph'
g++ -Wall -fpic -O  -DLEDA_INSTALL -I../../incl -c _graph.c
In file included from ../../incl/LEDA/event.h:138,
                 from ../../incl/LEDA/graph.h:41,
                 from _graph.c:18:
../../incl/LEDA/event_macros.h:22:29: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:23:29: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:24:29: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:25:29: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:36:10: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:37:10: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:39:28: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:40:23: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:41:39: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:54:38: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:55:31: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:57:27: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:58:31: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:60:10: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:62:39: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:130:10: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:131:36: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:138:38: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:139:60: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:146:27: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:147:67: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:157:38: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:158:38: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:159:42: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:165:27: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:166:38: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:167:45: warning: nothing can be pasted after this token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:196:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:211:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: too many arguments for macro "_DECLARE_BASE_RECEIVER"
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: too many arguments for macro "_DECLARE_EVENTS"
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: too many arguments for macro "_DECLARE_RECEIVERS"
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: too many arguments for macro "_DECLARE_EVENT_XDEFS"
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:212:30: too many arguments for macro "_DECLARE_ATTACH_FUNCS"
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: too many arguments for macro "_DECLARE_BASE_RECEIVER"
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: too many arguments for macro "_DECLARE_EVENTS"
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: too many arguments for macro "_DECLARE_RECEIVERS"
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: too many arguments for macro "_DECLARE_EVENT_XDEFS"
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:213:30: too many arguments for macro "_DECLARE_ATTACH_FUNCS"
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: too many arguments for macro "_DECLARE_BASE_RECEIVER"
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: too many arguments for macro "_DECLARE_EVENTS"
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: too many arguments for macro "_DECLARE_RECEIVERS"
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: too many arguments for macro "_DECLARE_EVENT_XDEFS"
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:214:30: too many arguments for macro "_DECLARE_ATTACH_FUNCS"
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: too many arguments for macro "_DECLARE_BASE_RECEIVER"
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: too many arguments for macro "_DECLARE_EVENTS"
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: too many arguments for macro "_DECLARE_RECEIVERS"
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: too many arguments for macro "_DECLARE_EVENT_XDEFS"
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: warning: pasting would not give a valid preprocessing token
../../incl/LEDA/event_macros.h:215:30: too many arguments for macro "_DECLARE_ATTACH_FUNCS"
make[2]: *** [_graph.o] Error 1
make[2]: Leaving directory `/src/LEDA-4.2/src/graph'
make[1]: *** [libG] Error 2
make[1]: Leaving directory `/src/LEDA-4.2/src'
make: *** [lib] Error 2

Compilation exited abnormally with code 2 at Tue Jan 23 12:46:56

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