Summary: | nv50_ir.cpp:749:19: error: cannot use typeid with -fno-rtti | ||
---|---|---|---|
Product: | Mesa | Reporter: | Vinson Lee <vlee> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Vinson Lee
2019-01-01 01:16:06 UTC
You've either added -no-rtti or are using llvm built without rtti. I can make this a hard error. (In reply to Dylan Baker from comment #1) > You've either added -no-rtti or are using llvm built without rtti. I can > make this a hard error. Out of curiosity, how does the autotools build deal with this? Also, I think that this only comes up in one assert in nouveau, so when asserts are disabled (e.g. release builds), it wouldn't bring up a compile error. It would also be fine to add a #ifdef rtti + #warning or something (does one know in the source if rtti is enabled somehow?). I don't think that the compiler gives you any way to know, we'd have to pass some a #define ourselves. autotools just adds it to LLVM targets (radeonsi, llvmpipe, etc). That feels really dangerous to me though, as building with/without rtti changes the ABI and my understanding is that there's no requirement for code with rtti to correctly link with code not using rtti. Marking as FIXED since Dylan made it a meson error to do this: commit a2596450ac7330c8965c819491038fb1ad454333 Author: Dylan Baker <dylan@pnwbakers.com> Date: Mon Dec 31 19:23:52 2018 -0800 meson: Error out if building nouveau and using LLVM without rtti Nouveau requires rtti. Often LLVM is configured without rtti, and code with and without cannot be linked safely. Lets just error out if nouveau is requested and llvm is built without rtti. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109202 Fixes: c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4 ("meson: fix builds against LLVM built without rtti") Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.