• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- main.cpp ------------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #include <cstdlib>
11 #include <string>
12 #include <fstream>
13 #include <iostream>
14 
numberfn()15 int numberfn()
16 {
17     return 0x5a;
18 }
19 
20 int
main(int argc,char const * argv[])21 main(int argc, char const *argv[])
22 {
23     // The program writes its output to the following file:
24     //
25     //     o "output1.txt" for test_pass_host_env_vars() test case
26     //     o "output2.txt" for test_run_args_and_env_vars_with_dsym() test case
27     //     o "output2.txt" for test_run_args_and_env_vars_with_dwarf() test case
28     std::ofstream outfile;
29     if (argc == 1)
30         outfile.open("output1.txt");
31     else
32         outfile.open("output2.txt");
33 
34     for (unsigned i = 0; i < argc; ++i) {
35         std::string theArg(argv[i]);
36         if (i == 1 && "A" == theArg)
37             outfile << "argv[1] matches\n";
38 
39         if (i == 2 && "B" == theArg)
40             outfile << "argv[2] matches\n";
41 
42         if (i == 3 && "C" == theArg)
43             outfile << "argv[3] matches\n";
44     }
45 
46     // For passing environment vars from the debugger to the launched process.
47     if (::getenv("MY_ENV_VAR")) {
48         std::string MY_ENV_VAR(getenv("MY_ENV_VAR"));
49         if ("YES" == MY_ENV_VAR) {
50             outfile << "Environment variable 'MY_ENV_VAR' successfully passed.\n";
51         }
52     }
53 
54 
55     // For passing host environment vars to the launched process.
56     if (::getenv("MY_HOST_ENV_VAR1")) {
57         std::string MY_HOST_ENV_VAR1(getenv("MY_HOST_ENV_VAR1"));
58         if ("VAR1" == MY_HOST_ENV_VAR1) {
59             outfile << "The host environment variable 'MY_HOST_ENV_VAR1' successfully passed.\n";
60         }
61     }
62 
63     if (::getenv("MY_HOST_ENV_VAR2")) {
64         std::string MY_HOST_ENV_VAR2(getenv("MY_HOST_ENV_VAR2"));
65         if ("VAR2" == MY_HOST_ENV_VAR2) {
66             outfile << "The host environment variable 'MY_HOST_ENV_VAR2' successfully passed.\n";
67         }
68     }
69 
70     std::cerr << "This message should go to standard error.\n";
71     std::cout << "This message should go to standard out.\n";
72 
73     outfile.close();
74     return numberfn();
75 }
76