Skip to content

IntelliSense does not handle vector extension types #6890

Description

Type: LanguageService

Describe the bug

  • OS and Version: GNU/Linux 5.10.11-arch1-1 x86_64
  • VS Code Version: 1.52.1
  • C/C++ Extension Version: v1.0.1
  • Other extensions you installed (and if the issue persists after disabling them): N/A
  • Does this issue involve using SSH remote to run the extension on a remote machine?: No
  • A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).

SIMD vector extensions are not understood by IntelliSense, causing it to break whenever such types are used in code. This cannot be worked around because vector types uniquely can be treated as both primitives and array-likes.

Code to reproduce:

typedef float __m128 __attribute__(( vector_size( 16 ) ));

float foo( __m128 rgb )
{
	rgb *= 255;
	/* ... */
	return rgb[0];
}

Expected behavior

IntelliSense to correctly understand what a vector type is and not throw the following error:

mixed vector-scalar operation not allowed C/C++(1687)

Screenshots

Screenshot

Metadata

Metadata

Assignees

No one assigned

    Labels

    Language ServiceVisual StudioInherited from Visual StudiobugfixedCheck the Milestone for the release in which the fix is or will be available.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions