@@ -533,28 +533,37 @@ namespace {
533533 if (condAttr)
534534 condition = condAttr;
535535 for (const tinyxml2::XMLElement *e1 = idg->FirstChildElement (); e1 ; e1 = e1 ->NextSiblingElement ()) {
536- if (std::strcmp (e1 ->Name (), " ClCompile" ) != 0 )
537- continue ;
538- enhancedInstructionSet = " StreamingSIMDExtensions2" ;
539- for (const tinyxml2::XMLElement *e = e1 ->FirstChildElement (); e; e = e->NextSiblingElement ()) {
540- if (e->GetText ()) {
541- if (std::strcmp (e->Name (), " PreprocessorDefinitions" ) == 0 )
542- preprocessorDefinitions = e->GetText ();
543- else if (std::strcmp (e->Name (), " AdditionalIncludeDirectories" ) == 0 ) {
544- if (!additionalIncludePaths.empty ())
545- additionalIncludePaths += ' ;' ;
546- additionalIncludePaths += e->GetText ();
547- } else if (std::strcmp (e->Name (), " LanguageStandard" ) == 0 ) {
548- if (std::strcmp (e->GetText (), " stdcpp14" ) == 0 )
549- cppstd = Standards::CPP14;
550- else if (std::strcmp (e->GetText (), " stdcpp17" ) == 0 )
551- cppstd = Standards::CPP17;
552- else if (std::strcmp (e->GetText (), " stdcpp20" ) == 0 )
553- cppstd = Standards::CPP20;
554- else if (std::strcmp (e->GetText (), " stdcpplatest" ) == 0 )
555- cppstd = Standards::CPPLatest;
556- } else if (std::strcmp (e->Name (), " EnableEnhancedInstructionSet" ) == 0 ) {
557- enhancedInstructionSet = e->GetText ();
536+ if (std::strcmp (e1 ->Name (), " ClCompile" ) == 0 ) {
537+ enhancedInstructionSet = " StreamingSIMDExtensions2" ;
538+ for (const tinyxml2::XMLElement *e = e1 ->FirstChildElement (); e; e = e->NextSiblingElement ()) {
539+ if (e->GetText ()) {
540+ if (std::strcmp (e->Name (), " PreprocessorDefinitions" ) == 0 )
541+ preprocessorDefinitions = e->GetText ();
542+ else if (std::strcmp (e->Name (), " AdditionalIncludeDirectories" ) == 0 ) {
543+ if (!additionalIncludePaths.empty ())
544+ additionalIncludePaths += ' ;' ;
545+ additionalIncludePaths += e->GetText ();
546+ } else if (std::strcmp (e->Name (), " LanguageStandard" ) == 0 ) {
547+ if (std::strcmp (e->GetText (), " stdcpp14" ) == 0 )
548+ cppstd = Standards::CPP14;
549+ else if (std::strcmp (e->GetText (), " stdcpp17" ) == 0 )
550+ cppstd = Standards::CPP17;
551+ else if (std::strcmp (e->GetText (), " stdcpp20" ) == 0 )
552+ cppstd = Standards::CPP20;
553+ else if (std::strcmp (e->GetText (), " stdcpplatest" ) == 0 )
554+ cppstd = Standards::CPPLatest;
555+ } else if (std::strcmp (e->Name (), " EnableEnhancedInstructionSet" ) == 0 ) {
556+ enhancedInstructionSet = e->GetText ();
557+ }
558+ }
559+ }
560+ }
561+ else if (std::strcmp (e1 ->Name (), " Link" ) == 0 ) {
562+ for (const tinyxml2::XMLElement *e = e1 ->FirstChildElement (); e; e = e->NextSiblingElement ()) {
563+ if (!e->GetText ())
564+ continue ;
565+ if (std::strcmp (e->Name (), " EntryPointSymbol" ) == 0 ) {
566+ entryPointSymbol = e->GetText ();
558567 }
559568 }
560569 }
@@ -595,6 +604,7 @@ namespace {
595604 std::string enhancedInstructionSet;
596605 std::string preprocessorDefinitions;
597606 std::string additionalIncludePaths;
607+ std::string entryPointSymbol; // TODO: use this
598608 Standards::cppstd_t cppstd = Standards::CPPLatest;
599609 };
600610}
0 commit comments