@@ -3315,7 +3315,45 @@ ManglingError Remangler::mangleOutlinedDestroy(Node *node, unsigned depth) {
33153315 Buffer << " WOh" ;
33163316 return ManglingError::Success;
33173317}
3318-
3318+ ManglingError Remangler::mangleOutlinedEnumGetTag (Node *node, unsigned depth) {
3319+ RETURN_IF_ERROR (mangleChildNodes (node, depth + 1 ));
3320+ Buffer << " WOg" ;
3321+ return ManglingError::Success;
3322+ }
3323+ ManglingError Remangler::mangleOutlinedEnumProjectDataForLoad (Node *node, unsigned depth) {
3324+ if (node->getNumChildren () == 2 ) {
3325+ auto ty = node->getChild (0 );
3326+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3327+ Buffer << " WOj" ;
3328+ mangleIndex (node->getChild (1 )->getIndex ());
3329+ return ManglingError::Success;
3330+ } else {
3331+ auto ty = node->getChild (0 );
3332+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3333+ auto sig = node->getChild (1 );
3334+ RETURN_IF_ERROR (mangle (sig, depth + 1 ));
3335+ Buffer << " WOj" ;
3336+ mangleIndex (node->getChild (2 )->getIndex ());
3337+ return ManglingError::Success;
3338+ }
3339+ }
3340+ ManglingError Remangler::mangleOutlinedEnumTagStore (Node *node, unsigned depth) {
3341+ if (node->getNumChildren () == 2 ) {
3342+ auto ty = node->getChild (0 );
3343+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3344+ Buffer << " WOi" ;
3345+ mangleIndex (node->getChild (1 )->getIndex ());
3346+ return ManglingError::Success;
3347+ } else {
3348+ auto ty = node->getChild (0 );
3349+ RETURN_IF_ERROR (mangle (ty, depth + 1 ));
3350+ auto sig = node->getChild (1 );
3351+ RETURN_IF_ERROR (mangle (sig, depth + 1 ));
3352+ Buffer << " WOi" ;
3353+ mangleIndex (node->getChild (2 )->getIndex ());
3354+ return ManglingError::Success;
3355+ }
3356+ }
33193357ManglingError Remangler::mangleOutlinedVariable (Node *node, unsigned depth) {
33203358 Buffer << " Tv" ;
33213359 mangleIndex (node->getIndex ());
0 commit comments