Nicholas Bishop
0482b27c6b
Support more types in MapConstantToAPValue by refactoring code out of ConvertArgToTemplateArg ( #6923 )
...
This doesn't change any of the current tests, but will be useful for
calling constexpr functions with bool/float params.
2026-03-18 16:11:42 +00:00
Nicholas Bishop
943cd41924
Support constexpr pointers ( #6907 )
...
This moves the LValue path code from macros.cpp to constant.cpp, so that
it can be called from `MapAPValueToConstant`. TODO messages are updated
accordingly to avoid referring to macros. Added a constexpr pointer test
to `constexpr.carbon` to show the result of this change.
2026-03-16 19:19:20 +00:00
Nicholas Bishop
c1fd771242
Support calling constexpr functions at compile time ( #6878 )
...
Example:
```carbon
import Cpp inline '''
constexpr int f(int a, int b) { return a + b; }
''';
let a: array(i32, Cpp.f(1, 2)) = (1, 2, 3);
```
2026-03-12 01:45:31 +00:00
Nicholas Bishop
f210f4ab04
Add initial support for importing C++ constexprs as Carbon constants ( #6770 )
...
This allows a C++ constexpr to be used as an argument to a non-type
template parameter.
https://github.com/carbon-language/carbon-lang/issues/6717
2026-02-24 20:59:24 +00:00