[LLVMbugs] [Bug 11594] New: Assertion `!E->isArrow() && "missing call to bound member function?"' failed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Dec 16 01:08:47 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=11594

             Bug #: 11594
           Summary: Assertion `!E->isArrow() && "missing call to bound
                    member function?"' failed
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Frontend
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: glider at google.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


I'm using Clang r146725
==============================
$ cat test.c
typedef char uint8_t;
      struct UConverter {
      int8_t preFromULength;
  };
  void _fromUnicodeWithCallback() {
      UConverter *cnv;
      uint16_t replay[19];
      p=replay-cnv->preFromULength;
==============================

$ clang -c test.c

test.c:3:7: error: unknown type name 'int8_t'; did you mean 'uint8_t'?
      int8_t preFromULength;
      ^~~~~~
      uint8_t
test.c:1:14: note: 'uint8_t' declared here
typedef char uint8_t;
             ^
test.c:6:7: error: must use 'struct' tag to refer to type 'UConverter'
      UConverter *cnv;
      ^
      struct 
test.c:7:7: error: unknown type name 'uint16_t'; did you mean 'uint8_t'?
      uint16_t replay[19];
      ^~~~~~~~
      uint8_t
test.c:1:14: note: 'uint8_t' declared here
typedef char uint8_t;
             ^
test.c:8:7: error: use of undeclared identifier 'p'
      p=replay-cnv->preFromULength;
      ^
clang:
/usr/local/google/asan/asan-llvm-trunk/llvm/tools/clang/lib/AST/ExprConstant.cpp:1888:
RetTy<unnamed>::ExprEvaluatorBase<Derived, RetTy>::VisitMemberExpr(const
clang::MemberExpr*) [with Derived = <unnamed>::IntExprEvaluator, RetTy = bool]:
Assertion `!E->isArrow() && "missing call to bound member function?"' failed.
0  clang           0x0000000001dc0f4f
1  clang           0x0000000001dc31c2
2  libpthread.so.0 0x00007fb4cb82a8f0
3  libc.so.6       0x00007fb4cab19a75 gsignal + 53
4  libc.so.6       0x00007fb4cab1d5c0 abort + 384
5  libc.so.6       0x00007fb4cab12941 __assert_fail + 241
6  clang           0x00000000010c34ae
7  clang           0x00000000010cbe24
8  clang           0x00000000010c2384
9  clang           0x00000000010cac39
10 clang           0x00000000010d1d68
11 clang           0x00000000010d2d49
clang::Expr::EvaluateAsRValue(clang::Expr::EvalResult&, clang::ASTContext
const&) const + 233
12 clang           0x00000000010d32b6 clang::Expr::EvaluateAsInt(llvm::APSInt&,
clang::ASTContext const&) const + 70
13 clang           0x0000000000a454e0 clang::Sema::CheckArrayAccess(clang::Expr
const*, clang::Expr const*, clang::ArraySubscriptExpr const*, bool) + 224
14 clang           0x0000000000b3933a
clang::Sema::CheckSubtractionOperands(clang::ActionResult<clang::Expr*, true>&,
clang::ActionResult<clang::Expr*, true>&, clang::SourceLocation,
clang::QualType*) + 762
15 clang           0x0000000000b58a13
clang::Sema::CreateBuiltinBinOp(clang::SourceLocation,
clang::BinaryOperatorKind, clang::Expr*, clang::Expr*) + 1827
16 clang           0x0000000000b59153 clang::Sema::BuildBinOp(clang::Scope*,
clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*) +
355
17 clang           0x0000000000b593b6 clang::Sema::ActOnBinOp(clang::Scope*,
clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*) + 278
18 clang           0x00000000009f28c4
clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*,
true>, clang::prec::Level) + 708
19 clang           0x00000000009f2a9c
clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*,
true>, clang::prec::Level) + 1180
20 clang           0x00000000009f33af
clang::Parser::ParseAssignmentExpression() + 47
21 clang           0x00000000009f4179 clang::Parser::ParseExpression() + 9
22 clang           0x00000000009b3cc3
clang::Parser::ParseExprStatement(clang::ParsedAttributes&) + 83
23 clang           0x00000000009b20bb
clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*,
32u>&, bool) + 2219
24 clang           0x00000000009af6df
clang::Parser::ParseCompoundStatementBody(bool) + 1791
25 clang           0x00000000009afce8
clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) + 168
26 clang           0x00000000009c514a
clang::Parser::ParseFunctionDefinition(clang::Parser::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&) + 2154
27 clang           0x00000000009d6578
clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int,
bool, clang::SourceLocation*, clang::Parser::ForRangeInit*) + 2504
28 clang           0x00000000009c253d
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&,
clang::AccessSpecifier) + 157
29 clang           0x00000000009c2a96
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&,
clang::AccessSpecifier) + 742
30 clang           0x00000000009c8510
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::Parser::ParsingDeclSpec*) + 2304
31 clang           0x00000000009c89b0
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 160
32 clang           0x000000000099faa5 clang::ParseAST(clang::Sema&, bool) + 293
33 clang           0x000000000084d644 clang::CodeGenAction::ExecuteAction() +
68
34 clang           0x00000000006f8115
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 373
35 clang           0x00000000006e0709
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1401
36 clang           0x00000000006d694c cc1_main(char const**, char const**, char
const*, void*) + 812
37 clang           0x00000000006df4d7 main + 7191
38 libc.so.6       0x00007fb4cab04c4d __libc_start_main + 253
39 clang           0x00000000006d4529
Stack dump:
0.    Program arguments:
/usr/local/google/chrome-asan/src/third_party/asan/asan_clang_Linux/bin/clang
-cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free
-main-file-name test.c -mrelocation-model static -mdisable-fp-elim
-masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64
-target-linker-version 2.20.1 -momit-leaf-frame-pointer -coverage-file test.o
-resource-dir
/usr/local/google/chrome-asan/src/third_party/asan/asan_clang_Linux/bin/../lib/clang/3.1
-fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem
/usr/local/include -internal-isystem
/usr/local/google/chrome-asan/src/third_party/asan/asan_clang_Linux/bin/../lib/clang/3.1/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include
-fdebug-compilation-dir /usr/local/google/chrome-asan/src -ferror-limit 19
-fmessage-length 249 -mstackrealign -fgnu-runtime -fobjc-runtime-has-arc
-fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option
-fcolor-diagnostics -o test.o -x c test.c 
1.    test.c:8:35: current parser token ';'
2.    test.c:5:35: parsing function body '_fromUnicodeWithCallback'
3.    test.c:5:35: in compound statement ('{}')
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang: note: diagnostic msg: Please submit a bug report to
http://llvm.org/bugs/ and include command line arguments and all diagnostic
information.
clang: note: diagnostic msg: Preprocessed source(s) and associated run
script(s) are located at:
clang: note: diagnostic msg: /tmp/test-PCTQJb.i
clang: note: diagnostic msg: /tmp/test-PCTQJb.sh

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list