[all-commits] [llvm/llvm-project] 3eb12b: [WebAssembly] Warn on exception spec for Emscripte...

Heejin Ahn via All-commits all-commits at lists.llvm.org
Thu May 20 13:01:01 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3eb12b0ae11fe23dc06e55e526fb45e460f72f1e
      https://github.com/llvm/llvm-project/commit/3eb12b0ae11fe23dc06e55e526fb45e460f72f1e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2021-05-20 (Thu, 20 May 2021)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp

  Log Message:
  -----------
  [WebAssembly] Warn on exception spec for Emscripten EH

It turns out we have not correctly supported exception spec all along in
Emscripten EH. Emscripten EH supports `throw()` but not `throw` with
types. See https://bugs.llvm.org/show_bug.cgi?id=50396.

Wasm EH also only supports `throw()` but not `throw` with types, and we
have been printing a warning message for the latter. This prints the
same warning message for `throw` with types when Emscripten EH is used,
or more precisely, when Wasm EH is not used. (So this will print the
warning messsage even when `-fno-exceptions` is used but I think that
should be fine. It's cumbersome to do a complilcated option checking in
CGException.cpp and options checkings are mostly done in elsewhere.)

Reviewed By: dschuff, kripken

Differential Revision: https://reviews.llvm.org/D102791




More information about the All-commits mailing list