
LLVM рдХрдореНрдкрд╛рдЗрд▓рд░реНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП "рдИрдВрдЯреЛрдВ" рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдФрд░ рдХреНрд▓реИрдВрдЧ рдПрдХ
рдирдпрд╛ C ++ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ рдЬреЛ рдЗрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред Gcc рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдпрд╣ рддреБрд▓рдиреАрдп рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛, рдЕрдзрд┐рдХ рдорд╛рдирд╡-рдкрдардиреАрдп рд╕реНрд░реЛрддреЛрдВ, рдХреЗ рд╕рд╛рде рддреЗрдЬ рд╕рдВрдХрд▓рди рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╡реЗ gcc рдХреА рддрд░рд╣ рдХреНрд░реВрд░ C- рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджрд╢рдХреЛрдВ рддрдХ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Clang рдФрд░ llvm рдХреЛ BSD рдХреЗ рддрд╣рдд GCC рдХреЗ GPLv3 рдХреЗ рд╡рд┐рдкрд░реАрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХрд▓рдХ рдирд┐рд╖реНрдкрд╛рджрдирдпреЛрдЧреНрдп рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп рдмреАрдПрд╕рдбреА рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рдирд╣реАрдВ рдЦреЛрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
LLVM + CLang рдХреЗ рд╕рд╛рде, рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдЦреЗрд▓рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛, рдЬреЛ рдХрднреА рднреА рдЕрдкрдирд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдпрд╛ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реЗрд▓реНрдл рдЕрд╕реЗрдореНрдмрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рд╡рд╛рд░реНрдорд░ рдмрд╛рдЗрдирд░реА рдХреЛрдб рджреЗрддрд╛ рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ llvm / clang рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ Linux / MacOS рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдФрд░ рд╡рд╣рд╛рдВ рдЗрд╕рдХреА рдЕрд╕реЗрдВрдмрд▓реА / рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдкрде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯреНрд░реЛрдб рд╣реИред рд▓реЗрдХрд┐рди рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдЬрдЯрд┐рд▓ рд╣реИ - рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рдХрдИ рд░реЗрдХ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдХреНрдпрд╛ рдХреНрд▓реИрдВрдЧ рдФрд░ рдЬреАрд╕реАрд╕реА рдХреЛ рдмрд╛рдВрдзрддрд╛ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдХреАрдбрд╝реЗ рдХреЛ рд░рд┐рд▓реАрдЬ рдореЗрдВ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред
рд╕рднрд╛
рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рддрд╣рдд llvm + рдХреНрд▓реИрдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ 2 рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ:
рд╕реАрдПрдордХреЗ рдЖрдкрдХреЛ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред clang + llvm рдЕрднреА рднреА рдЬреАрд╕реАрд╕реА рдШрдЯрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп, рд▓реЗрдХрд┐рди рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдХреНрд▓реИрдВрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЕрднреА рднреА рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЖрдкрдХреЛ рдХреНрд▓реИрдВрдЧ, рд╡реАрдПрд╕ рдФрд░ рдЬреАрд╕реАрд╕реА рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХрд╛ рдПрдХ рдмреЗрддрд╣рд╛рд╢рд╛ рд╢реМрдХрд╝реАрди рдорд┐рд▓реЗрдЧрд╛, рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдШрдЯрдХ рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдмрджрд▓реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд╕рдордп рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬрдм рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде 3.2 рдХреНрд▓реИрдВрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛ рд░рд╣рд╛ рд╣реИ - рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдХ рдлрд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (2010 рдореЗрдВ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ)ред рдЗрд╕рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ, рдореИрдВрдиреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо (рдХреНрд▓реИрдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд) рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Mingw32 + MSYS ред
рдорд┐рдВрдЧрд╡ 32 - рдЗрд╕рдореЗрдВ рдЬреАрд╕реАрд╕реА рдФрд░ рдПрдХ рдкрддрд▓рд╛ рдЖрд╡рд░рдг рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдирдХреНрд╕ рдЬреИрд╕рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж <> рд▓рд┐рдирдХреНрд╕ рд╢реИрд▓реА рдкрдеред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп (рдЬреИрд╕реЗ рдХрд╛рдВрдЯрд╛) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЧрддрддрд╛ рд╕рд╛рдЗрдмрд░рд╡рд┐рди рд╕реЗ рднреА рдмрджрддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЖрдВрд╢рд┐рдХ рд╡рд┐рд╡рд░рдг
llvm рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИ ред
MSYS - рд╣рдореЗрдВ рдПрдХ "linux" рд╢реЗрд▓ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдорд╛рдирдХ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рд░рд╛рд╕реНрддреЗ рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ рд╣рдо рдЬрд╛рдПрдВрдЧреЗред
рд╣рдо MSYS рдХрдВрд╕реЛрд▓ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, llvm, clang, compiler-rt (рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП рд▓реЛ-рд▓реЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛрдб) рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, llvm рдХреЛ рдЖрдкрдХреЗ рд╕реЛрд░реНрд╕ рдлреЛрд▓реНрдбрд░ рдХреЗ рд░реВрдЯ рдкрд░ рдЦреЛрд▓рддреЗ рд╣реИрдВ, llvm / рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП llvm / tools, compiler-rt рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВред рд╣рдо gcc рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - llvm рдХреЗ рд▓рд┐рдП 3.2 gcc 4.6.2 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ (4.7.2 рдХреЗ рдмрд╛рдж рд╕реЗ, рд╡рд╣ рдЦреБрдж рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИ)ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП llvm / bin, рд╡рд╣рд╛рдВ рдЬрд╛рдПрдВ, рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
../configure --disable-docs --enable-optimized --enable-targets=x86 --prefix=/newclang
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреАред рдЬрдм рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ MSYS рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдЯ рдореЗрдВ newclang рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдЧрд▓рд╛ рд╕реНрд╡-рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╣реИ ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдЪрд░ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: "xenocompiler рд╕рдВрд╕реНрдХрд░рдг"ред рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдирд┐рд░реНрдорд┐рдд рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ:
export CXX=/newclang/bin/clang++.exe export CC=/newclang/bin/clang.exe
рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБ ../configure..and рдлрд┐рд░ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдХреНрд▓реИрдВрдЧ рдЦреБрдж рд╣реА рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛?
рд╣рдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ
рдХрд╛рдо рдХреА рдЧрддрд┐рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рддреА рд╣реИ - рдЗрдХрдЯреНрдареЗ рд╣реБрдП рдХреНрд▓реИрдВрдЧ рдХреЛ рд░рд╛рдХреНрд╖рд╕реА рд░реВрдк рд╕реЗ рдзреАрдорд╛ рдХрд░ рджреЗрддреА рд╣реИ, рдФрд░ рдпрд╣ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рд╣реИ! рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рд╕рд░рд▓ "рдХреНрд▓реИрдВрдЧ ++ --version" рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рдХрдИ рд╕реЗрдХрдВрдб рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд╣реИ: рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдерд┐рд░ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ (рдЯреЗрдиреЗрдмрд╛рдЗрдЯреНрд╕ рдХреЗ рджрд╕рд┐рдпреЛрдВ) рдХреЗ рдПрдХ рдмрдврд╝реЗ рд╣реБрдП рдЖрдХрд╛рд░ рдХреА рдХреАрдордд рдкрд░ред
Export LDFLAGS=-static
рддреНрд░реБрдЯрд┐ "рдХреЗрд╡рд▓ рдПрд▓рд╛рдХрд╛-рд╡рд╛рдЗрдб рд╕реНрдЯреЛрд░ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ"рдпрд╣
llvm рдореЗрдВ рдПрдХ
рдмрдЧ рд╣реИ , рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднрдВрдбрд╛рд░ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ 3.3 рдореЗрдВ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдХреНрд▓реИрдВрдЧ 3.2 рд░рд┐рд▓реАрдЬ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред
рдЖрдкрдХреЛ svn 170270 рд╕рдВрд╢реЛрдзрди рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ \ lib \ Transforms \ Scalar \ SROApppp рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░реЛрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
=================================================================== --- SROA.cpp (revision 170269) +++ SROA.cpp (revision 170270) @@ -2607,7 +2607,7 @@ TD.getTypeStoreSizeInBits(V->getType()) && "Non-byte-multiple bit width"); assert(V->getType()->getIntegerBitWidth() == - TD.getTypeSizeInBits(OldAI.getAllocatedType()) && + TD.getTypeAllocSizeInBits(OldAI.getAllocatedType()) && "Only alloca-wide stores can be split and recomposed"); IntegerType *NarrowTy = Type::getIntNTy(SI.getContext(), Size * 8); V = extractInteger(TD, IRB, V, NarrowTy, BeginOffset,
рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИрдпрджрд┐ рдЖрдк рдмрд┐рд▓реНрдб рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдХ -j 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рддреЛ рд╣рд╛рдВ, mingw32 рдмрд┐рд▓реНрдб рдХреЗ рдмреАрдЪ рдореЗрдВ рдХрд╕рдХрд░ рд▓рдЯрдХрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдПрд╕рдПрд╕рдбреА рдкрд░ (рдбреНрд░рд╛рдЗрд╡ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХреЛрдИ рджреЗрд░реА рдирд╣реАрдВ рд╣реИ - рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдмреЗрд╣рддрд░ рдореМрдХрд╛ рд╣реИ)ред рдореБрдЭреЗ рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рдХреНрд▓реИрдВрдЧ рдХреЛ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВрдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ gcc рд╕реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП - рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреНрд▓реИрдВрдЧ рдЬрдЧрд╣ рдкрд░ рдЭреВрда рдмреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреБрд░реНрд╕реА рд╕реЗ рдордд рдЧрд┐рд░реЛ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрде рдлрд╝рд╛рдЗрд▓ \ рдЯреВрд▓реНрд╕ \ clang \ lib \ Frontend \ InitHeaderSearch.cpp рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ MinGW рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрд▓реИрдВрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рдлрд┐рд░, рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ gcc рдХреЗ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ gcc рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдЖрдк MSYS рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреИрдХреЗрдЬ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
mingw-get install "gcc=4.6.*" mingw-get install "g++=4.6.*"
рдЕрдм рдХреНрд▓реИрдВрдЧ рдЦреБрдж рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдФрд░ рдЖрдкрдХреЛ рдПрдХ рддрд╛рдЬрд╛ рдФрд░ рддреЗрдЬ, рдЧрд░реНрдо рдФрд░ рджреАрдкрдХ, рдЖрддреНрдо-рдЗрдХрдЯреНрдареЗ рд╕рдВрдХрд▓рдХ рдорд┐рд▓реЗрдЧрд╛ред