Changes in src/SynTree/Type.cc [615a096:64ac636]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Type.cc
r615a096 r64ac636 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Mar 17 08:42:47201713 // Update Count : 2 812 // Last Modified On : Thu Mar 16 10:25:06 2017 13 // Update Count : 23 14 14 // 15 15 … … 19 19 #include "Declaration.h" 20 20 #include "Attribute.h" 21 #include "InitTweak/InitTweak.h"22 21 #include "Common/utility.h" 23 22 … … 50 49 Type::Type( const Qualifiers &tq, const std::list< Attribute * > & attributes ) : tq( tq ), attributes( attributes ) {} 51 50 52 Type::Type( const Type &other ) : tq( other.tq ) {51 Type::Type( const Type &other ) : BaseSyntaxNode( other ), tq( other.tq ) { 53 52 cloneAll( other.forall, forall ); 54 53 cloneAll( other.attributes, attributes ); … … 61 60 62 61 // These must remain in the same order as the corresponding bit fields. 63 const char * Type::FuncSpecifiersNames[] = { "inline", "fortran", "_Noreturn" }; 64 const char * Type::StorageClassesNames[] = { "extern", "static", "auto", "register", "_Thread_local" }; 65 const char * Type::QualifiersNames[] = { "const", "restrict", "volatile", "lvalue", "mutex", "_Atomic" }; 66 67 Type *Type::stripDeclarator() { 68 Type * type = this; 69 while ( Type * at = InitTweak::getPointerBase( type ) ) { 70 type = at; 71 } 72 return type; 73 } 62 const char * Type::FuncSpecifiers::Names[] = { "inline", "fortran", "_Noreturn" }; 63 const char * Type::StorageClasses::Names[] = { "extern", "static", "auto", "register", "_Thread_local" }; 64 const char * Type::Qualifiers::Names[] = { "const", "restrict", "volatile", "lvalue", "mutex", "_Atomic" }; 74 65 75 66 void Type::print( std::ostream &os, int indent ) const { … … 84 75 printAll( attributes, os, indent+4 ); 85 76 } // if 86 77 87 78 tq.print( os ); 88 79 }
Note: See TracChangeset
for help on using the changeset viewer.