Changeset d76c588 for src/SymTab
- Timestamp:
- May 30, 2019, 4:10:24 PM (6 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 8d70648
- Parents:
- eba615c
- Location:
- src/SymTab
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Mangler.cc
reba615c rd76c588 390 390 } // namespace SymTab 391 391 392 namespace Mangle { 393 std::string mangle( const ast::Node * decl, Mangle::Mode mode ) { 394 #warning unimplemented 395 assert( decl && mode.val && false ); 396 return ""; 397 } 398 } // namespace Mangle 399 392 400 // Local Variables: // 393 401 // tab-width: 4 // -
src/SymTab/Mangler.h
reba615c rd76c588 21 21 #include <utility> // for pair 22 22 23 #include "AST/Bitfield.hpp" 24 #include "AST/Fwd.hpp" 23 25 #include "SynTree/SynTree.h" // for Types 24 26 #include "SynTree/Visitor.h" // for Visitor, maybeAccept … … 75 77 } // SymTab 76 78 79 namespace Mangle { 80 /// Bitflags for mangle modes 81 enum { 82 NoOverrideable = 1 << 0, 83 Type = 1 << 1, 84 NoGenericParams = 1 << 2 85 }; 86 87 /// Bitflag type for mangler modes 88 struct mangle_flags { 89 union { 90 unsigned int val; 91 struct { 92 bool no_overrideable : 1; 93 bool type : 1; 94 bool no_generic_params : 1; 95 }; 96 }; 97 98 constexpr mangle_flags( unsigned int val ) : val(val) {} 99 }; 100 101 using Mode = bitfield<mangle_flags>; 102 103 /// Mangle declaration name 104 std::string mangle( const ast::Node * decl, Mode mode = {} ); 105 106 namespace Encoding { 107 using namespace SymTab::Mangler::Encoding; 108 }; 109 } 110 77 111 extern "C" { 78 112 char * cforall_demangle(const char *, int);
Note:
See TracChangeset
for help on using the changeset viewer.