Skip to content

clang crashes in DefineImplicitMoveAssignment since r138821 #11194

@llvmbot

Description

@llvmbot
Bugzilla Link 10822
Resolution FIXED
Resolved on Sep 01, 2011 06:50
Version trunk
OS Windows NT
Reporter LLVM Bugzilla Contributor
CC @DougGregor,@efriedma-quic

Extended Description

on Windows 7, given crash.cpp:

struct A {
unsigned var[1];
} ;

A foo(A);

void crash()
{
A tmp;
tmp = foo(tmp);
}

clang -std=c++0x crash.cpp

pruned stack dump:

  1. Program arguments: clang -cc1 -std=c++0x crash.cpp
  2. crash.cpp:12:17: current parser token ';'
  3. crash.cpp:10:1: parsing function body 'crash'
  4. crash.cpp:10:1: in compound statement ('{}')
    clang::Expr::isTypeDependent()
    clang::Expr::hasAnyTypeDependentArguments()
    clang::Sema::ActOnCallExpr()
    clang::Sema::DefineImplicitMoveAssignment()
    clang::Sema::MarkDeclarationReferenced()
    clang::Sema::CreateOverloadedBinOp()
    clang::Sema::BuildBinOp()
    clang::Sema::ActOnBinOp()
    clang::Parser::ParseRHSOfBinaryExpression()
    clang::Parser::ParseAssignmentExpression()
    clang::Parser::ParseExpression()
    clang::Parser::ParseExprStatement()
    clang::Parser::ParseStatementOrDeclaration()
    clang::Parser::ParseCompoundStatementBody()
    clang::Parser::ParseFunctionStatementBody()
    clang::Parser::ParseFunctionDefinition()
    clang::Parser::ParseDeclGroup()
    clang::Parser::ParseDeclarationOrFunctionDefinition()
    clang::Parser::ParseDeclarationOrFunctionDefinition()
    clang::Parser::ParseExternalDeclaration()
    clang::Parser::ParseTopLevelDecl()
    clang::ParseAST()

===

changing
unsigned var[1];
to
unsigned var;
fixes the crash.

This problem is currently blocking my testing of clang on MFC code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillac++11

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions