Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: "Fatal error C1001" error when you use /Oxt , /Ox, or /O2 option and target the x64 platform in Visual Studio 2012 Update 4


View products that this article applies to.

Symptoms

Assume that you have applied Microsoft Visual Studio 2012 Update 4 on your computer. When you compile some C or C++ source code together with an optimization compiler option such as /Ox (Full Optimization), /Oxt, or /O2 (Maximize Speed) and you target the x64 platform, you may receive the following error message: 
fatal error C1001: An internal error has occurred in the compiler. 

Note
The issue may occur if an array of a struct or class is used in a function call, and the first field of the first element of the array is used in a function call. Refer to the following example:
S* arr = …
func1(arr, …)
func2(arr->firstField, …)

↑ Back to the top


Resolution

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix Download Available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website: Note The "Hotfix Download Available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must have Microsoft Visual Studio 2012 Update 4 installed.

Restart requirement

You may have to restart the computer after you install the hotfix if the affected files are not being used at the time of installation. We recommend that you close all Visual Studio 2010-related components before you install the hotfix.

↑ Back to the top


Workaround

To work around this issue, use the /O1 (Minimize Size) optimization compiler option, or disable optimization by using /Od (Disable).

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


Keywords: kbautohotfix, kbqfe, kbhotfixserver, kbfix, kbsurveynew, kbexpertiseadvanced, kb

↑ Back to the top

Article Info
Article ID : 2969618
Revision : 1
Created on : 1/7/2017
Published on : 8/14/2014
Exists online : False
Views : 247