Commit Graph

  • 95f5ec013f Look through DECL_ANON_UNION_VAR_P during reflection-name parsing. reflection Jakub Jelinek 2026-01-12 11:58:18 +01:00
  • 5bc0ec8129 Compare ARRAY_REF and COMPONENT_REF using cp_tree_equal Marek Polacek 2026-01-13 20:03:12 -05:00
  • 79f1e91cc9 Tweak compare_reflections Marek Polacek 2026-01-13 18:03:11 -05:00
  • 637f41dbb3 check_out_of_consteval_use: add comments Marek Polacek 2026-01-13 16:20:46 -05:00
  • d8140cda31 Remove code in check_out_of_consteval_use Marek Polacek 2026-01-13 12:13:45 -05:00
  • 6575c09895 Use walk_subtrees = 2 instead of separate walk Marek Polacek 2026-01-13 12:01:58 -05:00
  • 5ecb10598d Use cp_build_addr_expr instead of build_address Marek Polacek 2026-01-13 11:18:10 -05:00
  • 8abe9fca3c Print expressions in error messages Marek Polacek 2026-01-12 15:12:58 -05:00
  • e3016c2b34 Introduce complain_flags Marek Polacek 2026-01-12 14:14:36 -05:00
  • 9f22a26663 Resolve mangling TODO Marek Polacek 2026-01-12 11:58:52 -05:00
  • 51654bc016 Enable more testing Marek Polacek 2026-01-12 11:29:41 -05:00
  • 1b3541ac50 Use annotation_p Marek Polacek 2026-01-09 19:53:38 -05:00
  • c34da1bfe4 Remove early return in consteval_only_p Marek Polacek 2026-01-09 19:20:55 -05:00
  • 6dea0e4779 Remove comment Marek Polacek 2026-01-09 19:17:17 -05:00
  • 557648cd1b extract* comment fixes Marek Polacek 2026-01-09 19:03:51 -05:00
  • 38397145f2 Use DECL_MAYBE_DELETED Marek Polacek 2026-01-09 18:52:04 -05:00
  • 3bf5ff8da1 Use DECL_CLONED_FUNCTION_P Marek Polacek 2026-01-09 18:27:17 -05:00
  • 72fadb13da Remove a few strip_typedefs Marek Polacek 2026-01-09 14:02:49 -05:00
  • 0fb6ece9fa Use type_of in eval_bit_size_of even for FIELD_DECLs Marek Polacek 2026-01-09 13:03:45 -05:00
  • e1768101d0 Tweak what() for return_type_of Marek Polacek 2026-01-09 12:42:25 -05:00
  • 1921bd08d7 Uncomment tests in return_type_of1.C Marek Polacek 2026-01-09 11:39:38 -05:00
  • ac5556df0e Add comment to eval_variable_of Marek Polacek 2026-01-09 11:34:44 -05:00
  • a8635547d2 Use alias_template_specialization_p in eval_has_template_arguments Marek Polacek 2026-01-09 11:25:10 -05:00
  • 7982d483b5 Don't check DECL_CONV_FN_P in eval_is_override Marek Polacek 2026-01-09 09:58:04 -05:00
  • bf331fd22a Remove unneeded check in eval_constant_of Marek Polacek 2026-01-08 16:45:35 -05:00
  • e4aa93def3 Fix TODO in eval_object_of Marek Polacek 2026-01-08 16:09:38 -05:00
  • 3862920c26 Uncomment tests in storage_duration2.C Marek Polacek 2026-01-08 14:18:02 -05:00
  • 56e2c236d1 Introduce type_linkage_name Marek Polacek 2026-01-08 14:00:56 -05:00
  • cca09641c0 Improve eval_is_enumerator comment Marek Polacek 2026-01-08 12:59:52 -05:00
  • b3ee2b522e Use DECL_VIRTUAL_P in eval_is_override Marek Polacek 2026-01-08 12:56:26 -05:00
  • a8a62bf3fc Resolve all TEMPLATE_ID_EXPRs in get_reflection Marek Polacek 2026-01-08 10:56:11 -05:00
  • 5a54827502 Change int kind arguments to enum metafn_code kind and pass the METAFN_* codes. Jakub Jelinek 2026-01-08 15:38:40 +01:00
  • 9ddfa2559a Adjust error message Marek Polacek 2026-01-07 17:53:43 -05:00
  • cd9243f298 Check is_capture_proxy sooner Marek Polacek 2026-01-07 17:50:13 -05:00
  • b6bd6249bd Rewrite eval_exception__S_exception_cvt_{to,from}_utf8 into a single eval_exception__S_exception_cvt_tofrom_utf8 with extra to_utf8 argument. Jakub Jelinek 2026-01-07 14:44:00 +01:00
  • 967b4e8235 Introduce METAFN_KIND_SHIFT and METAFN_KIND_MASK, use it and rewrite process_metafunction start to use a loop for all 3 arguments. Update copyright years. Jakub Jelinek 2026-01-07 14:20:22 +01:00
  • f6a3ac7218 Fix a typo: manling -> mangling. Jakub Jelinek 2026-01-07 13:37:14 +01:00
  • 9f8f38bd57 Tweak comment in namespace_members_of. Jakub Jelinek 2026-01-07 13:33:29 +01:00
  • b01d0d7189 Merge VAR_DECL and FUNCTION_DECL cases in members_of_representable_p. Jakub Jelinek 2026-01-07 13:31:14 +01:00
  • 1cc58bbd7f Add extra comment to eval_access_context_current for inherited ctor handling. Jakub Jelinek 2026-01-07 13:25:27 +01:00
  • 91a2ab239d Move eval_is_implicit_lifetime_type earlier. Jakub Jelinek 2026-01-07 13:21:45 +01:00
  • 3e796d828e Swap TYPE_MAIN_VARIANT and strip_typedefs in eval_define_aggregate. Jakub Jelinek 2026-01-07 13:18:03 +01:00
  • dc0c617e97 Change diagnostics for cv-qualified first define_aggregate argument. Jakub Jelinek 2026-01-07 13:15:37 +01:00
  • 98cbbd7b53 Merge 2 separate throw_exception calls in can_substitute. Jakub Jelinek 2026-01-07 12:34:18 +01:00
  • a5c94b4653 Combine 2 ifs in eval_is_lrvalue_reference_qualified. Jakub Jelinek 2026-01-07 12:29:11 +01:00
  • ade2d7ca8b Move some strip_typedefs calls earlier. Jakub Jelinek 2026-01-07 11:51:08 +01:00
  • 29c610e1df Drop eval_is_type checks before calling eval_is_function_type. Jakub Jelinek 2026-01-07 11:37:57 +01:00
  • 16a7a7dd28 Remove annotations with erroneous types earlier. Jakub Jelinek 2026-01-07 11:07:59 +01:00
  • 97fb60db19 Change *display_string_of for direct base class relationships. Jakub Jelinek 2026-01-07 10:58:38 +01:00
  • bc94613edd Assorted tweaks to eval_alignment_of. Jakub Jelinek 2026-01-07 10:50:39 +01:00
  • 1cc3dae768 Use the same throw_exception calls for the !complete_type_or_maybe_complain and c_sizeof_or_alignof_type == error_mark_node cases, add metafn name. Jakub Jelinek 2026-01-07 10:37:17 +01:00
  • d8e45233dd Add comments explaining why no special casing of references is needed for *size_of. Jakub Jelinek 2026-01-07 10:31:56 +01:00
  • b8d7f79a11 Use type_of in eval_size_of even for FIELD_DECLs. Jakub Jelinek 2026-01-07 10:23:50 +01:00
  • eb4569e1d0 offset -> offset_of in std::meta::exception argument from eval_offset_of Jakub Jelinek 2026-01-07 10:13:32 +01:00
  • 37d7a5eb20 Add missing parameter name to variable_of function comment. Jakub Jelinek 2026-01-07 10:01:54 +01:00
  • 5e8852ca21 Pass loc rather than location_of etc. to get_reflection_raw calls. Jakub Jelinek 2026-01-07 10:00:27 +01:00
  • b40cb058be Small simplification for eval_is_noexcept. Jakub Jelinek 2026-01-07 10:00:04 +01:00
  • c4ad08c045 Move get_vector_info function definition before use. Jakub Jelinek 2026-01-07 09:27:53 +01:00
  • 44d49d05a5 Move info(^^int) handling in cxx_eval_constant_expression Marek Polacek 2026-01-06 15:52:35 -05:00
  • cd96edc08d Initialize std_meta_node in init_reflection Marek Polacek 2026-01-06 15:44:27 -05:00
  • d08fb83ec6 Don't try to instantiate REFLECT_EXPR_HANDLE of REFLECT_ANNOTATION REFLECT_EXPR. Jakub Jelinek 2026-01-03 16:18:48 +01:00
  • 34e0841e21 Export build_stub_type and use it in reflect.cc where needed. Jakub Jelinek 2025-12-29 14:31:26 +01:00
  • 59af6f1796 Avoid doing any extra handling for remaining DECL_Ps or OVL_Ps, just use an assertion what can come up. Jakub Jelinek 2025-12-29 14:19:37 +01:00
  • c6b5bd5100 Add direct_base_parent{_binfo,} helpers. Jakub Jelinek 2025-12-29 13:42:54 +01:00
  • 0d361404b7 Change eval_has_c_language_linkage to accept any non-lk_none linkage rather than only lk_external for DECL_LANGUAGE test. Jakub Jelinek 2025-12-18 14:27:53 +01:00
  • b7aed3618d Remove strip_typedefs call from eval_is_complete_type. Jakub Jelinek 2025-12-18 14:03:34 +01:00
  • 236edbbf4f Don't uselessly call STRIP_TEMPLATE in eval_is_operator_function. Jakub Jelinek 2025-12-17 20:18:13 +01:00
  • 13053b0d0f c++: Make std::meta::operator_of() accept operator function templates [PR122771] Eczbek 2025-12-17 20:03:30 +01:00
  • 46a06ed9b9 Rename temp_string_literal to get_string_literal, tweak its function comment. Jakub Jelinek 2025-12-17 19:48:13 +01:00
  • 98dc84243e Use maybe_get_reflection_fndecl in eval_is_function. Jakub Jelinek 2025-12-17 19:19:55 +01:00
  • 0646efcf02 If std::ranges::data or std::ranges::size are not variable templates, emit error Jakub Jelinek 2025-12-17 19:15:15 +01:00
  • 4eb05609fa Simplify string literal type check. Jakub Jelinek 2025-12-17 18:57:41 +01:00
  • 6c6a9994f9 Adjust some diagnostic messages from get_range_elts. Jakub Jelinek 2025-12-17 18:46:50 +01:00
  • da49fa7a11 Get rid of fail_ret in get_range_elts and return NULL_TREE; in more places. Jakub Jelinek 2025-12-17 17:37:53 +01:00
  • 441efa2374 Get rid of vector_identifier. Jakub Jelinek 2025-12-17 17:24:20 +01:00
  • e3eba5a463 Accept all of int, long and long long in 130/131 mangling, not just long. Jakub Jelinek 2025-12-17 16:53:13 +01:00
  • 9441f4a0eb Fix extract1.C with -m32 Marek Polacek 2025-12-17 10:29:07 -05:00
  • 9a6fabd3e8 Fix comparison of COMPONENT_REFs Marek Polacek 2025-12-16 12:17:10 -05:00
  • a5db46c5e6 Remove unneeded initializer. Jakub Jelinek 2025-12-16 09:51:17 +01:00
  • 1d72bef8aa Fix FIXME in extract1.C Marek Polacek 2025-12-15 18:55:03 -05:00
  • c5798790c8 Fix is_noexcept crash Marek Polacek 2025-12-15 17:21:45 -05:00
  • 39c4c97dbf Rework consteval-only type cheking Marek Polacek 2025-12-15 16:15:55 -05:00
  • cdd1ebb14a Throw exception for direct base class relationship in can_substitute. Jakub Jelinek 2025-12-15 16:43:35 +01:00
  • f7deaf83cd Clear parser->context->object_type instead of just temporarily clear it, Jakub Jelinek 2025-12-13 12:52:54 +01:00
  • fdd8afa789 Fix further 4 static_asserts in member19.C. Jakub Jelinek 2025-12-13 11:59:07 +01:00
  • 0ab8b96753 Fix another TODO in member19.C. Jakub Jelinek 2025-12-13 11:33:41 +01:00
  • cc497bc0e8 Don't pass member_access_p to cp_parser_splice_specifier Marek Polacek 2025-12-12 15:51:12 -05:00
  • d8655c0b94 Another test for function template splicing. Jakub Jelinek 2025-12-12 16:21:08 +01:00
  • ffa35187b3 Check the return value of tsubst_expr Marek Polacek 2025-12-12 09:54:26 -05:00
  • d0de6c58cd Further splice member access tests for static member variable templates. Jakub Jelinek 2025-12-12 15:41:47 +01:00
  • 63f96f2c50 Clear parser->scope Marek Polacek 2025-12-12 08:56:27 -05:00
  • 71c5b2f6b7 Fix TODO in extract1.C Marek Polacek 2025-12-11 16:58:16 -05:00
  • df82e9f567 Fix 2 TODOs in member19.C. Jakub Jelinek 2025-12-11 19:29:43 +01:00
  • 58f99cb8f7 Fix up remaining TODOs in member18.C. Jakub Jelinek 2025-12-11 17:35:13 +01:00
  • 9b5b0d34b2 Handle splice_p for TEMPLATE_ID_EXPR in finish_class_member_access_expr. Jakub Jelinek 2025-12-11 16:56:52 +01:00
  • 656224533d Don't add new param to cp_parser_type_id Marek Polacek 2025-12-11 11:02:05 -05:00
  • 0c83e5ecec Fix up splice_p default for finish_class_member_access_expr. Jakub Jelinek 2025-12-11 16:41:06 +01:00
  • 0c3e476644 A new testcase with some TODOs. Jakub Jelinek 2025-12-11 11:59:03 +01:00
  • 0881f7d1c8 Fix another 8 TODOs in member18.C. Jakub Jelinek 2025-12-11 10:51:05 +01:00
  • 375d86bcff Amend SPLICE_EXPR_EXPRESSION_P comment Marek Polacek 2025-12-10 15:06:42 -05:00