Remove exit-time destructors.

Bug chromium:101600
Bug swiftshader:118

Change-Id: Id167a84c4d8781989d4d903384c4e6fe6f45fb85
Reviewed-on: https://swiftshader-review.googlesource.com/20868
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/OpenGL/compiler/DirectiveHandler.cpp b/src/OpenGL/compiler/DirectiveHandler.cpp
index ef61d47..7616ce5 100644
--- a/src/OpenGL/compiler/DirectiveHandler.cpp
+++ b/src/OpenGL/compiler/DirectiveHandler.cpp
@@ -21,10 +21,10 @@
 
 static TBehavior getBehavior(const std::string& str)
 {
-	static const std::string kRequire("require");
-	static const std::string kEnable("enable");
-	static const std::string kDisable("disable");
-	static const std::string kWarn("warn");
+	static const char kRequire[] = "require";
+	static const char kEnable[] = "enable";
+	static const char kDisable[] = "disable";
+	static const char kWarn[] = "warn";
 
 	if (str == kRequire) return EBhRequire;
 	else if (str == kEnable) return EBhEnable;
@@ -57,11 +57,11 @@
                                      const std::string& value,
                                      bool stdgl)
 {
-	static const std::string kSTDGL("STDGL");
-	static const std::string kOptimize("optimize");
-	static const std::string kDebug("debug");
-	static const std::string kOn("on");
-	static const std::string kOff("off");
+	static const char kSTDGL[] = "STDGL";
+	static const char kOptimize[] = "optimize";
+	static const char kDebug[] = "debug";
+	static const char kOn[] = "on";
+	static const char kOff[] = "off";
 
 	bool invalidValue = false;
 	if (stdgl || (name == kSTDGL))
@@ -98,7 +98,7 @@
                                         const std::string& name,
                                         const std::string& behavior)
 {
-	static const std::string kExtAll("all");
+	static const char kExtAll[] = "all";
 
 	TBehavior behaviorVal = getBehavior(behavior);
 	if (behaviorVal == EBhUndefined)
diff --git a/src/OpenGL/compiler/preprocessor/DirectiveParser.cpp b/src/OpenGL/compiler/preprocessor/DirectiveParser.cpp
index 9eb044e..ed2ec07 100644
--- a/src/OpenGL/compiler/preprocessor/DirectiveParser.cpp
+++ b/src/OpenGL/compiler/preprocessor/DirectiveParser.cpp
@@ -48,19 +48,19 @@
 
 static DirectiveType getDirective(const pp::Token *token)
 {
-	static const std::string kDirectiveDefine("define");
-	static const std::string kDirectiveUndef("undef");
-	static const std::string kDirectiveIf("if");
-	static const std::string kDirectiveIfdef("ifdef");
-	static const std::string kDirectiveIfndef("ifndef");
-	static const std::string kDirectiveElse("else");
-	static const std::string kDirectiveElif("elif");
-	static const std::string kDirectiveEndif("endif");
-	static const std::string kDirectiveError("error");
-	static const std::string kDirectivePragma("pragma");
-	static const std::string kDirectiveExtension("extension");
-	static const std::string kDirectiveVersion("version");
-	static const std::string kDirectiveLine("line");
+	static const char kDirectiveDefine[] = "define";
+	static const char kDirectiveUndef[] = "undef";
+	static const char kDirectiveIf[] = "if";
+	static const char kDirectiveIfdef[] = "ifdef";
+	static const char kDirectiveIfndef[] = "ifndef";
+	static const char kDirectiveElse[] = "else";
+	static const char kDirectiveElif[] = "elif";
+	static const char kDirectiveEndif[] = "endif";
+	static const char kDirectiveError[] = "error";
+	static const char kDirectivePragma[] = "pragma";
+	static const char kDirectiveExtension[] = "extension";
+	static const char kDirectiveVersion[] = "version";
+	static const char kDirectiveLine[] = "line";
 
 	if (token->type != pp::Token::IDENTIFIER)
 		return DIRECTIVE_NONE;