In a C macro, is it possible to capitalize a pasted-in token? For example, I currently have the following macro:

#define TEST(name, keyword) \
    test_##name:
        TEST_##keyword##_KEYWORD

I would invoke this as follows:

TEST(test1, TEST1)

which would yield the following:

test_test1:
    TEST_TEST1_KEYWORD

Now, instead of having to type the same name twice (once with all lower case characters, and again with all upper case characters), is there any way that I could do either of the following, and either change the token into all uppercase letters or all lowercase letters?

TEST(test1) or TEST(TEST1)

Thanks, Ryan

Edit
Report