<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Reid, Richard, any thoughts about this?<br>
</p>
<pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team</pre>
<div class="moz-cite-prefix">20.05.2016 20:36, Alexey Bataev via cfe-dev пишет:<br>
</div>
<blockquote cite="mid:%3CHE1PR09MB0250FE67AA52E006B9C8464C854B0@HE1PR09MB0250.eurprd09.prod.outlook.com%3E" type="cite">
<p>
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 15">
<meta name="Originator" content="Microsoft Word 15">
<link rel="File-List" href="file:///C:%5CUsers%5Cabataev%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"><link rel="themeData" href="file:///C:%5CUsers%5Cabataev%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"><link rel="colorSchemeMapping" href="file:///C:%5CUsers%5Cabataev%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>RU</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="--"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371">
  <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/>
  <w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/>
  <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/>
  <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/>
  <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/>
  <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
  <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
  <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
  <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
  <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
  <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
  <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
  <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/>
 </w:LatentStyles>
</xml><![endif]--><style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;
        mso-font-alt:"Calisto MT";
        mso-font-charset:204;
        mso-generic-font-family:roman;
        mso-font-pitch:variable;
        mso-font-signature:-536870145 1107305727 0 0 415 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;
        mso-font-alt:"Century Gothic";
        mso-font-charset:204;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:-536870145 1073786111 1 0 415 0;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;
        mso-font-charset:204;
        mso-generic-font-family:modern;
        mso-font-pitch:fixed;
        mso-font-signature:-520092929 1073806591 9 0 415 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;
        mso-fareast-theme-font:minor-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-fareast-language:EN-US;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-default-props:yes;
        font-size:10.0pt;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:2.0cm 42.5pt 2.0cm 3.0cm;
        mso-header-margin:36.0pt;
        mso-footer-margin:36.0pt;
        mso-paper-source:0;}
div.WordSection1
        {page:WordSection1;}
-->
</style><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman",serif;}
</style>
<![endif]--></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Motivation<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">=========<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Currently clang in MSVC compatibility mode has many troubles with MS provided headers (ATL / WTL), which use template classes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">MSVC actively uses unqualified lookup in dependent bases, lookup at the instantiation point (non-dependent names may be resolved on things declared later) etc.
 and all this stuff is the main cause of incompatibility between clang and MSVC.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Clang tries to emulate MSVC behavior but it may fail in many cases. For example:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">template</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
 <</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:blue;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">class</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">struct</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">S</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 : </span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">public</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span>S(</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">)
 {}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span>S() {}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">void</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
 foo() {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:2">            
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">S</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US"><</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">>
 bar(baz);<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">struct</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">S1</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:blue;background:white;mso-highlight:white;mso-fareast-language:RU">int</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU">
 baz;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU">};<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:#2B91AF;background:white;mso-highlight:white;mso-fareast-language:RU">S</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU"><</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:#2B91AF;background:white;mso-highlight:white;mso-fareast-language:RU">S1</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU">>
 s;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Similar code exists in WTL header files (for example, atlctrlx.h, atlctrlw.h etc.). Clang fails with the following messages:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">test.cpp:6:12: error: unknown type name 'baz'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">  S<T> bar(baz);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">           ^<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">test.cpp:6:11: warning: parentheses were disambiguated as a function declaration [-Wvexing-parse]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">  S<T> bar(baz);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">          ^~~~~<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">test.cpp:6:12: note: add a pair of parentheses to declare a variable<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">  S<T> bar(baz);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">In addition, it may produce invalid AST from MSVC point of view:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">typedef</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:blue;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">int</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">baz</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">template</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
 <</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:blue;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">class</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">struct</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">S</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 : </span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">public</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span>S() {}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU">S(</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:blue;background:white;mso-highlight:white;mso-fareast-language:RU">int</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU">)
 {}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-fareast-language:RU"><span style="mso-tab-count:1">      
</span></span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">void</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:black;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">
 foo() {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:2">            
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">S</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US"><</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">T</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">>
 bar(</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">baz</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">);<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:2">            
</span>++bar.barz;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">struct</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">S1</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">static</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:blue;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">int</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">
 baz;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">int</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
 barz;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">};<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">int</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">S1</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">::baz
 = 0;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
          Roman";color:#2B91AF;background:white;mso-highlight:white;
          mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">S</span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US"><</span><span style="font-size:9.5pt;
          font-family:Consolas;mso-fareast-font-family:"Times New
          Roman";color:#2B91AF;
background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:
          RU" lang="EN-US">S1</span><span style="font-size:9.5pt;font-family:Consolas;
          mso-fareast-font-family:"Times New
          Roman";color:black;background:white;
mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">>
 s;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">int</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
 main() {<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span>s.foo();<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><span style="mso-tab-count:1">      
</span></span><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:blue;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">return</span><span style="font-size:
          9.5pt;font-family:Consolas;mso-fareast-font-family:"Times
          New Roman";
color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;
          mso-fareast-language:RU" lang="EN-US">
 0;<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal" style="mso-layout-grid-align:none;text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;mso-fareast-font-family:
          "Times New
Roman";color:black;background:white;mso-highlight:white;mso-ansi-language:EN-US;mso-fareast-language:RU" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">test.cpp:8:8: error: member reference base type 'S<S1> (baz)' (aka 'S<S1> (int)') is not a structure or union  
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">  ++bar.barz;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">    ~~~^~~~~<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">test.cpp:21:5: note: in instantiation of member function 'S<S1>::foo' requested here<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">  s.foo();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Though these examples are not "quite correct" but required for MSVC compatibility and parsing system headers.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Proposed solution<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">==============<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">It seems the only truly universal and generic solution would be to perform parsing of in-class defined member functions during instantiation of template classes
 (in MSVC compatibility mode only).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">To do this clang could store lexed tokens for member functions definitions within ClassTemplateDecl for later parsing during template instantiation.   
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">It will allow resolving many possible issues with lookup in dependent base classes and removing many already existing MSVC-specific hacks/workarounds from the
 clang code.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US"> 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-ansi-language:
          EN-US" lang="EN-US">Please kindly provide feedback for the proposal stated above; we (Intel compiler team) plan to handle implementation to reach full clang compatibility with ATL
 / WTL headers and improve MSVC compatibility in general.<o:p> </o:p></span><br>
</p>
--
<pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team</pre>
</blockquote>
<br>
</body>
</html>