Hash :
47cd0529
Author :
Date :
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>