Skip to content

For MSVC no exceptions builds do not use _CPPUNWIND #48

Open

Description

@DBJDBJ

nonstd-lite/expected-lite#27 (comment)

Just a friendly "single place" reminder for all nonstd projects

Activity

  1. martinmoene commented on Nov 15, 2020

    @martinmoene
    Collaborator

    Replace

    # if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)
    

    with

    # if _MSC_VER
    #  include <vcruntime.h>  // for _HAS_EXCEPTIONS
    # endif
    # if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || (_HAS_EXCEPTIONS)
    

    Plan:

    • Update releases below:
    • any-lite -xxx
    • atomic-lite (being developed)
    • bit-lite (NA)
    • boolean-lite (NA)
    • byte-lite (NA)
    • expected-lite - xxx/v0.6.0
    • invoke-lite (NA)
    • observer-ptr-lite (NA)
    • optional-bare - xxx
    • optional-fun-lite (NA)
    • optional-lite - xxx/v3.4.0
    • ring-span-lite (NA)
    • scope-lite (NA)
    • span-lite - xxx/v0.9.0
    • status-value-lite - xxx
    • string-view-lite - xxx/v1.7.0
    • type-lite (NA)
    • value-ptr-lite - xxx
    • variant-lite - xxx/v2.1.0
  2. DBJDBJ commented on Nov 15, 2020

    @DBJDBJ
    Author

    Thanks, @martinmoene , great :)

    Over here is my unfinished result on the subject of MS STL and /kernel.

    Kind regards

  3. martinmoene commented on Nov 15, 2020

    @martinmoene
    Collaborator

    Thanks

    Will need some time to further the exceptional behaviour. Likely want to make it configurable under Windows to either use assert() or SEH.

    Kind regards

  4. DBJDBJ commented on Nov 15, 2020

    @DBJDBJ
    Author

    Good, you made that decision,

    SEH is intrinsic to Windows, thus your future customers, Windows teams using that /kernel switch will very likely expect nonstd to raise one or few Structured Exception.

    Thanks ...

    ps: since my readme.md over there is atrocious. I need to simplify it. I don't understand it myself.

  5. 2 remaining items

  6. DBJDBJ commented on Nov 29, 2020

    @DBJDBJ
    Author

    Will need some time to further the exceptional behavior. Likely want to make it configurable under Windows to either use assert() or SEH.

    Well, the "fail fast" movement is certainly raising ... And any of the three (compilers) is here to oblige ...

    ps: the side issue -- is this not a great real-life example of why sometimes single include file policy fails :) I mean no disrespect but now you need to travel around repositories and change things, instead of having one common header (single place) where one could change this kind of top-level issues. I am going back to the "single top-level set of headers" model. Ugh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions