LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 21854 - [fuzz] Assertion `!Old || Old->getCachedLinkage() == D->getCachedLinkage()' failed.
Summary: [fuzz] Assertion `!Old || Old->getCachedLinkage() == D->getCachedLinkage()' f...
Status: NEW
Alias: None
Product: clang
Classification: Unclassified
Component: -New Bugs (show other bugs)
Version: trunk
Hardware: PC Linux
: P normal
Assignee: Unassigned Clang Bugs
URL:
Keywords:
Depends on:
Blocks: 23057
  Show dependency tree
 
Reported: 2014-12-10 15:57 PST by Sami Liedes
Modified: 2015-07-13 11:51 PDT (History)
4 users (show)

See Also:
Fixed By Commit(s):


Attachments
test case (65 bytes, text/x-c++src)
2014-12-10 15:57 PST, Sami Liedes
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sami Liedes 2014-12-10 15:57:45 PST
Created attachment 13495 [details]
test case

Fuzzing discovered that the attached test case, when given as input to

  clang -fno-crash-diagnostics -std=c++11 -xc++ -c -emit-llvm

causes this assertion failure:

clang-3.6: tools/clang/lib/AST/Decl.cpp:1338: static clang::LinkageInfo clang::LinkageComputer::getLVForDecl(const clang::NamedDecl *, LVComputationKind): Assertion `!Old || Old->getCachedLinkage() == D->getCachedLinkage()' failed.
Comment 1 David Majnemer 2014-12-13 06:38:04 PST
sensible testcase:
void tpl_mem() {
  class A {
    void f();
  };
  void A::f();
  void f();
}