Commit 47cd0529f1b37d2a7bdf382cb9870d3adda3d3cd

Kimmo Kinnunen 2024-03-04T15:19:30

Fix assert invoking #line during macro invocation Fix an assert with preprocessor content of form: f #line f() (x If the #line macro function invocation forms an invalid line number, the line directive parsing will stop and unwind the macro context stack. However, it did not do the state management related to unwinding the context: it left the f function marked as "disabled". Fix by managing the state in the unwind scenario. Also make MacroContext be allocated from the context stack vector instead of heap. Also fix all the define tests to expect a version directive call. Fixed: angleproject:8578 Change-Id: I31dbeb911b07779eebe28bf58f13cec8876aa982 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5342495 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>