<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59353>59353</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            `flang` build not enforcing style guidelines
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ocaisa
      </td>
    </tr>
</table>

<pre>
    Full discussion at https://discourse.llvm.org/t/compiling-with-flang-new/66808/16

Summary is that when setting `-DLLVM_REQUIRES_RTTI=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_EH=ON` with a flang project build, this requires an additonal link step to actually use `flang-new`:
```
flang-new -flang-experimental-exec hello.f90 -lc++
``` 
It was suggested that `LLVM_ENABLE_EH` is the probably the main issue because it needs library support.

In the flang style guidelines `flang/docs/C++style.md`:

> 1. Never throw or catch exceptions.
> 2. Never use run-time type information or dynamic_cast<>.
 
Likely these prohibitions should be enforced in the CMakefile for the runtime.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U01v5DYM_TXyhbChkWc88cGHTTJGA2RTNLvtNZBl2mYjS64-djL_vpA9mzRFCwgySJH0e4-k9J5Gg9iwwy073Gcyhsm6xipJXmad7S9NG7WGnryK3pM1IANMISyelV-YaJlo05uNzmOh9Y-5sG5kog1MtMrOC2kyY36mMOWDlmbMDZ6ZaKvqht8w0e4qxu8Z_7Ld3-I8S3cB8hAmGeA8oQGPIZAZgVU8v398_OPry_Ppt98fnk_fXp6_f39g5f2vT3B9OT19uX08_a__9MvqZRWHhAgkrJhgcfZPVAG6SLpn4g7CRB4c_hXJoQdpQPY9BWukBk3mFXzABYIFqUKUWl8gekwAPyhWPOmzcav49azmewxcFcG3BR3NaILUOb6hggm1tsVQc8i1YuI2nc-lYLMfApylBx_HEX3AfpONVfxfrCu-aYqJaic7fVmNWZIB8j4idKhkIkEBDGLvQVPnUi98XBbrQvHPPj2YNX0Tz4eLRhgj9ajJoH_XIY2GVZ6J9m7jsEYWc_9JnO0uT7Ar4Al_oIMwOXsG60DJoCbAN4VLIGt88REsfgYnzC6aPNCMEC4LApnBulmmjFSkvxg5k3pR0gdW3rHydC1zlfCRXnGTw6_qTNTR-jfwk426hw4BU0mFPdBG_O6rfMWBNMJg3epx0SQERdY3ZV-Xtcyw2VVHXu6O5Y3IpmYoh73kx7JXCtX-ZqiEGvC4E12HQ9Ud64wawYXYCV7xmotDXdQccV8JVe9LhYof2J7jLEm_b1m2dq451OWhzLTsUPufa-yaFJR3cfRszzX54D_SAgWNzXuXKr7NPRgbrkzpP9qaRaebz4s_UphiVyg7M9Gm8tdPft0nJtoVYhqBFeXfAQAA__8B_23l">