MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / getClangFlags

Function getClangFlags

lib/cppcheck.cpp:637–666  ·  view source on GitHub ↗

* @brief Get the clang command line flags using the Settings * @param lang language guessed from filename * @return Clang command line flags */

Source from the content-addressed store, hash-verified

635 * @return Clang command line flags
636 */
637static std::string getClangFlags(const Settings& setting, Standards::Language lang) {
638 std::string flags;
639
640 assert(lang != Standards::Language::None);
641
642 switch (lang) {
643 case Standards::Language::C:
644 flags = "-x c ";
645 if (!setting.standards.stdValueC.empty())
646 flags += "-std=" + setting.standards.stdValueC + " ";
647 break;
648 case Standards::Language::CPP:
649 flags += "-x c++ ";
650 if (!setting.standards.stdValueCPP.empty())
651 flags += "-std=" + setting.standards.stdValueCPP + " ";
652 break;
653 case Standards::Language::None:
654 break;
655 }
656
657 for (const std::string &i: setting.includePaths)
658 flags += "-I" + i + " ";
659
660 flags += getDefinesFlags(setting.userDefines);
661
662 for (const std::string &i: setting.userIncludes)
663 flags += "--include " + cmdFileName(i) + " ";
664
665 return flags;
666}
667
668// TODO: clear error list before returning
669unsigned int CppCheck::checkClang(const FileWithDetails &file)

Callers 1

checkClangMethod · 0.85

Calls 3

getDefinesFlagsFunction · 0.85
cmdFileNameFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected