head 1.1; branch 1.1.1; access; symbols netbsd-11-0-RC5:1.1.1.1 netbsd-11-0-RC4:1.1.1.1 netbsd-11-0-RC3:1.1.1.1 netbsd-11-0-RC2:1.1.1.1 netbsd-11-0-RC1:1.1.1.1 gcc-14-3-0:1.1.1.2 perseant-exfatfs-base-20250801:1.1.1.1 netbsd-11:1.1.1.1.0.10 netbsd-11-base:1.1.1.1 gcc-12-5-0:1.1.1.1 netbsd-10-1-RELEASE:1.1.1.1 perseant-exfatfs-base-20240630:1.1.1.1 gcc-12-4-0:1.1.1.1 perseant-exfatfs:1.1.1.1.0.8 perseant-exfatfs-base:1.1.1.1 netbsd-10-0-RELEASE:1.1.1.1 netbsd-10-0-RC6:1.1.1.1 netbsd-10-0-RC5:1.1.1.1 netbsd-10-0-RC4:1.1.1.1 netbsd-10-0-RC3:1.1.1.1 netbsd-10-0-RC2:1.1.1.1 netbsd-10-0-RC1:1.1.1.1 gcc-12-3-0:1.1.1.1 gcc-10-5-0:1.1.1.1 netbsd-10:1.1.1.1.0.6 netbsd-10-base:1.1.1.1 gcc-10-4-0:1.1.1.1 cjep_sun2x-base1:1.1.1.1 cjep_sun2x:1.1.1.1.0.4 cjep_sun2x-base:1.1.1.1 cjep_staticlib_x-base1:1.1.1.1 cjep_staticlib_x:1.1.1.1.0.2 cjep_staticlib_x-base:1.1.1.1 gcc-10-3-0:1.1.1.1 gcc-9-3-0:1.1.1.1 FSF:1.1.1; locks; strict; comment @# @; 1.1 date 2020.09.05.07.52.20; author mrg; state Exp; branches 1.1.1.1; next ; commitid ZRYA7IOuwfMjAPmC; 1.1.1.1 date 2020.09.05.07.52.20; author mrg; state Exp; branches; next 1.1.1.2; commitid ZRYA7IOuwfMjAPmC; 1.1.1.2 date 2025.09.13.23.45.58; author mrg; state Exp; branches; next ; commitid KwhwN4krNWa6XBaG; desc @@ 1.1 log @Initial revision @ text @" Vim syntax highlighting rules for GCC match-and-simplify language. " " Copyright (C) 2018 Free Software Foundation, Inc. " " This script is free software; you can redistribute it and/or modify " it under the terms of the GNU General Public License as published by " the Free Software Foundation; either version 3, or (at your option) " any later version if exists("b:current_syntax") finish endif " Some keywords have a question mark, e.g. 'convert?' setl isk=@@,48-57,_,? syn keyword pdTodo contained TODO FIXME XXX syn keyword pdCtrl match simplify syn keyword pdCtrl define_predicates define_operator_list syn keyword pdCtrl if switch for with syn keyword pdType type syn keyword pdOp view_convert view_convert? \ convert convert? convert1 convert2 convert1? convert2? \ realpart imagpart \ cond vec_cond vec_perm \ pointer_plus pointer_diff \ plus minus mult mult_highpart \ trunc_div ceil_div floor_div round_div \ trunc_mod ceil_mod floor_mod round_mod \ rdiv exact_div \ fix_trunc float negate min max abs absu \ lshift rshift lrotate rrotate \ bit_ior bit_xor bit_and bit_not \ truth_andif truth_orif truth_and \ truth_or truth_xor truth_not \ lt le gt ge eq ne unordered ordered \ unlt unle ungt unge uneq ltgt \ addr_space_convert fixed_convert \ bit_insert complex conj \ reduc_max reduc_min reduc_plus \ dot_prod widen_sum sad fma \ widen_mult widen_mult_plus widen_mult_minus widen_lshift \ vec_widen_mult_hi vec_widen_mult_lo \ vec_widen_mult_even vec_widen_mult_odd \ vec_unpack_hi vec_unpack_lo \ vec_unpack_float_hi vec_unpack_float_lo \ vec_pack_trunc vec_pack_sat vec_pack_fix_trunc \ vec_widen_lshift_hi vec_widen_lshift_lo " Match commutative/single-use specifiers: :C, :c, :s, :cs, etc. syn match pdOpSpec ":[CcSs]\+\>" syn match pdCapture "@@@@\?[a-zA-Z0-9_]\+" syn region pdComment start="/\*" end="\*/" contains=pdTodo syn region pdPreProc start="^\s*#" skip="\\$" end="$" keepend hi def link pdCtrl Statement hi def link pdType Identifier hi def link pdOp Constant hi def link pdOpSpec Operator hi def link pdCapture Special hi def link pdComment Comment hi def link pdTodo Todo hi def link pdPreProc PreProc let b:current_syntax = "gcc-match" @ 1.1.1.1 log @initial import of GCC 9.3.0. changes include: - live patching support - shell completion help - generally better diagnostic output (less verbose/more useful) - diagnostics and optimisation choices can be emitted in json - asan memory usage reduction - many general, and specific to switch, inter-procedure, profile and link-time optimisations. from the release notes: "Overall compile time of Firefox 66 and LibreOffice 6.2.3 on an 8-core machine was reduced by about 5% compared to GCC 8.3" - OpenMP 5.0 support - better spell-guesser - partial experimental support for c2x and c++2a - c++17 is no longer experimental - arm AAPCS GCC 6-8 structure passing bug fixed, may cause incompatibility (restored compat with GCC 5 and earlier.) - openrisc support @ text @@ 1.1.1.2 log @initial import of GCC 14.3.0. major changes in GCC 13: - improved sanitizer - zstd debug info compression - LTO improvements - SARIF based diagnostic support - new warnings: -Wxor-used-as-pow, -Wenum-int-mismatch, -Wself-move, -Wdangling-reference - many new -Wanalyzer* specific warnings - enhanced warnings: -Wpessimizing-move, -Wredundant-move - new attributes to mark file descriptors, c++23 "assume" - several C23 features added - several C++23 features added - many new features for Arm, x86, RISC-V major changes in GCC 14: - more strict C99 or newer support - ia64* marked deprecated (but seemingly still in GCC 15.) - several new hardening features - support for "hardbool", which can have user supplied values of true/false - explicit support for stack scrubbing upon function exit - better auto-vectorisation support - added clang-compatible __has_feature and __has_extension - more C23, including -std=c23 - several C++26 features added - better diagnostics in C++ templates - new warnings: -Wnrvo, Welaborated-enum-base - many new features for Arm, x86, RISC-V - possible ABI breaking change for SPARC64 and small structures with arrays of floats. @ text @d3 1 a3 1 " Copyright (C) 2018-2024 Free Software Foundation, Inc. @