summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ExecutionDepsFix.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2017-08-09 14:56:48 +0000
committerTim Northover <tnorthover@apple.com>2017-08-09 14:56:48 +0000
commit9710338a5699a48b26807693371d277b1acb3387 (patch)
treee97f8396124bb954de3a321dbc7ea61e95a5f0ca /llvm/lib/CodeGen/ExecutionDepsFix.cpp
parent922ca2345d29f3c6bd089afedbb06b7d88bd4d99 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud