title: Can you capitalize a pasted token in a macro?
body: <p>In a C macro, is it possible to capitalize a pasted-in token?  For example, I currently have the following macro:</p>
  
  <pre><code>#define TEST(name, keyword) \
      test_##name:
          TEST_##keyword##_KEYWORD
  </code></pre>
  
  <p>I would invoke this as follows:</p>
  
  <pre><code>TEST(test1, TEST1)
  </code></pre>
  
  <p>which would yield the following:</p>
  
  <pre><code>test_test1:
      TEST_TEST1_KEYWORD
  </code></pre>
  
  <p>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?</p>
  
  <pre><code>TEST(test1) or TEST(TEST1)
  </code></pre>
  
  <p>Thanks,
  Ryan</p>