Output error messages to stderr. This provides a better integration with the .NET...
authorFadi Hanna <fadim@microsoft.com>
Tue, 2 Apr 2019 17:41:49 +0000 (10:41 -0700)
committerGitHub <noreply@github.com>
Tue, 2 Apr 2019 17:41:49 +0000 (10:41 -0700)
src/tools/crossgen/crossgen.cpp

index 58cd8e5..a94a6a6 100644 (file)
@@ -537,7 +537,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
         {
             if (pwzOutputFilename != NULL)
             {
-                Output(W("Cannot specify multiple output files.\n"));
+                OutputErr(W("Cannot specify multiple output files.\n"));
                 exit(INVALID_ARGUMENTS);
             }
             pwzOutputFilename = argv[1];
@@ -548,7 +548,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
         {
             if (pwzFilename != NULL)
             {
-                Output(W("Cannot specify multiple input files.\n"));
+                OutputErr(W("Cannot specify multiple input files.\n"));
                 exit(INVALID_ARGUMENTS);
             }
             pwzFilename = argv[1];
@@ -638,7 +638,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 
             if (argc == 0)
             {
-                Output(W("The /CreatePDB switch requires <directory to store PDB> and <assembly name>.\n"));
+                OutputErr(W("The /CreatePDB switch requires <directory to store PDB> and <assembly name>.\n"));
                 exit(FAILURE_RESULT);
             }
 
@@ -652,7 +652,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 
                 if (argc == 0)
                 {
-                    Output(W("The /CreatePDB switch requires <directory to store PDB> and <assembly name>.\n"));
+                    OutputErr(W("The /CreatePDB switch requires <directory to store PDB> and <assembly name>.\n"));
                     exit(FAILURE_RESULT);
                 }
 
@@ -706,7 +706,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 
             if (argc == 0)
             {
-                Output(W("The /CreatePerfMap switch requires <directory to store perfmap> and <assembly name>.\n"));
+                OutputErr(W("The /CreatePerfMap switch requires <directory to store perfmap> and <assembly name>.\n"));
                 exit(FAILURE_RESULT);
             }
 
@@ -720,12 +720,12 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
         {
             if (argc == 1)
             {
-#if !defined(FEATURE_PAL)
-                // When not running on Mac, which can have forward-slash pathnames, we know
+#if !defined(PLATFORM_UNIX)
+                // When not running on Mac or Linux, which can have forward-slash pathnames, we know
                 // a command switch here means an invalid argument.
                 if (*argv[0] == W('-') || *argv[0] == W('/'))
                 {
-                    Outputf(W("Invalid parameter: %s\n"), *argv);
+                    OutputErrf(W("Invalid parameter: %s\n"), *argv);
                     exit(INVALID_ARGUMENTS);
                 }
 #endif //!FEATURE_PAL
@@ -737,7 +737,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 
                 if (pwzFilename != NULL)
                 {
-                    Output(W("Cannot use /In and specify an input file as the last argument.\n"));
+                    OutputErr(W("Cannot use /In and specify an input file as the last argument.\n"));
                     exit(INVALID_ARGUMENTS);
                 }
                 
@@ -746,7 +746,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
             }
             else
             {
-                Outputf(W("Invalid parameter: %s\n"), *argv);
+                OutputErrf(W("Invalid parameter: %s\n"), *argv);
                 exit(INVALID_ARGUMENTS);
             }
         }
@@ -757,26 +757,26 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 
     if (pwzFilename == NULL)
     {
-        Output(W("You must specify an assembly to compile\n"));
+        OutputErr(W("You must specify an assembly to compile\n"));
         exit(INVALID_ARGUMENTS);
     }
 
     if (fCreatePDB && (dwFlags != 0))
     {
-        Output(W("The /CreatePDB switch cannot be used with other switches, except /lines and the various path switches.\n"));
+        OutputErr(W("The /CreatePDB switch cannot be used with other switches, except /lines and the various path switches.\n"));
         exit(FAILURE_RESULT);
     }
 
     if (pwzAppNiPaths != nullptr && !fCreatePDB)
     {
-        Output(W("The /App_Ni_Paths switch can only be used with the /CreatePDB switch.\n"));
+        OutputErr(W("The /App_Ni_Paths switch can only be used with the /CreatePDB switch.\n"));
         exit(FAILURE_RESULT);
     }
 
 #if !defined(FEATURE_MERGE_JIT_AND_ENGINE)
     if (pwszCLRJITPath != nullptr && fCreatePDB)
     {
-        Output(W("The /JITPath switch can not be used with the /CreatePDB switch.\n"));
+        OutputErr(W("The /JITPath switch can not be used with the /CreatePDB switch.\n"));
         exit(FAILURE_RESULT);
     }
 #endif // !defined(FEATURE_MERGE_JIT_AND_ENGINE)
@@ -784,7 +784,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 #if !defined(NO_NGENPDB)
     if (pwzDiasymreaderPath != nullptr && !fCreatePDB)
     {
-        Output(W("The /DiasymreaderPath switch can only be used with the /CreatePDB switch.\n"));
+        OutputErr(W("The /DiasymreaderPath switch can only be used with the /CreatePDB switch.\n"));
         exit(FAILURE_RESULT);
     }
 #endif // !defined(NO_NGENPDB)
@@ -796,7 +796,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
 
     if ((pwzTrustedPlatformAssemblies != nullptr) && (pwzPlatformAssembliesPaths != nullptr))
     {
-        Output(W("The /r and /Platform_Assemblies_Paths switches cannot be both specified.\n"));
+        OutputErr(W("The /r and /Platform_Assemblies_Paths switches cannot be both specified.\n"));
         exit(FAILURE_RESULT);
     }
 
@@ -820,7 +820,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
         }
         if (!isWindowsDotWinmd)
         {
-            Output(W("The /NoMetaData switch can only be used with Windows.winmd.\n"));
+            OutputErr(W("The /NoMetaData switch can only be used with Windows.winmd.\n"));
             exit(FAILURE_RESULT);
         }
     }