comparison libinterp/interp-core/jit-ir.h @ 15231:8442131a391a

jit-ir.h (jit_use::stash_value): Explicitly specify parent template types
author Max Brister <max@2bass.com>
date Sat, 25 Aug 2012 14:04:38 -0600
parents 2fc554ffbc28
children 2c0259dc1a82
comparison
equal deleted inserted replaced
15230:b0c08e995950 15231:8442131a391a
278 278
279 class 279 class
280 jit_use : public jit_internal_node<jit_value, jit_use> 280 jit_use : public jit_internal_node<jit_value, jit_use>
281 { 281 {
282 public: 282 public:
283 // some compilers don't allow us to use jit_internal_node without template
284 // paremeters
285 typedef jit_internal_node<jit_value, jit_use> PARENT_T;
286
283 jit_use (void) : muser (0), mindex (0) {} 287 jit_use (void) : muser (0), mindex (0) {}
284 288
285 // we should really have a move operator, but not until c++11 :( 289 // we should really have a move operator, but not until c++11 :(
286 jit_use (const jit_use& use) : muser (0), mindex (0) 290 jit_use (const jit_use& use) : muser (0), mindex (0)
287 { 291 {
303 std::list<jit_block *> user_parent_location (void) const; 307 std::list<jit_block *> user_parent_location (void) const;
304 308
305 void stash_value (jit_value *avalue, jit_instruction *auser = 0, 309 void stash_value (jit_value *avalue, jit_instruction *auser = 0,
306 size_t aindex = -1) 310 size_t aindex = -1)
307 { 311 {
308 jit_internal_node::stash_value (avalue); 312 PARENT_T::stash_value (avalue);
309 mindex = aindex; 313 mindex = aindex;
310 muser = auser; 314 muser = auser;
311 } 315 }
312 private: 316 private:
313 jit_instruction *muser; 317 jit_instruction *muser;