aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net/URLClassLoader.java
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2022-10-24 17:39:55 -0400
committerNathan Sidwell <nathan@acm.org>2022-10-27 11:56:11 -0400
commitf7d1d7777bb86ad049f88214109fb561a741aa2c (patch)
tree82ece2eeb0a792f358dd7a0a57be1d4e85c90a57 /libjava/java/net/URLClassLoader.java
parentf95d3d5de72a1c43e8d529bad3ef59afc3214705 (diff)
downloadgcc-f7d1d7777bb86ad049f88214109fb561a741aa2c.zip
gcc-f7d1d7777bb86ad049f88214109fb561a741aa2c.tar.gz
gcc-f7d1d7777bb86ad049f88214109fb561a741aa2c.tar.bz2
c++: Templated lambda mangling
(Explicitly) Templated lambdas have a different signature to implicitly templated lambdas -- '[]<template T> (T) {}' is not the same as '[](auto) {}'. This should be reflected in the mangling. The ABI captures this as https://github.com/itanium-cxx-abi/cxx-abi/issues/31, and clang has implemented such additions. It's relatively straight forwards to write out the non-synthetic template parms, and note if we need to issue an ABI warning. gcc/cp/ * mangle.cc (write_closure_template_head): New. (write_closure_type_name): Call it. gcc/testsuite/ * g++.dg/abi/lambda-ctx1-18.C: Adjust. * g++.dg/abi/lambda-ctx1-18vs17.C: Adjust. * g++.dg/abi/lambda-tpl1-17.C: New. * g++.dg/abi/lambda-tpl1-18.C: New. * g++.dg/abi/lambda-tpl1-18vs17.C: New. * g++.dg/abi/lambda-tpl1.h: New.
Diffstat (limited to 'libjava/java/net/URLClassLoader.java')
0 files changed, 0 insertions, 0 deletions