diff options
author | Tim Northover <tnorthover@apple.com> | 2017-08-09 14:56:48 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2017-08-09 14:56:48 +0000 |
commit | 9710338a5699a48b26807693371d277b1acb3387 (patch) | |
tree | e97f8396124bb954de3a321dbc7ea61e95a5f0ca /llvm/lib/CodeGen/ExecutionDepsFix.cpp | |
parent | 922ca2345d29f3c6bd089afedbb06b7d88bd4d99 (diff) | |
download | bcm5719-llvm-9710338a5699a48b26807693371d277b1acb3387.tar.gz bcm5719-llvm-9710338a5699a48b26807693371d277b1acb3387.zip |
Reapply Sema: allow imaginary constants via GNU extension if UDL overloads not present.
C++14 added user-defined literal support for complex numbers so that you
can write something like "complex<double> val = 2i". However, there is
an existing GNU extension supporting this syntax and interpreting the
result as a _Complex type.
This changes parsing so that such literals are interpreted in terms of
C++14's operators if an overload is present but otherwise falls back to
the original GNU extension.
(We now have more robust diagnostics for implicit conversions so the
libc++ test that caused the original revert still passes).
llvm-svn: 310478
Diffstat (limited to 'llvm/lib/CodeGen/ExecutionDepsFix.cpp')
0 files changed, 0 insertions, 0 deletions