Lines Matching full:argv
61 static bool isLDMode(int argc, char** argv) {
63 if (strcmp(argv[i], "--version") == 0) {
66 if (strcmp(argv[i], "-c") == 0) {
69 if (strcmp(argv[i], "-E") == 0) {
72 if (strcmp(argv[i], "-S") == 0) {
79 static int execCC(int argc, char** argv) {
81 argv[argc++] = "-fsanitize=address";
84 argv[argc++] = "-fsanitize=memory";
87 argv[argc++] = "-fsanitize=undefined";
89 argv[argc] = NULL;
94 execvp(cxx_path, argv);
101 execvp(cc_path, argv);
109 execvp("g++", argv);
110 execvp("gcc", argv);
112 execvp("gcc", argv);
116 execvp("clang++-devel", argv);
117 execvp("clang++-7.0", argv);
118 execvp("clang++-6.0", argv);
119 execvp("clang++-5.0", argv);
120 execvp("clang++-4.0", argv);
121 execvp("clang++", argv);
122 execvp("clang", argv);
124 execvp("clang-devel", argv);
125 execvp("clang-7.0", argv);
126 execvp("clang-6.0", argv);
127 execvp("clang-5.0", argv);
128 execvp("clang-4.0", argv);
129 execvp("clang", argv);
133 PLOG_E("execvp('%s')", argv[0]);
224 static int ccMode(int argc, char** argv) {
236 args[j++] = argv[i];
242 static int ldMode(int argc, char** argv) {
289 args[j++] = argv[i];
298 int main(int argc, char** argv) {
299 if (strstr(basename(util_StrDup(argv[0])), "++") != NULL) {
302 if (strstr(basename(util_StrDup(argv[0])), "-gcc") != NULL) {
305 if (strstr(basename(util_StrDup(argv[0])), "-g++") != NULL) {
309 LOG_I("'%s': No arguments provided", argv[0]);
310 return execCC(argc, argv);
313 LOG_F("'%s': Too many positional arguments: %d", argv[0], argc);
317 if (isLDMode(argc, argv)) {
318 return ldMode(argc, argv);
320 return ccMode(argc, argv);