How to List SYNONYMS that no longer point to a valid object?
You can query the ALL_OBJECTS view for object_type = 'SYNONYM' and status != 'VALID'.
However all_objects status is set based on the status of the object that it is referring to. Synonyms, which aren't automatically invalidated if the underlying table disappears. So the STATUS column of ALL_OBJECTS is not reliable to use.

Try using this query:

SELECT obj.owner, obj.object_type, syn.synonym_name, tab.table_name
    FROM objects_to_update obj 
        INNER JOIN all_synonyms syn 
            ON obj.object_name = syn.synonym_name 
        INNER JOIN all_tables tab 
            ON  tab.table_name = syn.table_name 
            AND tab.owner = syn.table_owner 
    WHERE obj.object_type = 'SYNONYM' ;