Driver: convert a number of loops to range based

Iterate over the arguments via range based for loops rather than iterators and
explicitly dereferencing them.  NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224944 91177308-0d34-0410-b5e6-96231b3b80d8
Parse: Ignore '::' in 'struct :: {'

Let's pretend that we didn't see the '::' instead of go on believing
that we've got some anonymous, but globally qualified, struct.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224945 91177308-0d34-0410-b5e6-96231b3b80d8