Logo
Explore Help
Register Sign In
OpenHarmony/third_party_mesa3d
2
0
Fork 0
You've already forked third_party_mesa3d
Code Issues Pull Requests Actions Packages Projects Releases Wiki Activity
Files
6f510a49d2f3271432844d6b7e2bfe459b2126d4
third_party_mesa3d/glcpp/tests/027-define-chain-obj-to-func.c

4 lines
52 B
C
Raw Normal View History

Add several tests where the defined value of a macro is (or looks like) a macro Many of these look quite similar to existing tests that are handled correctly, yet none of these work. For example, in test 30 we have a simple non-function macro "foo" that is defined as "bar(baz(success))" and obviously non-function macro expansion has been working for a long time. Similarly, if we had text of "bar(baz(success))" it would be expanded correctly as well. But when this otherwise functioning text appears as the body of a macro, things don't work at all. This is pointing out a fundamental problem with the current approach. The current code does a recursive expansion of a macro definition, but this doesn't involve the parsing machinery, so it can't actually handle things like an arbitrary nesting of parentheses. The fix will require the parser to stuff macro values back into the lexer to get at all of the existing machinery when expanding macros.
2010-05-17 13:33:10 -07:00
#define failure() success
#define foo failure()
foo
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.24.6 Page: 48ms Template: 1ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API