@@ -336,16 +336,26 @@ int gcc_modet::doit()
336
336
base_name==" bcc" ||
337
337
base_name.find (" goto-bcc" )!=std::string::npos;
338
338
339
+ // if we are gcc or bcc, then get the version number
340
+ gcc_version.get (native_tool_name);
341
+
339
342
if ((cmdline.isset (' v' ) && cmdline.have_infile_arg ()) ||
340
343
(cmdline.isset (" version" ) && !produce_hybrid_binary))
341
344
{
342
345
// "-v" a) prints the version and b) increases verbosity.
343
346
// Compilation continues, don't exit!
344
347
345
348
if (act_as_bcc)
346
- std::cout << " bcc: version 0.16.17 (goto-cc " CBMC_VERSION " )\n " ;
349
+ std::cout << " bcc: version " << gcc_version
350
+ << " (goto-cc " CBMC_VERSION " )\n " ;
347
351
else
348
- std::cout << " gcc version 3.4.4 (goto-cc " CBMC_VERSION " )\n " ;
352
+ {
353
+ if (gcc_version.flavor == gcc_versiont::flavort::CLANG)
354
+ std::cout << " clang version " << gcc_version
355
+ << " (goto-cc " CBMC_VERSION " )\n " ;
356
+ else
357
+ std::cout << " gcc (goto-cc " CBMC_VERSION " ) " << gcc_version << ' \n ' ;
358
+ }
349
359
}
350
360
351
361
compilet compiler (cmdline,
@@ -359,11 +369,17 @@ int gcc_modet::doit()
359
369
if (produce_hybrid_binary)
360
370
return run_gcc (compiler);
361
371
362
- std::cout << ' \n ' <<
363
- " Copyright (C) 2006-2014 Daniel Kroening, Christoph Wintersteiger\n " <<
364
- " CBMC version: " CBMC_VERSION << ' \n ' <<
365
- " Architecture: " << config.this_architecture () << ' \n ' <<
366
- " OS: " << config.this_operating_system () << ' \n ' ;
372
+ std::cout
373
+ << ' \n '
374
+ << " Copyright (C) 2006-2018 Daniel Kroening, Christoph Wintersteiger\n "
375
+ << " CBMC version: " CBMC_VERSION << ' \n '
376
+ << " Architecture: " << config.this_architecture () << ' \n '
377
+ << " OS: " << config.this_operating_system () << ' \n ' ;
378
+
379
+ if (gcc_version.flavor == gcc_versiont::flavort::CLANG)
380
+ std::cout << " clang: " << gcc_version << ' \n ' ;
381
+ else
382
+ std::cout << " gcc: " << gcc_version << ' \n ' ;
367
383
368
384
return EX_OK; // Exit!
369
385
}
@@ -381,7 +397,7 @@ int gcc_modet::doit()
381
397
if (cmdline.isset (" dumpmachine" ))
382
398
std::cout << config.this_architecture () << ' \n ' ;
383
399
else if (cmdline.isset (" dumpversion" ))
384
- std::cout << " 3.4.4 \n " ;
400
+ std::cout << gcc_version << ' \n ' ;
385
401
386
402
// we don't have any meaningful output for the other options, and GCC
387
403
// doesn't necessarily produce non-empty output either
0 commit comments